diff --git a/.env.template b/.env.template index 97864b0cd..6444697dc 100644 --- a/.env.template +++ b/.env.template @@ -2,7 +2,7 @@ # options=[hardhat, polygon, mumbai, goerli] NETWORK="hardhat" VERIFY_CONTRACTS=false -PROD=true +PROD_NETWORK_ID=0 ## Etherscan explorer API config ETHERSCAN_API_KEY="" diff --git a/.gitignore b/.gitignore index ab8ae0b30..81b297f19 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ node_modules .idea package-lock.json .yarnclean +yarn-error.log .vscode .env .prettierrc @@ -10,13 +11,7 @@ package-lock.json contract-address-local.json dist -#Coverage files -coverage - #Hardhat files cache artifacts .openzeppelin - -# Py -Pipfile.lock \ No newline at end of file diff --git a/.soliumignore b/.soliumignore deleted file mode 100644 index 15c47afcc..000000000 --- a/.soliumignore +++ /dev/null @@ -1,2 +0,0 @@ -node_modules -contracts/Migrations.sol diff --git a/.soliumrc.json b/.soliumrc.json deleted file mode 100644 index 8fe68912e..000000000 --- a/.soliumrc.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "extends": "solium:recommended", - "plugins": [ - "security" - ], - "rules": { - "quotes": [ - "error", - "double" - ], - "indentation": [ - "error", - 4 - ], - "linebreak-style": [ - "error", - "unix" - ] - } -} \ No newline at end of file diff --git a/Pipfile b/Pipfile deleted file mode 100644 index b54e6cbda..000000000 --- a/Pipfile +++ /dev/null @@ -1,14 +0,0 @@ -[[source]] -url = "https://pypi.org/simple" -verify_ssl = true -name = "pypi" - -[packages] -slither = "*" -install = "*" -slither-analyzer = "*" - -[dev-packages] - -[requires] -python_version = "3.9" diff --git a/Pipfile.lock b/Pipfile.lock deleted file mode 100644 index 860557a19..000000000 --- a/Pipfile.lock +++ /dev/null @@ -1,93 +0,0 @@ -{ - "_meta": { - "hash": { - "sha256": "e28f0af603adc0369440b298fe590b6a1c1763c4026d459202c187e1fc6029e2" - }, - "pipfile-spec": 6, - "requires": { - "python_version": "3.9" - }, - "sources": [ - { - "name": "pypi", - "url": "https://pypi.org/simple", - "verify_ssl": true - } - ] - }, - "default": { - "crytic-compile": { - "hashes": [ - "sha256:2ef20a29026a3e7d73e1262f4330614bab18a0083f612dafe3780127bb4d625a", - "sha256:926742306c4d188b4fdbf07abcfeb7525a82c11da11185aa53d845f257a6bb9a" - ], - "markers": "python_version >= '3.6'", - "version": "==0.2.4" - }, - "install": { - "hashes": [ - "sha256:0d3fadf4aa62c95efe8d34757c8507eb46177f86c016c21c6551eafc6a53d5a9", - "sha256:e67c8a0be5ccf8cb4ffa17d090f3a61b6e820e6a7e21cd1d2c0f7bc59b18e647" - ], - "index": "pypi", - "version": "==1.3.5" - }, - "prettytable": { - "hashes": [ - "sha256:52f682ba4efe29dccb38ff0fe5bac8a23007d0780ff92a8b85af64bc4fc74d72", - "sha256:fe391c3b545800028edf5dbb6a5360893feb398367fcc1cf8d7a5b29ce5c59a1" - ], - "markers": "python_version >= '3.7'", - "version": "==3.5.0" - }, - "pysha3": { - "hashes": [ - "sha256:0060a66be16665d90c432f55a0ba1f6480590cfb7d2ad389e688a399183474f0", - "sha256:11a2ba7a2e1d9669d0052fc8fb30f5661caed5512586ecbeeaf6bf9478ab5c48", - "sha256:386998ee83e313b6911327174e088021f9f2061cbfa1651b97629b761e9ef5c4", - "sha256:41be70b06c8775a9e4d4eeb52f2f6a3f356f17539a54eac61f43a29e42fd453d", - "sha256:4416f16b0f1605c25f627966f76873e432971824778b369bd9ce1bb63d6566d9", - "sha256:571a246308a7b63f15f5aa9651f99cf30f2a6acba18eddf28f1510935968b603", - "sha256:59111c08b8f34495575d12e5f2ce3bafb98bea470bc81e70c8b6df99aef0dd2f", - "sha256:5ec8da7c5c70a53b5fa99094af3ba8d343955b212bc346a0d25f6ff75853999f", - "sha256:684cb01d87ed6ff466c135f1c83e7e4042d0fc668fa20619f581e6add1d38d77", - "sha256:68c3a60a39f9179b263d29e221c1bd6e01353178b14323c39cc70593c30f21c5", - "sha256:6e6a84efb7856f5d760ee55cd2b446972cb7b835676065f6c4f694913ea8f8d9", - "sha256:827b308dc025efe9b6b7bae36c2e09ed0118a81f792d888548188e97b9bf9a3d", - "sha256:93abd775dac570cb9951c4e423bcb2bc6303a9d1dc0dc2b7afa2dd401d195b24", - "sha256:9c778fa8b161dc9348dc5cc361e94d54aa5ff18413788f4641f6600d4893a608", - "sha256:9fdd28884c5d0b4edfed269b12badfa07f1c89dbc5c9c66dd279833894a9896b", - "sha256:c7c2adcc43836223680ebdf91f1d3373543dc32747c182c8ca2e02d1b69ce030", - "sha256:c93a2676e6588abcfaecb73eb14485c81c63b94fca2000a811a7b4fb5937b8e8", - "sha256:cd5c961b603bd2e6c2b5ef9976f3238a561c58569945d4165efb9b9383b050ef", - "sha256:f9046d59b3e72aa84f6dae83a040bd1184ebd7fef4e822d38186a8158c89e3cf", - "sha256:fd7e66999060d079e9c0e8893e78d8017dad4f59721f6fe0be6307cd32127a07", - "sha256:fe988e73f2ce6d947220624f04d467faf05f1bbdbc64b0a201296bb3af92739e" - ], - "version": "==1.0.2" - }, - "slither": { - "hashes": [ - "sha256:79741e6020f032084f55f4d115b62fbf8b24e6803029e8d36e0cfc2b56c4f64c" - ], - "index": "pypi", - "version": "==0.3.0" - }, - "slither-analyzer": { - "hashes": [ - "sha256:25a3860309bda599bce69de129620aa5b38c82b87554eafe0eff5117b81bac18", - "sha256:398ac877b37b416beda1082b29160c08dd8157553fcf30deb16ee0266f72604d" - ], - "index": "pypi", - "version": "==0.9.1" - }, - "wcwidth": { - "hashes": [ - "sha256:beb4802a9cebb9144e99086eff703a642a13d6a0052920003a230f3294bbe784", - "sha256:c4d647b99872929fdb7bdcaa4fbe7f01413ed3d98077df798530e5b04f116c83" - ], - "version": "==0.2.5" - } - }, - "develop": {} -} diff --git a/README.md b/README.md index 169c6ad6a..af0135114 100644 --- a/README.md +++ b/README.md @@ -1,21 +1,35 @@ # AngelProtocol EVM -## Architecture -This contract architecture allows an Angel Protocol deployed Router to act as an intermediary between the Axelar GMP protocol and Angel Protocol yield integrations. Supporting data, parameters, and configs are stored in the Registrar contract. Both the Router and Registrar are deployed as upgradable proxies and are manageable by a single, specified Owner/Admin account. This same admin account can modify the data stored in the Registrar. +This repository contains smart contracts for Angel Protocol to be deployed on Polygon. These contracts should work on any EVM compatible chain. -### Registrar -![registrar](https://user-images.githubusercontent.com/84420280/217927431-bff49264-1722-4132-ae36-65f05241198d.png) +Angel Protocol provides tools to fundraise, coordinate, and invest capital. It connects donors & investors with non-profits, social enterprises, and other changemakers around the world. -### Router -![router](https://user-images.githubusercontent.com/84420280/217927446-36e6ebe0-13ed-4e7a-aff5-00250bb4ac25.png) +[Coverage Report](https://angel-protocol-coverage-report.vercel.app/) -## INSTALLATION +[Auto-generated Documentation](https://doc-site-angel.vercel.app/) -After cloning the repo, use yarn to install the packages: +## GETTING STARTED -`yarn install` +### Requirements +- `Node.js` (v18.x) - https://github.com/nvm-sh/nvm#installing-and-updating +- `yarn` (v1.22.x) - https://yarnpkg.com/getting-started/install/ -Then copy the .env.template file and generate/add your relevant API and PKeys. +We recommend using a version manager like `nvm`. Assuming you are using nvm, you can install and use Node v18 with the following two commands: +```shell +nvm install v18 +nvm use v18 +``` + +We use `yarn` as a package manager. After installing yarn, simply run the package installer: +```shell +yarn install +``` + +Lastly, we have provided an example `.env` file as `.env.template`. +You'll need to copy this file to `.env` and then modify/add your relevant API and Private Keys: +```shell +cp .env.template .env +``` ## INTERACTING WITH HARDHAT @@ -29,9 +43,9 @@ _Note: Most calls to hardhat check for requisite artifacts and will auto-compile The default behavior is for Hardhat to use a chain in memory at runtime. For persistent state, run a local node `npx hardhat node` or use a testnet. The network can be pointed to using the `--network` CLI flag. -To deploy a contract, call its relevant deployment script with: +To deploy a contract, call its relevant deployment task. Many tasks leverage data contained in the file `config/index.ts` and `contract-address.json`. Make sure these files are current before deploying: -`npx hardhat run scripts/deployRegistrar.ts --network localhost` +`npx hardhat Deploy:deployAngelProtocol.ts --network localhost` To run the Chai test suite, invoke: @@ -48,61 +62,6 @@ in the `tasks/` directory, you can find the available tasks. Each should have a `npx hardhat deploy:registrarAndRouter --help` - -# Angel Protocol Polygon Contracts - -This repository contains smart contracts for Angel Protocol to be deployed on polygon. These contracts should work on any EVM compatible chain. - -Angel Protocol provides tools to fundraise, coordinate, and invest capital. It connects donors & investors with non-profits, social enterprises, and other changemakers around the world. - -[Coverage Report](https://angel-protocol-coverage-report.vercel.app/) - -[Auto-generated Documentation](https://doc-site-angel.vercel.app/) - - -## Quick start - -The first things you need to do are cloning this repository and installing its -dependencies: - -```sh -git clone https://github.com/pedalsup/Angel-protocol -cd Angel-protocol -npm install -``` - -You can use the following environment variables to configure the deployment, **change account private keys**: - -``` -## Network where to deploy contracts -# options = [polygon, mumbai, goerli] -NETWORK = "hardhat" - -VERIFY_CONTRACTS = false -PROD = true - -## Account private keys -ACCOUNT_PRIVATE_KEY = "ec11f04d75c3fa18ba7539944f102e4828b760880a18dc42e1d3795dfa167fbf" #use your account -PROXY_ADMIN_KEY = "afae7bf9517d06427b1060ff41f5b3b51f845cb1b29bf66d48s6cc31898e2540" - - -## Goerli config - -GOERLI_RPC_URL = "https://eth-goerli.g.alchemy.com/v2/CeoP2R9XWziBtq8fxExr5C44hMPqmddS" -POLYGON_RPC_URL = "https://polygon-mainnet.g.alchemy.com/v2/XKiRnDxNw8lsHJnjrwKbJxX-g91fGn2F" -MUMBAI_RPC_URL = "https://polygon-mumbai.g.alchemy.com/v2/lqjQFetx_5ankbviY3F5cqEPNatDrUb7" - -ETHERSCAN_API_KEY = "CE7PBTYQPZXV5W1P2A4S78CKFYUIB7ITNE" - -##Solidity config settings -OPTIMIZER_FLAG = true -OPTIMIZER_RUNS = 200 - -GANACHE_RPC_URL = "http://127.0.0.1:7545" -ROUTER_ADDRESS = "0xfE5243C714856387bf95124F7905f3e4C438A22B" -GANACHE_PRIVATE_KEY = "0x23a2ddd136264cd21dc374800753ef8c3b02988872308fbed01b6b199a26ff87" -``` - ## Information Configuration information can be found in the `hardhat.config.ts` file. Deployment configuration can be defined in the files present in the `config` folder. @@ -129,17 +88,6 @@ To run coverage npx hardhat coverage ``` -## Deployment - -We have a deploy script in the `scripts` folder. To deploy contracts run the following command: - -```sh -npx hardhat run scripts/deploy.ts --network -``` - -However, this requires the full configuration of other addresses that are supposed to be present on the network before the protocol can be deployed! This script has been tested on hardhat environment and should be modified to suit your needs. - - ### Slither Analysis Slither: `slither . --json static_audit.json --checklist` or use the extension in vscode to run the analysis. @@ -147,302 +95,7 @@ Slither: `slither . --json static_audit.json --checklist` or use the extension i ### Directory Information -- abi: Contains all the abi files for the protocol contracts - config: Contains all the configuration files for the protocol deployments. Basically key-value pairs for the addresses of the contracts that are required to be present on a network for the protocol to work. Also contains contract's initial configuration. -- contracts: Contains all the contracts for the protocol (See tree below) -- scripts: Contains deploy script and some other helpers scripts that are usefull. -- test: Contains all the tests for the protocol (See tree below) - -### Directory Tree - -#### Contracts - -``` -├── accessory -│ ├── fundraising -│ │ ├── Fundraising.sol -│ │ ├── FundraisingLib.sol -│ │ ├── message.sol -│ │ ├── scripts -│ │ │ └── deploy.ts -│ │ └── storage.sol -│ └── gift-cards -│ ├── GiftCards.sol -│ ├── message.sol -│ ├── scripts -│ │ └── deploy.ts -│ └── storage.sol -├── core -│ ├── accounts -│ │ ├── AccountsDiamond.png -│ │ ├── FacetDocs.md -│ │ ├── IAccounts.sol -│ │ ├── diamond -│ │ │ ├── Diamond.sol -│ │ │ ├── facets -│ │ │ │ ├── DiamondCutFacet.sol -│ │ │ │ ├── DiamondLoupeFacet.sol -│ │ │ │ └── OwnershipFacet.sol -│ │ │ ├── interfaces -│ │ │ │ ├── IDiamondCut.sol -│ │ │ │ ├── IDiamondLoupe.sol -│ │ │ │ ├── IERC165.sol -│ │ │ │ └── IERC173.sol -│ │ │ ├── libraries -│ │ │ │ └── LibDiamond.sol -│ │ │ └── upgradeInitializers -│ │ │ └── DiamondInit.sol -│ │ ├── facets -│ │ │ ├── AccountDeployContract.sol -│ │ │ ├── AccountDepositWithdrawEndowments.sol -│ │ │ ├── AccountDonationMatch.sol -│ │ │ ├── AccountsAllowance.sol -│ │ │ ├── AccountsCreateEndowment.sol -│ │ │ ├── AccountsDAOEndowments.sol -│ │ │ ├── AccountsEvents.sol -│ │ │ ├── AccountsQueryEndowments.sol -│ │ │ ├── AccountsStrategiesCopyEndowments.sol -│ │ │ ├── AccountsStrategiesUpdateEndowments.sol -│ │ │ ├── AccountsSwapEndowments.sol -│ │ │ ├── AccountsUpdate.sol -│ │ │ ├── AccountsUpdateEndowmentSettingsController.sol -│ │ │ ├── AccountsUpdateEndowments.sol -│ │ │ ├── AccountsUpdateStatusEndowments.sol -│ │ │ ├── AccountsVaultFacet.sol -│ │ │ ├── AxelarCallExecutor.sol -│ │ │ └── ReentrancyGuardFacet.sol -│ │ ├── interface -│ │ │ ├── IAccountDeployContract.sol -│ │ │ ├── IAccountsCreateEndowment.sol -│ │ │ ├── IAccountsDepositWithdrawEndowments.sol -│ │ │ ├── IAccountsQuery.sol -│ │ │ └── IAxelarGateway.sol -│ │ ├── lib -│ │ │ ├── LibAccounts.sol -│ │ │ └── validator.sol -│ │ ├── message.sol -│ │ ├── scripts -│ │ │ ├── deploy.ts -│ │ │ └── libraries -│ │ │ └── diamond.ts -│ │ └── storage.sol -│ ├── index-fund -│ │ ├── Iindex-fund.sol -│ │ ├── IndexFund.sol -│ │ ├── message.sol -│ │ ├── scripts -│ │ │ └── deploy.ts -│ │ └── storage.sol -│ ├── proxy.sol -│ ├── registrar -│ │ ├── interface -│ │ │ └── IRegistrar.sol -│ │ ├── lib -│ │ │ ├── RegistrarEventsLib.sol -│ │ │ └── validator.sol -│ │ ├── message.sol -│ │ ├── registrar.sol -│ │ ├── scripts -│ │ │ └── deploy.ts -│ │ └── storage.sol -│ ├── struct.sol -│ └── swap-router -│ ├── Interface -│ │ ├── ISwappingV3.sol -│ │ └── Ipool.sol -│ ├── message.sol -│ ├── scripts -│ │ └── deploy.ts -│ ├── storage.sol -│ └── swapping.sol -├── halo -│ ├── ERC20Upgrade.sol -│ ├── airdrop -│ │ ├── Airdrop.sol -│ │ ├── message.sol -│ │ ├── scripts -│ │ │ └── deploy.ts -│ │ └── storage.sol -│ ├── collector -│ │ ├── Collector.sol -│ │ ├── message.sol -│ │ └── storage.sol -│ ├── community -│ │ ├── Community.sol -│ │ ├── message.sol -│ │ ├── scripts -│ │ │ └── deploy.ts -│ │ └── storage.sol -│ ├── distributor -│ │ ├── Distributor.sol -│ │ ├── message.sol -│ │ ├── scripts -│ │ │ └── deploy.ts -│ │ └── storage.sol -│ ├── gov -│ │ ├── ERC20.sol -│ │ ├── Gov.sol -│ │ ├── TimeLock.sol -│ │ └── scripts -│ │ └── deploy.ts -│ ├── gov-hodler -│ │ ├── GovHodler.sol -│ │ ├── events.sol -│ │ ├── message.sol -│ │ ├── scripts -│ │ │ └── deploy.ts -│ │ └── storage.sol -│ ├── scripts -│ │ └── deploy.ts -│ ├── staking -│ │ ├── Staking.sol -│ │ ├── message.sol -│ │ ├── scripts -│ │ │ └── deploy.ts -│ │ └── storage.sol -│ └── vesting -│ ├── Vesting.sol -│ ├── message.sol -│ ├── scripts -│ │ └── deploy.ts -│ └── storage.sol -├── lib -│ ├── Strings -│ │ └── string.sol -│ ├── address -│ │ └── array.sol -│ ├── array.sol -│ ├── uint256 -│ └── utils.sol -├── mock -│ ├── INonfungiblePositionManager.sol -│ ├── MockERC20.sol -│ ├── MockUSDC.sol -│ ├── haloToken.sol -│ └── uniswapUtils.sol -├── multisigs -│ ├── APTeamMultiSig.sol -│ ├── ApplicationsMultiSig.sol -│ ├── MultiSigGeneric.sol -│ ├── charity_applications -│ │ ├── CharityApplication.sol -│ │ ├── interface -│ │ │ └── ICharityApplication.sol -│ │ ├── scripts -│ │ │ └── deploy.ts -│ │ └── storage.sol -│ ├── interfaces -│ │ ├── IMultiSigGeneric.sol -│ │ └── artifacts -│ │ ├── IMultiSigGeneric.json -│ │ ├── IMultiSigGeneric_metadata.json -│ │ └── build-info -│ │ └── 02ad8a3a2d5ec3d13b26f5bf44e1c86b.json -│ ├── scripts -│ │ └── deploy.ts -│ └── storage.sol -└── normalized_endowment - ├── donation-match - │ ├── DonationMatch.sol - │ ├── DonationMatchCharity.sol - │ ├── DonationMatchEmitter.sol - │ ├── IDonationMatchEmitter.sol - │ ├── IDonationMatching.sol - │ ├── UniswapOracleLibrary.dep.txt - │ ├── message.sol - │ └── storage.sol - ├── endowment-multisig - │ ├── EndowmentMultiSig.sol - │ ├── EndowmentMultiSigEmitter.sol - │ ├── EndowmentMultiSigFactory.sol - │ ├── interface - │ │ ├── IEndowmentMultiSigEmitter.sol - │ │ └── IEndowmentMultiSigFactory.sol - │ └── scripts - │ └── deploy.ts - ├── fee-distributor - │ └── FeeDistributorCurveToken.sol.unused.txt - ├── incentivised-voting - │ ├── IncentivisedVotingLockup.sol - │ ├── interface - │ │ ├── IIncentivisedVotingLockup.sol - │ │ └── QueryIIncentivisedVotingLockup.sol - │ └── lib - │ ├── Root.sol - │ ├── StableMath.sol - │ └── shared - │ ├── IBasicToken.sol - │ └── IERC20WithCheckpointing.sol - ├── locked-withdraw - │ ├── LockedWithdraw.sol - │ ├── interface - │ │ └── ILockedWithdraw.sol - │ ├── scripts - │ │ └── deploy.ts - │ └── storage.sol - ├── scripts - │ ├── deployEmitter.ts - │ └── deployImplementation.ts - ├── subdao - │ ├── ISubdaoEmitter.sol - │ ├── Isubdao.sol - │ ├── SubdaoEmitter.sol - │ ├── Token - │ │ └── ERC20.sol - │ ├── message.sol - │ ├── storage.sol - │ └── subdao.sol - └── subdao-token - ├── Token - │ ├── BancorBondingCurve.sol - │ ├── Continous.sol - │ └── Power.sol - ├── message.sol - ├── storage.sol - └── subdao-token.sol -``` - -#### Tests - -``` -. -├── Token.ts -├── accessory -│ └── fundraising.test.ts -├── core -│ └── diamondFunctions.test.ts -├── data -│ ├── endowment.ts -│ └── registar.json -├── halo -│ ├── airdrop.test.ts -│ ├── collector.test.ts -│ ├── community.test.ts -│ ├── distributor.test.ts -│ ├── integration-test -│ │ └── collectorGovIntegration.test.ts -│ ├── staking.test.ts -│ └── vesting.test.ts -├── integration-test -│ ├── APTeam.IndexFund.test.ts -│ ├── APTeam.Registrar.test.ts -│ ├── APTeam.test.ts -│ ├── AccountCrossChain.test.ts -│ ├── AccountSettings.test.ts -│ ├── AccountStrategy.test.ts -│ ├── AccountVaultCrossChain.test.ts -│ ├── AccountsUpdate.test.ts -│ ├── ApplicationTeam.test.ts -│ ├── Donor.Accounts.Normal.DonationMatch.test.ts -│ ├── Donor.Accounts.test.ts -│ ├── Donor.GiftCard.test.ts -│ ├── Donor.IndexFund.test.ts -│ ├── Donor.SubdaoToken.BuySell.test.ts -│ ├── EndowmentMembersCharity.Accounts.test.ts -│ ├── EndowmentMembersNormal.Accounts.test.ts -│ ├── EndowmentMembersNormal.AccountsSwap.test.ts -│ ├── EndowmentMembersNormal.Multisig.test.ts -│ ├── SubDao.test.ts -│ └── Temp.ts.txt -└── scripts -``` +- contracts: Contains all the contracts for the protocol +- tasks: Contains deployment, upgrade and manaagement tools +- test: Contains all the tests for the protocol \ No newline at end of file diff --git a/STYLE.md b/STYLE.md new file mode 100644 index 000000000..0e178935e --- /dev/null +++ b/STYLE.md @@ -0,0 +1,79 @@ +# Solidity Style Guide + +## Variables + +**Generic Variable** `useCamelCase` + +**Structs** + +`struct UseCapsCase {}` + +**Mappings** + +*be descriptive of what is being stored BY what, use CapsCase:* + +`mapping (address => uint256) BalanceByAddress` + +**Function Arguments** `_usePrefixUnderscore` + +**Function Return Values** *If defined in the function declaration* + +`function exampleMethod() public returns (uint useTrailingUnderscore_)` + +**Constants** +`ALL_CAPS_WITH_UNDERSCORES` + +**Arrays** +`use_snake_case` + +  +### Specific Variable Naming Convention + +Token Addresses: `usdcTokenAddress` + +Percents/Fees: *indicates what the basis should be* + +`ratePercent`, `withdrawFee` + +  +## Methods + +**EventDeclarations** +`event UseCapsCase()` + +**Extnerla/Public Function Names** +`useCamelCase()` + +**Internal/Private Function Names** +`_usePrefixUnderscore()` + +**Modifiers** *Use naming that describes the restriction* + +`modifier onlyOwner()` + +`modifier validTokenAddress(address _token)` + +  +### Specific Method Naming Convention + +**View method naming** *Use get or query as prefix* + +`function getValue() external view returns (uint) {}` + +`function queryState() external view returns (Struct storage) {}` + +**Math/calculation helpers** *If the method is pure, prefix with calc* + +`function _calcValue() internal pure returns (uint) {}` + +  +## Contracts + +**Contract Name** *Use CapsCase* +`contract UseCapsCase {}` + +**Interfaces** *Prefix with I, CapsCase* +`interface IContract {}` + +**Libraries** *Suffix name with Lib* +`library DoStuffLib {}c` \ No newline at end of file diff --git a/address.json b/address.json deleted file mode 100644 index 64832e92d..000000000 --- a/address.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "5": { - "registrar": { - "proxy": "0x5f437141bCF08A919863603C946D5c8AEa66B32b", - "impl": "0xCeA6fdeFBA83120B6D47F031FCCF4E208e789191" - }, - "router": { - "proxy": "0x9f9985900ddadc4A3Cb9b626Ae78c45A9Ca4D22C", - "impl": "0xd8A98Ee63B135CA4d19458cBe07Ff47Ac2a9C9dF" - } - }, - "31337": { - "registrar": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0" - } -} \ No newline at end of file diff --git a/config/index.ts b/config/index.ts index 00f4d41c7..55c802e81 100644 --- a/config/index.ts +++ b/config/index.ts @@ -10,7 +10,7 @@ const EXPORT_CONFIG = { NETWORK: process.env.NETWORK, OPTIMIZER_FLAG: process.env.OPTIMIZER_FLAG, OPTIMIZER_RUNS: process.env.OPTIMIZER_RUNS, - PROD: process.env.PROD, + PROD_NETWORK_ID: process.env.PROD_NETWORK_ID, PROXY_ADMIN_KEY: process.env.PROXY_ADMIN_KEY, ROUTER_ADDRESS: process.env.ROUTER_ADDRESS, SCAN_API_KEY: process.env.ETHERSCAN_API_KEY, @@ -54,7 +54,8 @@ const EXPORT_CONFIG = { defaultSplit: 50, }, router: "0xce551C1125BfCdAb88048854522D0B220f41A6Ff", - axelerGateway: "0xBF62ef1486468a6bd26Dd669C06db43dEd5B849B", + axelarGateway: "0xBF62ef1486468a6bd26Dd669C06db43dEd5B849B", + axelarGasRecv: "0xBF62ef1486468a6bd26Dd669C06db43dEd5B849B" }, CHARITY_APPLICATION_DATA: { expiry: 0, @@ -104,7 +105,7 @@ const EXPORT_CONFIG = { GovHodlerOwner: "0x8B1386F6fE42995Db5F7f7018af90496103CD39e", airdropOwner: "0xce551C1125BfCdAb88048854522D0B220f41A6Ff", CommunitySpendLimit: 5000, - distributorWhitelist: [ + distributorAllowlist: [ "0x51d0e5cffb5748dD17f1E133C72E48fa94685bEc", "0x06eB8fcC1E02e06c0b6A47c396f14C5761C47433", ], diff --git a/contract-address.json b/contract-address.json index 905933b95..db9c02dba 100644 --- a/contract-address.json +++ b/contract-address.json @@ -1,66 +1,306 @@ { - "INFO": "ALL ADDRESS ARE MENTIONED INTO THIS FILE", - "libraries": { - "STRING_LIBRARY": "0x57D47BE8eCd58A506292b5Ebd3bFba5E3F41F63f", - "ANGEL_CORE_STRUCT_LIBRARY": "0x5FD2a6cE261c6131Ca479Fb04A7cE9AEBCB53FB9" - }, - "multiSig": { - "ApplicationsMultiSigProxy": "0x1edC050B5d84cbB0cA0b56356f3F7307efcd50Fb", - "APTeamMultiSigProxy": "0xC26Ac43b14ebCbff5029792052aF3e4DF3233902", - "ApplicationMultisigImplementation": "0x4AE860A84232AE513FdD1E6ce337AA8e12c5773c", - "APTeamMultisigImplementation": "0xDFa0b7F54F7e0d4491B28bE693a70fFEEFf0Cc1f" - }, - "charityApplication": { - "CharityApplicationProxy": "0x14A7bb3A01D9011D39FC0ECb5d09C84f7F596e4B", - "CharityApplicationImplementation": "0x05cB202D956F035232E29c76436a8E0049B1a193" - }, - "swapRouterAddress2": { - "swapRouterProxy": "0x0c00F32a3603ba39f6D1eACD21a0D60d2c58675c", - "swapRouterImplementation": "0x430E6044d849f6506F36d2A50Ce41924E559EbD8" - }, - "indexFundAddress": { - "indexFundProxy": "0xba4A7987e34BFDCb1D10e1318934dBce1024bDC8", - "indexFundImplementation": "0xc8C19c0cc539F827BDD6CAF216bf6f3EB1166bD4" - }, - "subDaoEmitter": { - "SubdaoEmitterProxyAddress": "0x026Db89632da750c0b2C136253208262A680E527", - "SubdaoEmitterImplementationAddress": "0xa145F2fDC3e2774C70Dc247d804986C91e878d47" - }, - "HaloImplementations": { - "DonationMatchImplementation": "0xDfE663881Dd23d4B0d32899fE43E6347F21fF41f", - "DonationMatchAddress": { - "DonationMatchProxy": "0x8ead0CF0f28a0dF2de0Ac7cFEB1b48dB20619cD7", - "DonationMatchImplementation": "0x89831907835e537Be7818b692482B39815C55FEB" - }, - "SubDaoImplementation": "0x10618938dFD69dA98eB5f4112a4487fAC6b22ef7", - "subDaoERC20Implementation": "0x25E2c69e9775bA8d2c0a38b3212987123b8727eF", - "subDaoCurveTokenImplementation": "0xBdf1fFA5B0357744DE7517d98aDf8dC22c1eF373", - "IncentivisedVotingLockupImplementation": "0x0c7056652736A06d6D90f11B29176DEa7630f14C" - }, - "registrar": { - "registrarImplementation": "0xD0DF2E81A44A8d5191C4Aaba74B1fA6b1429F729", - "registrarProxy": "0xf9ae9FEb01B382C87d391F04a021fae312264CA7" - }, - "accounts": { - "diamond": "0xf725Ff6235D53dA06Acb4a70AA33206a1447D550" - }, - "EndowmentMultiSigAddress": { - "EndowmentMultiSigEmitterProxy": "0xE5cAcaCd2230e53054ddc9bbB7d1cB56b892FC76", - "EndowmentMultiSigEmitterImplementation": "0x234deE964Cc3AF52D5A2567C1FD6F6Eb58998204", - "MultiSigWalletFactory": "0x386FE56636177cE392B751919B4D6EABA24D6F25", - "MultiSigWalletImplementation": "0x8412698fC0cF27a09771b21f5833f61f72290295" - }, - "Tokens": { - "usdc": "0xe6b8a5CF854791412c1f6EFC7CAf629f5Df1c747", - "token": "0x06499E212Ce9F9D4a2147e82242F137c5e32f8C8", - "weth": "0xA6FA4fB5f76172d178d61B04b0ecd319C5d1C0aa" - }, - "lockedWithdraw": { - "LockedWithdrawImplementation": "0x9Ec72b36c2ceD6ecFB0d3b6Ac75cf1eD2094073F", - "LockedWithdrawProxy": "0x2d618cDa8cbd2FFc742DD9E8BBEa774B30d06665" + "31337": { + "accounts": { + "diamond": "0x59F2f1fCfE2474fD5F0b9BA1E73ca90b143Eb8d0", + "facets": { + "accountDeployContract": "", + "accountDepositWithdrawEndowments": "", + "accountDonationMatch": "", + "accountsAllowance": "", + "accountsCreateEndowment": "", + "accountsDAOEndowments": "", + "accountsQueryEndowments": "", + "accountsSwapEndowments": "", + "accountsUpdate": "", + "accountsUpdateEndowments": "", + "accountsUpdateEndowmentSettingsController": "", + "accountsUpdateStatusEndowments": "", + "accountsVaultFacet": "", + "diamondCutFacet": "", + "diamondInitFacet": "", + "diamondLoupeFacet": "", + "ownershipFacet": "", + "reentrancyGuardFacet": "" + } + }, + "charityApplication": { + "implementation": "0xB7f8BC63BbcaD18155201308C8f3540b07f84F5e", + "proxy": "0xA51c1fc2f0D1a1b8494Ed1FE312d7C3a78Ed91C0" + }, + "donationMatch": { + "emitter": "", + "implementation": "0x4ed7c70F96B99c776995fB64377f0d4aB3B0e1C1" + }, + "donationMatchCharity": { + "implementation": "0x322813Fd9A801c5507c9de605d63CEA4f2CE6c44", + "proxy": "0xa85233C63b9Ee964Add6F2cffe00Fd84eb32338f" + }, + "fundraising": { + "implementation": "", + "library": "", + "proxy": "" + }, + "giftcards": { + "implementation": "", + "proxy": "" + }, + "goldfinch": { + "liquidVault": "", + "lockedVault": "" + }, + "halo": { + "airdrop": { + "implementation": "", + "proxy": "" + }, + "collector": { + "implementation": "", + "proxy": "" + }, + "community": { + "implementation": "", + "proxy": "" + }, + "distributor": { + "implementation": "", + "proxy": "" + }, + "erc20Upgrade": { + "implementation": "", + "proxy": "" + }, + "gov": { + "implementation": "", + "proxy": "" + }, + "govHodler": { + "implementation": "", + "proxy": "" + }, + "staking": { + "implementation": "", + "proxy": "" + }, + "timelock": { + "implementation": "", + "proxy": "" + }, + "token": "", + "vesting": { + "implementation": "", + "proxy": "" + }, + "votingERC20": { + "implementation": "", + "proxy": "" + } + }, + "incentivisedVotingLockup": { + "implementation": "0x4A679253410272dd5232B3Ff7cF5dbB88f295319" + }, + "indexFund": { + "implementation": "0x0B306BF915C4d645ff596e518fAf3F9669b97016", + "proxy": "0x959922bE3CAee4b8Cd9a407cc3ac1C251C2007B1" + }, + "libraries": { + "ANGEL_CORE_STRUCT_LIBRARY": "0x948B3c65b89DF0B4894ABE91E6D02FE579834F8F", + "STRING_LIBRARY": "0x712516e61C8B383dF4A63CFe83d7701Bce54B03e" + }, + "multiSig": { + "applications": { + "implementation": "0x9fE46736679d2D9a65F0992F2272dE9f3c7fa6e0", + "proxy": "0xDc64a140Aa3E981100a9becA4E685f962f0cF6C9" + }, + "apTeam": { + "implementation": "0xCf7Ed3AccA5a467e9e704C703E8D87F634fB0Fc9", + "proxy": "0x5FC8d32690cc91D4c39d9d3abcBD16989F875707" + }, + "endowment": { + "emitter": { + "implementation": "0x3Aa5ebB10DC797CAC828524e59A333d0A371443c", + "proxy": "0xc6e7DF5E7b4f2A278906862b61205850344D4e7d" + }, + "factory": "0x68B1D87F95878fE05B998F19b66F4baba5De1aed", + "implementation": "0x9A9f2CCfdE556A7E9Ff0848998Aa4a0CFD8863AE" + } + }, + "registrar": { + "implementation": "0x5FbDB2315678afecb367f032d93F642f64180aa3", + "proxy": "0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512" + }, + "router": { + "implementation": "", + "proxy": "" + }, + "subDao": { + "emitter": { + "implementation": "0x0165878A594ca255338adfa4d48449f69242Eb8F", + "proxy": "0xa513E6E4b8f2a923D98304ec87F64353C4D5C853" + }, + "implementation": "0x09635F643e140090A9A8Dcd712eD6285858ceBef", + "token": "0xc5a5C42992dECbae36851359345FE25997F5C42d", + "veBondingToken": "0x67d269191c92Caf3cD7723F116c85e6E9bf55933" + }, + "swapRouter": { + "implementation": "0x0DCd1Bf9A1b36cE34237eEaFef220932846BCD82", + "proxy": "0x9A676e781A523b5d0C0e43731313A708CB607508" + }, + "tokens": { + "halo": "", + "usdc": "", + "weth": "" + } }, - "GiftCardsAddress": { - "GiftCardsProxy": "0x47e49a7700c9D79412bb47385eD349106d4941F9", - "GiftCardsImplementation": "0x4D58a634D7Be9f02462D1e19f78804335147a305" + "80001": { + "accounts": { + "diamond": "0x6878A6A4892299184d16Ef181acE84C6A2076ac1", + "facets": { + "accountDeployContract": "", + "accountDepositWithdrawEndowments": "", + "accountDonationMatch": "", + "accountsAllowance": "", + "accountsCreateEndowment": "", + "accountsDAOEndowments": "", + "accountsQueryEndowments": "", + "accountsSwapEndowments": "", + "accountsUpdate": "", + "accountsUpdateEndowments": "", + "accountsUpdateEndowmentSettingsController": "", + "accountsUpdateStatusEndowments": "", + "accountsVaultFacet": "", + "diamondCutFacet": "", + "diamondInitFacet": "", + "diamondLoupeFacet": "", + "ownershipFacet": "", + "reentrancyGuardFacet": "" + } + }, + "charityApplication": { + "implementation": "", + "proxy": "" + }, + "donationMatch": { + "emitter": "", + "implementation": "0x927B1123a2A9085B1f6272Fab7ae2ed479daFc10" + }, + "donationMatchCharity": { + "implementation": "0x7affbc77A46656AaF061800fb6A7B58671535Ac9", + "proxy": "0x42b9F95DF569C25eD259d8b4B7a17791952996E7" + }, + "fundraising": { + "implementation": "", + "library": "", + "proxy": "" + }, + "giftcards": { + "implementation": "", + "proxy": "" + }, + "goldfinch": { + "liquidVault": "", + "lockedVault": "" + }, + "halo": { + "airdrop": { + "implementation": "", + "proxy": "" + }, + "collector": { + "implementation": "", + "proxy": "" + }, + "community": { + "implementation": "", + "proxy": "" + }, + "distributor": { + "implementation": "", + "proxy": "" + }, + "erc20Upgrade": { + "implementation": "", + "proxy": "" + }, + "gov": { + "implementation": "", + "proxy": "" + }, + "govHodler": { + "implementation": "", + "proxy": "" + }, + "staking": { + "implementation": "", + "proxy": "" + }, + "timelock": { + "implementation": "", + "proxy": "" + }, + "token": "", + "vesting": { + "implementation": "", + "proxy": "" + }, + "votingERC20": { + "implementation": "", + "proxy": "" + } + }, + "incentivisedVotingLockup": { + "implementation": "0x8A36A27738d528C700De5C17cfcD07fDE27FAFE4" + }, + "indexFund": { + "implementation": "0xA952197Ef88111e5415538a75F228A6Fb3ff266f", + "proxy": "0xE036D1034640fa16280682fd8CC00Ccf3D42e8E4" + }, + "libraries": { + "ANGEL_CORE_STRUCT_LIBRARY": "0xa91ad7B8650B0D5C1A39163a3D8Ff4294290Ac75", + "STRING_LIBRARY": "0x34eFaFC3456Db1B459EcE744270e68a45Ad1139a" + }, + "multiSig": { + "applications": { + "implementation": "0xd0d04Eb4145439Ce15e9192fCBcEF167A06F794d", + "proxy": "0xaDC97799AAC1430e297edb86136579710B081e0A" + }, + "apTeam": { + "implementation": "0x2CDa428C76e83fcf3B9763a7C992563c897cc85C", + "proxy": "0xD812901336D4f1c910a2Ac51921E0105BD980887" + }, + "endowment": { + "emitter": { + "implementation": "0xD4ec4051656694b3bBF192A0586C230409c2d7F2", + "proxy": "0xa202fD0C8c173cd76cb3AFdfbD7C91eE23E7390C" + }, + "factory": "0xde994AefC603D69Fcb57A8C68D4B507303F7633b", + "implementation": "0x55579664531e806956a9183cC7a8bc8ae58C438F" + } + }, + "registrar": { + "implementation": "0xF3A5B4Eb01612c6E8195c9bd8A2E3e15AB11a5ff", + "proxy": "0x74f62eE5330EE95B72c6CDFA301Be106bDe5D454" + }, + "router": { + "implementation": "", + "proxy": "" + }, + "subDao": { + "emitter": { + "implementation": "0x553752620d6bC348F10579710157524121b2A288", + "proxy": "0x736339a50Fe24EFd6cf0277f7F5fcdedf6fe3f6A" + }, + "implementation": "0x94F8102524FF55852D15a6A7cDbFB4A3aB22b7C1", + "token": "0x4Bc5366E4e5c60ed383Cdc8cBD9180791Ae572f2", + "veBondingToken": "0x9DDFfa45bD8B04ba10b5d291f9D80c56A711637A" + }, + "swapRouter": { + "implementation": "0x4Cec8D5d3877FAA9Ebd040d1cFc1DA947D92fe36", + "proxy": "0x5F3BB40873856B7a8dB666e26E3EF73015C6b9aD" + }, + "tokens": { + "halo": "", + "usdc": "", + "weth": "" + } } } \ No newline at end of file diff --git a/contracts/accessory/fundraising/Fundraising.sol b/contracts/accessory/fundraising/Fundraising.sol index 2174561f7..fd584ba26 100644 --- a/contracts/accessory/fundraising/Fundraising.sol +++ b/contracts/accessory/fundraising/Fundraising.sol @@ -1,669 +1,669 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.16; - -import "./message.sol"; -import "./storage.sol"; -import {IRegistrar} from "../../core/registrar/interface/IRegistrar.sol"; -import {RegistrarStorage} from "../../core/registrar/storage.sol"; -import {AngelCoreStruct} from "../../core/struct.sol"; -import {IAccountsQuery} from "../../core/accounts/interface/IAccountsQuery.sol"; -import {AccountStorage} from "../../core/accounts/storage.sol"; -import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import {FundraisingLib} from "./FundraisingLib.sol"; - -/** - * @title Fundraising - * @dev Fundraising contract - * 1) Through this contract, users can create and manage fundraising campaigns - * 2) Users can contribute to the campaign - * 3) Users can top up their contributions to the campaign - * 4) Users can claim their rewards - */ -contract Fundraising is StorageFundraising { - // flag for initialization - bool initialized = false; - - /* Events */ - event FundraisingConfigUpdated(FundraisingStorage.Config config); - event FundraisingCampaignCreated(uint256 campaignId, Campaign campaign); - event FundraisingCampaignUpdated(uint256 campaignId, Campaign campaign); - event FundraisingContributorUpdated( - uint256 campaignId, - address sender, - FundraisingStorage.ContributorInfo contributorInfo - ); - event FundraisingContributionRefunded( - uint256 campaignId, - address sender, - AngelCoreStruct.GenericBalance balance - ); - event FundraisingRewardsClaimed( - uint256 campaignId, - address sender, - AngelCoreStruct.GenericBalance balance - ); - - /** - * @dev Initialize the contract - * @param curDetails FundraisingMessage.InstantiateMsg used to initialize the contract - */ - function initFundraising( - FundraisingMessage.InstantiateMsg memory curDetails - ) public { - if (initialized) revert("Already initialized"); - initialized = true; - state.config.registrarContract = curDetails.registrarContract; - state.config.nextId = curDetails.nextId; - state.config.campaignPeriodSeconds = curDetails.campaignPeriodSeconds; - state.config.taxRate = curDetails.taxRate; - state.config.acceptedTokens = curDetails.acceptedTokens; - emit FundraisingConfigUpdated(state.config); - } - - /** - * @dev Get the config of the fundraising contract - * @return FundraisingStorage.Config - */ - function getRegistrarConfig() - public - view - returns (RegistrarStorage.Config memory) - { - address registrarContract = state.config.registrarContract; - return IRegistrar(registrarContract).queryConfig(); - } - - /** - * @dev update the config of the fundraising contract - * @param campaignPeriodSeconds uint256 - * @param taxRate uint256 - * @param acceptedTokens AngelCoreStruct.GenericBalance - */ - function executeUpdateConfig( - uint256 campaignPeriodSeconds, - uint256 taxRate, - AngelCoreStruct.GenericBalance memory acceptedTokens - ) public { - RegistrarStorage.Config memory registrarConfig = getRegistrarConfig(); - require(msg.sender == registrarConfig.owner, "Unauthorized"); - state.config.campaignPeriodSeconds = campaignPeriodSeconds; - state.config.taxRate = taxRate; - state.config.acceptedTokens = acceptedTokens; - - emit FundraisingConfigUpdated(state.config); - } - - /** - * @dev Create a fundraising campaign - * @param endowmentId uint256 - * @param message FundraisingMessage.CreateMsg - * @param balance Balance - */ - function executeCreate( - uint256 endowmentId, - FundraisingMessage.CreateMsg memory message, - Balance memory balance, - address sender // TODO: remove this param as sender will always be accountsContract - ) public payable { - if (balance.coinNativeAmount == 0 && balance.cw20Addr == address(0)) - revert("Invalid inputs"); - // receive tokens - bool success = IERC20(balance.cw20Addr).transferFrom( - msg.sender, - address(this), - balance.cw20Amount - ); - require(success, "Transfer failed"); - - FundraisingStorage.Config storage config = state.config; - address accountsContract = sender; - RegistrarStorage.Config memory registrarConfig = getRegistrarConfig(); - - if (registrarConfig.accountsContract == address(0)) - revert("accountsContract does not exist"); - if (registrarConfig.accountsContract != accountsContract) - revert("Unauthorized"); - - AccountStorage.Endowment memory endowment_details = IAccountsQuery( - accountsContract - ).queryEndowmentDetails(endowmentId); - if ( - endowment_details.status != AngelCoreStruct.EndowmentStatus.Approved - ) revert("Unauthorized"); - - // assert that the campaign has started already - if ( - message.endTimeEpoch - config.campaignPeriodSeconds <= - block.timestamp - ) { - revert("Invalid inputs"); - } - uint256[] memory cw20Amount = new uint256[](1); - cw20Amount[0] = balance.cw20Amount; - address[] memory cw20Addr = new address[](1); - cw20Addr[0] = balance.cw20Addr; - - require( - balance.coinNativeAmount == msg.value, - "Native coin amount mismatch" - ); - - AngelCoreStruct.GenericBalance memory lockedBalance = AngelCoreStruct - .GenericBalance({ - coinNativeAmount: balance.coinNativeAmount, - Cw20CoinVerified_amount: cw20Amount, - Cw20CoinVerified_addr: cw20Addr - }); - AngelCoreStruct.GenericBalance memory fundingThreshold; - AngelCoreStruct.GenericBalance memory contributedBalance; - - // check we have a single token to use as the desired contribution token for the campaign - if ( - message.fundingGoal.coinNativeAmount > 0 && - message.fundingGoal.Cw20CoinVerified_amount.length == 0 - ) { - fundingThreshold.coinNativeAmount = - (message.fundingGoal.coinNativeAmount * - message.rewardThreshold) / - 100; - contributedBalance.coinNativeAmount = 0; - } else if ( - message.fundingGoal.Cw20CoinVerified_addr.length == 1 && - message.fundingGoal.coinNativeAmount == 0 - ) { - int256 pos = -1; - for ( - uint256 i = 0; - i < config.acceptedTokens.Cw20CoinVerified_addr.length; - i++ - ) { - if ( - config.acceptedTokens.Cw20CoinVerified_addr[i] == - message.fundingGoal.Cw20CoinVerified_addr[0] - ) { - pos = int256(i); - break; - } - } - if (pos < 0) revert("Token not in whitelist"); - fundingThreshold.Cw20CoinVerified_amount = new uint256[](1); - fundingThreshold.Cw20CoinVerified_addr = new address[](1); - fundingThreshold.Cw20CoinVerified_amount[0] = - (message.fundingGoal.Cw20CoinVerified_amount[0] * - message.rewardThreshold) / - 100; - fundingThreshold.Cw20CoinVerified_addr[0] = message - .fundingGoal - .Cw20CoinVerified_addr[0]; - contributedBalance.Cw20CoinVerified_amount = new uint256[](1); - contributedBalance.Cw20CoinVerified_addr = new address[](1); - contributedBalance.Cw20CoinVerified_amount[0] = 0; - contributedBalance.Cw20CoinVerified_addr[0] = message - .fundingGoal - .Cw20CoinVerified_addr[0]; - } else { - revert( - "Contract only accepts a single CW20 or Native Token at a time for funding goal" - ); - } - Campaign memory campaign = Campaign({ - open: true, - success: false, - creator: msg.sender, - title: message.title, - description: message.description, - imageUrl: message.imageUrl, - endTimeEpoch: message.endTimeEpoch, - fundingGoal: message.fundingGoal, - fundingThreshold: fundingThreshold, - lockedBalance: lockedBalance, - contributedBalance: contributedBalance, - contributors: new address[](0) - }); - if (state.CAMPAIGNS[config.nextId].creator == address(0)) { - state.CAMPAIGNS[config.nextId] = campaign; - emit FundraisingCampaignCreated(config.nextId, campaign); - } else { - revert("Campaign already exists"); - } - config.nextId += 1; - emit FundraisingConfigUpdated(config); - } - - /** - * @notice Close a campaign - * @param id uint256 - */ - function executeCloseCampaign(uint256 id) public { - // check if campaign exists - if (state.CAMPAIGNS[id].creator == address(0)) - revert("Campaign does not exist"); - - if (!FundraisingLib.isExpired(state.CAMPAIGNS[id])) - revert("Not expired"); - RegistrarStorage.Config memory registrarConfig = getRegistrarConfig(); - - Campaign storage campaign = state.CAMPAIGNS[id]; - - if ( - FundraisingLib.thresholdMet( - campaign.contributedBalance, - campaign.fundingGoal - ) - ) { - campaign.success = true; - ( - AngelCoreStruct.GenericBalance memory balance_less_tax, - AngelCoreStruct.GenericBalance memory withholding_balance - ) = FundraisingLib.calculateWitholding( - state.config.taxRate, - campaign.contributedBalance - ); - sendTokens(campaign.creator, balance_less_tax); - sendTokens(registrarConfig.treasury, withholding_balance); - } else { - sendTokens(campaign.creator, campaign.lockedBalance); - } - campaign.open = false; - emit FundraisingCampaignUpdated(id, campaign); - } - - /** - * @notice Top up a campaign - * @param id uint256 - * @param balance Balance - */ - function executeTopUp(uint256 id, Balance memory balance) public payable { - if (balance.coinNativeAmount == 0 && balance.cw20Addr == address(0)) - revert("Invalid inputs"); - // receive tokens - bool success = IERC20(balance.cw20Addr).transferFrom( - msg.sender, - address(this), - balance.cw20Amount - ); - require(success, "Transfer failed"); - Campaign storage campaign = state.CAMPAIGNS[id]; - // check if state.CAMPAIGNS[id] exists - if (campaign.creator == address(0)) revert("Campaign does not exist"); - - if (!campaign.open || FundraisingLib.isExpired(campaign)) - revert("Campaign is expired"); - if (msg.sender != campaign.creator) revert("Unauthorized"); - - // ensure the token is on the whitelist - bool found = false; - for ( - uint256 i = 0; - i < campaign.fundingGoal.Cw20CoinVerified_addr.length; - i++ - ) { - if ( - campaign.fundingGoal.Cw20CoinVerified_addr[i] == - balance.cw20Addr - ) { - found = true; - break; - } - } - if (!found) revert("Token not in allowed list"); - require( - balance.coinNativeAmount == msg.value, - "Native coin amount does not match value received" - ); - campaign.lockedBalance.coinNativeAmount += balance.coinNativeAmount; - AngelCoreStruct.addToken( - campaign.lockedBalance, - balance.cw20Addr, - balance.cw20Amount - ); - emit FundraisingCampaignUpdated(id, campaign); - } - - /** - * @notice Contribute to a campaign - * @param id uint256 - * @param balance Balance - */ - function executeContribute( - uint256 id, - Balance memory balance - ) public payable { - if (balance.coinNativeAmount == 0 && balance.cw20Addr == address(0)) - revert("Invalid inputs"); - // receive tokens - bool success = IERC20(balance.cw20Addr).transferFrom( - msg.sender, - address(this), - balance.cw20Amount - ); - require(success, "Transfer failed"); - - Campaign storage campaign = state.CAMPAIGNS[id]; - // check if state.CAMPAIGNS[id] exists - if (campaign.creator == address(0)) revert("Campaign does not exist"); - - if (!campaign.open || FundraisingLib.isExpired(campaign)) revert(); - - // ensure the token is on the whitelist - bool found = false; - for ( - uint256 i = 0; - i < campaign.fundingGoal.Cw20CoinVerified_addr.length; - i++ - ) { - if ( - campaign.fundingGoal.Cw20CoinVerified_addr[i] == - balance.cw20Addr - ) { - found = true; - break; - } - } - if (!found) revert("Token not in whitelist"); - require( - balance.coinNativeAmount == msg.value, - "Native coin amount does not match value received" - ); - - // get the contributor's balance for the given campaign and credit them - mapping(uint256 => FundraisingStorage.ContributorInfo) - storage contributor = state.CONTRIBUTORS[msg.sender]; - if (state.CONTRIBUTOR_CAMPAIGNS[msg.sender].length != 0) { - if (contributor[id].exists) { - contributor[id].balance.coinNativeAmount += balance - .coinNativeAmount; - AngelCoreStruct.addToken( - contributor[id].balance, - balance.cw20Addr, - balance.cw20Amount - ); - } else { - AngelCoreStruct.GenericBalance memory default_bal; - default_bal.coinNativeAmount += balance.coinNativeAmount; - default_bal = AngelCoreStruct.addTokenMem( - default_bal, - balance.cw20Addr, - balance.cw20Amount - ); - contributor[id] = FundraisingStorage.ContributorInfo({ - campaign: id, - balance: default_bal, - rewardsClaimed: false, - contributionRefunded: false, - exists: true - }); - state.CONTRIBUTOR_CAMPAIGNS[msg.sender].push(id); - } - } else { - AngelCoreStruct.GenericBalance memory default_bal; - default_bal.coinNativeAmount += balance.coinNativeAmount; - default_bal = AngelCoreStruct.addTokenMem( - default_bal, - balance.cw20Addr, - balance.cw20Amount - ); - - contributor[id] = FundraisingStorage.ContributorInfo({ - campaign: id, - balance: default_bal, - rewardsClaimed: false, - contributionRefunded: false, - exists: true - }); - state.CONTRIBUTOR_CAMPAIGNS[msg.sender].push(id); - } - - campaign.contributedBalance.coinNativeAmount += balance - .coinNativeAmount; - AngelCoreStruct.addToken( - campaign.contributedBalance, - balance.cw20Addr, - balance.cw20Amount - ); - - found = false; - for (uint256 i = 0; i < campaign.contributors.length; i++) { - if (campaign.contributors[i] == msg.sender) { - found = true; - break; - } - } - if (!found) campaign.contributors.push(msg.sender); - - emit FundraisingCampaignUpdated(id, campaign); - emit FundraisingContributorUpdated(id, msg.sender, contributor[id]); - } - - /** - * @notice Refund a contributor's contribution - * @param id uint256 - */ - function executeRefundContributions(uint256 id) public { - Campaign storage campaign = state.CAMPAIGNS[id]; - // check if campaign exists - if (campaign.creator == address(0)) revert("Campaign does not exist"); - - if (campaign.open) revert("Campaign is open"); - - if (!state.CONTRIBUTORS[msg.sender][id].exists) revert("Invalid input"); - if (state.CONTRIBUTORS[msg.sender][id].contributionRefunded) - revert("Already refunded"); - state.CONTRIBUTORS[msg.sender][id].contributionRefunded = true; - sendTokens(msg.sender, state.CONTRIBUTORS[msg.sender][id].balance); - emit FundraisingContributorUpdated( - id, - msg.sender, - state.CONTRIBUTORS[msg.sender][id] - ); - emit FundraisingContributionRefunded( - id, - msg.sender, - state.CONTRIBUTORS[msg.sender][id].balance - ); - } - - /** - * @notice Claim rewards for a contributor - * @param id uint256 - */ - function executeClaimRewards(uint256 id) public { - Campaign storage campaign = state.CAMPAIGNS[id]; - // check if campaign exists - if (campaign.creator == address(0)) revert("Campaign does not exist"); - - if (campaign.open) revert("Campaign is open"); - mapping(uint256 => FundraisingStorage.ContributorInfo) - storage contributor = state.CONTRIBUTORS[msg.sender]; - - if (!contributor[id].exists) revert("Invalid input"); - - // FundraisingStorage.ContributorInfo storage camp_contrib = contributor[uint256(pos)]; - if (contributor[id].rewardsClaimed) revert("Already claimed"); - - uint256 allCoins = campaign - .contributedBalance - .Cw20CoinVerified_addr - .length; - AngelCoreStruct.GenericBalance memory rewards = AngelCoreStruct - .GenericBalance( - 0, - new uint256[](allCoins), - new address[](allCoins) - ); - - if (campaign.contributedBalance.coinNativeAmount == 0) - rewards.coinNativeAmount = 0; - else { - rewards.coinNativeAmount = - (contributor[id].balance.coinNativeAmount * - campaign.lockedBalance.coinNativeAmount) / - campaign.contributedBalance.coinNativeAmount; - } - rewards.Cw20CoinVerified_addr = campaign - .contributedBalance - .Cw20CoinVerified_addr; - - for (uint256 i = 0; i < allCoins; i++) { - uint256 lockedBalanceAmt = 0; - for ( - uint256 j = 0; - j < campaign.lockedBalance.Cw20CoinVerified_addr.length; - j++ - ) { - if ( - campaign.lockedBalance.Cw20CoinVerified_addr[j] == - rewards.Cw20CoinVerified_addr[i] - ) { - lockedBalanceAmt = campaign - .lockedBalance - .Cw20CoinVerified_amount[j]; - break; - } - } - uint256 contributorAmt = 0; - for ( - uint256 j = 0; - j < contributor[id].balance.Cw20CoinVerified_addr.length; - j++ - ) { - if ( - contributor[id].balance.Cw20CoinVerified_addr[j] == - rewards.Cw20CoinVerified_addr[i] - ) { - contributorAmt = contributor[id] - .balance - .Cw20CoinVerified_amount[j]; - break; - } - } - rewards.Cw20CoinVerified_amount[i] = - (contributorAmt * lockedBalanceAmt) / - campaign.contributedBalance.Cw20CoinVerified_amount[i]; - rewards.Cw20CoinVerified_addr[i] = campaign - .contributedBalance - .Cw20CoinVerified_addr[i]; - } - sendTokens(msg.sender, rewards); - contributor[id].rewardsClaimed = true; - emit FundraisingContributorUpdated(id, msg.sender, contributor[id]); - emit FundraisingRewardsClaimed(id, msg.sender, rewards); - } - - /** - * @notice Internal function used to send tokens to a balance - * @param to address - * @param balance AngelCoreStruct.GenericBalance - */ - function sendTokens( - address to, - AngelCoreStruct.GenericBalance memory balance - ) internal { - if (balance.coinNativeAmount > 0) { - (bool sent, ) = to.call{value: balance.coinNativeAmount}(""); - require(sent, "Failed to send Native Coin"); - } - for (uint256 i = 0; i < balance.Cw20CoinVerified_amount.length; i++) { - require( - IERC20(balance.Cw20CoinVerified_addr[i]).transfer( - to, - balance.Cw20CoinVerified_amount[i] - ), - "Transfer failed" - ); - } - } - - // function thresholdMet(AngelCoreStruct.GenericBalance memory contributed, AngelCoreStruct.GenericBalance memory threshold) internal pure returns(bool){ - // // TODO: verify this - // bool result = false; - // if(contributed.coinNativeAmount >= threshold.coinNativeAmount && contributed.coinNativeAmount > 0) result = true; - // int index = -1; - // for(uint256 i = 0; i < threshold.Cw20CoinVerified_addr.length; i++){ - // for(uint256 j = 0; j < contributed.Cw20CoinVerified_addr.length; j++){ - // if(contributed.Cw20CoinVerified_addr[j] == threshold.Cw20CoinVerified_addr[i]){ - // index = int(j); - // break; - // } - // } - // if(index > -1) result = contributed.Cw20CoinVerified_amount[uint256(index)] >= threshold.Cw20CoinVerified_amount[i]; - // } - // return result; - // } - // function calculateWitholding(uint256 taxRate, AngelCoreStruct.GenericBalance storage balance) internal returns(AngelCoreStruct.GenericBalance memory, AngelCoreStruct.GenericBalance memory){ - // AngelCoreStruct.GenericBalance storage contributed_less_tax = balance; - // AngelCoreStruct.GenericBalance memory withholding_balance; // initialized to default - // // AngelCoreStruct.GenericBalance memory - - // withholding_balance.coinNativeAmount += (balance.coinNativeAmount * taxRate)/100; - // contributed_less_tax.coinNativeAmount -= (balance.coinNativeAmount * taxRate)/100; - - // for(uint256 i = 0; i < balance.Cw20CoinVerified_addr.length; i++){ - // withholding_balance = AngelCoreStruct.addTokenMem( - // withholding_balance, - // balance.Cw20CoinVerified_addr[i], - // (balance.Cw20CoinVerified_amount[i] * taxRate)/100 - // ); - // AngelCoreStruct.subToken( - // contributed_less_tax, - // balance.Cw20CoinVerified_addr[i], - // (balance.Cw20CoinVerified_amount[i] * taxRate)/100 - // ); - // } - // return (contributed_less_tax, withholding_balance); - // } - - /** - * @notice query details of a campaign - * @param id the id of the campaign - */ - function queryDetails( - uint256 id - ) public view returns (FundraisingMessage.DetailsResponse memory) { - FundraisingMessage.DetailsResponse memory details = FundraisingMessage - .DetailsResponse({ - id: id, - creator: state.CAMPAIGNS[id].creator, - title: state.CAMPAIGNS[id].title, - description: state.CAMPAIGNS[id].description, - imageUrl: state.CAMPAIGNS[id].imageUrl, - endTimeEpoch: state.CAMPAIGNS[id].endTimeEpoch, - fundingGoal: state.CAMPAIGNS[id].fundingGoal, - fundingThreshold: state.CAMPAIGNS[id].fundingThreshold, - lockedBalance: state.CAMPAIGNS[id].lockedBalance, - contributorCount: state.CAMPAIGNS[id].contributors.length, - contributedBalance: state.CAMPAIGNS[id].contributedBalance, - success: state.CAMPAIGNS[id].success, - open: state.CAMPAIGNS[id].open - }); - return details; - } - - function queryConfig() - public - view - returns (FundraisingStorage.Config memory) - { - return state.config; - } - // function queryList(address creator, bool open, bool success) public view returns(FundraisingMessage.ListResponse memory){ - // uint256 count = 0; - // for(uint256 i = 0; i < state.CAMPAIGN_IDS.length; i++){ - // if(state.CAMPAIGNS[state.CAMPAIGN_IDS[i]].creator == creator && state.CAMPAIGNS[state.CAMPAIGN_IDS[i]].open == open && state.CAMPAIGNS[state.CAMPAIGN_IDS[i]].success == success){ - // count++; - // } - // } - // Campaign[] memory campaigns = new Campaign[](count); - // uint256 pos = 0; - // for(uint256 i = 0; i < state.CAMPAIGN_IDS.length; i++){ - // if(state.CAMPAIGNS[state.CAMPAIGN_IDS[i]].creator == creator && state.CAMPAIGNS[state.CAMPAIGN_IDS[i]].open == open && state.CAMPAIGNS[state.CAMPAIGN_IDS[i]].success == success){ - // campaigns[pos] = state.CAMPAIGNS[i]; - // pos++; - // } - // } - // FundraisingMessage.ListResponse memory list = FundraisingMessage.ListResponse({ - // campaigns: campaigns - // }); - // return list; - // } -} +// // SPDX-License-Identifier: MIT +// pragma solidity ^0.8.16; + +// import "./message.sol"; +// import "./storage.sol"; +// import {IRegistrar} from "../../core/registrar/interfaces/IRegistrar.sol"; +// import {RegistrarStorage} from "../../core/registrar/storage.sol"; +// import {AngelCoreStruct} from "../../core/struct.sol"; +// import {IAccountsQuery} from "../../core/accounts/interfaces/IAccountsQuery.sol"; +// import {AccountStorage} from "../../core/accounts/storage.sol"; +// import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +// import {FundraisingLib} from "./FundraisingLib.sol"; + +// /** +// * @title Fundraising +// * @dev Fundraising contract +// * 1) Through this contract, users can create and manage fundraising campaigns +// * 2) Users can contribute to the campaign +// * 3) Users can top up their contributions to the campaign +// * 4) Users can claim their rewards +// */ +// contract Fundraising is StorageFundraising { +// // flag for initialization +// bool initialized = false; + +// /* Events */ +// event FundraisingConfigUpdated(FundraisingStorage.Config config); +// event FundraisingCampaignCreated(uint256 campaignId, Campaign campaign); +// event FundraisingCampaignUpdated(uint256 campaignId, Campaign campaign); +// event FundraisingContributorUpdated( +// uint256 campaignId, +// address sender, +// FundraisingStorage.ContributorInfo contributorInfo +// ); +// event FundraisingContributionRefunded( +// uint256 campaignId, +// address sender, +// AngelCoreStruct.GenericBalance balance +// ); +// event FundraisingRewardsClaimed( +// uint256 campaignId, +// address sender, +// AngelCoreStruct.GenericBalance balance +// ); + +// /** +// * @dev Initialize the contract +// * @param details FundraisingMessage.InstantiateMsg used to initialize the contract +// */ +// function initFundraising( +// FundraisingMessage.InstantiateMsg memory details +// ) public { +// if (initialized) revert("Already initialized"); +// initialized = true; +// state.config.registrarContract = details.registrarContract; +// state.config.nextId = details.nextId; +// state.config.campaignPeriodSeconds = details.campaignPeriodSeconds; +// state.config.taxRate = details.taxRate; +// state.config.acceptedTokens = details.acceptedTokens; +// emit FundraisingConfigUpdated(state.config); +// } + +// /** +// * @dev Get the config of the fundraising contract +// * @return FundraisingStorage.Config +// */ +// function getRegistrarConfig() +// public +// view +// returns (RegistrarStorage.Config memory) +// { +// address registrarContract = state.config.registrarContract; +// return IRegistrar(registrarContract).queryConfig(); +// } + +// /** +// * @dev update the config of the fundraising contract +// * @param campaignPeriodSeconds uint256 +// * @param taxRate uint256 +// * @param acceptedTokens AngelCoreStruct.GenericBalance +// */ +// function executeUpdateConfig( +// uint256 campaignPeriodSeconds, +// uint256 taxRate, +// AngelCoreStruct.GenericBalance memory acceptedTokens +// ) public { +// address registrarContract = state.config.registrarContract; +// require(msg.sender == IRegistrar(registrarContract).owner(), "Unauthorized"); +// state.config.campaignPeriodSeconds = campaignPeriodSeconds; +// state.config.taxRate = taxRate; +// state.config.acceptedTokens = acceptedTokens; + +// emit FundraisingConfigUpdated(state.config); +// } + +// /** +// * @dev Create a fundraising campaign +// * @param endowmentId uint256 +// * @param message FundraisingMessage.CreateMsg +// * @param balance Balance +// */ +// function executeCreate( +// uint256 endowmentId, +// FundraisingMessage.CreateMsg memory message, +// Balance memory balance, +// address sender // TODO: remove this param as sender will always be accountsContract +// ) public payable { +// if (balance.coinNativeAmount == 0 && balance.cw20Addr == address(0)) +// revert("Invalid inputs"); +// // receive tokens +// bool success = IERC20(balance.cw20Addr).transferFrom( +// msg.sender, +// address(this), +// balance.cw20Amount +// ); +// require(success, "Transfer failed"); + +// FundraisingStorage.Config storage config = state.config; +// address accountsContract = sender; +// RegistrarStorage.Config memory registrarConfig = getRegistrarConfig(); + +// if (registrarConfig.accountsContract == address(0)) +// revert("accountsContract does not exist"); +// if (registrarConfig.accountsContract != accountsContract) +// revert("Unauthorized"); + +// AccountStorage.Endowment memory endowment_details = IAccountsQuery( +// accountsContract +// ).queryEndowmentDetails(endowmentId); +// if ( +// endowment_details.status != AngelCoreStruct.EndowmentStatus.Approved +// ) revert("Unauthorized"); + +// // assert that the campaign has started already +// if ( +// message.endTimeEpoch - config.campaignPeriodSeconds <= +// block.timestamp +// ) { +// revert("Invalid inputs"); +// } +// uint256[] memory cw20Amount = new uint256[](1); +// cw20Amount[0] = balance.cw20Amount; +// address[] memory cw20Addr = new address[](1); +// cw20Addr[0] = balance.cw20Addr; + +// require( +// balance.coinNativeAmount == msg.value, +// "Native coin amount mismatch" +// ); + +// AngelCoreStruct.GenericBalance memory lockedBalance = AngelCoreStruct +// .GenericBalance({ +// coinNativeAmount: balance.coinNativeAmount, +// Cw20CoinVerified_amount: cw20Amount, +// Cw20CoinVerified_addr: cw20Addr +// }); +// AngelCoreStruct.GenericBalance memory fundingThreshold; +// AngelCoreStruct.GenericBalance memory contributedBalance; + +// // check we have a single token to use as the desired contribution token for the campaign +// if ( +// message.fundingGoal.coinNativeAmount > 0 && +// message.fundingGoal.Cw20CoinVerified_amount.length == 0 +// ) { +// fundingThreshold.coinNativeAmount = +// (message.fundingGoal.coinNativeAmount * +// message.rewardThreshold) / +// 100; +// contributedBalance.coinNativeAmount = 0; +// } else if ( +// message.fundingGoal.Cw20CoinVerified_addr.length == 1 && +// message.fundingGoal.coinNativeAmount == 0 +// ) { +// int256 pos = -1; +// for ( +// uint256 i = 0; +// i < config.acceptedTokens.Cw20CoinVerified_addr.length; +// i++ +// ) { +// if ( +// config.acceptedTokens.Cw20CoinVerified_addr[i] == +// message.fundingGoal.Cw20CoinVerified_addr[0] +// ) { +// pos = int256(i); +// break; +// } +// } +// if (pos < 0) revert("Token not in allowlist"); +// fundingThreshold.Cw20CoinVerified_amount = new uint256[](1); +// fundingThreshold.Cw20CoinVerified_addr = new address[](1); +// fundingThreshold.Cw20CoinVerified_amount[0] = +// (message.fundingGoal.Cw20CoinVerified_amount[0] * +// message.rewardThreshold) / +// 100; +// fundingThreshold.Cw20CoinVerified_addr[0] = message +// .fundingGoal +// .Cw20CoinVerified_addr[0]; +// contributedBalance.Cw20CoinVerified_amount = new uint256[](1); +// contributedBalance.Cw20CoinVerified_addr = new address[](1); +// contributedBalance.Cw20CoinVerified_amount[0] = 0; +// contributedBalance.Cw20CoinVerified_addr[0] = message +// .fundingGoal +// .Cw20CoinVerified_addr[0]; +// } else { +// revert( +// "Contract only accepts a single CW20 or Native Token at a time for funding goal" +// ); +// } +// Campaign memory campaign = Campaign({ +// open: true, +// success: false, +// creator: msg.sender, +// title: message.title, +// description: message.description, +// imageUrl: message.imageUrl, +// endTimeEpoch: message.endTimeEpoch, +// fundingGoal: message.fundingGoal, +// fundingThreshold: fundingThreshold, +// lockedBalance: lockedBalance, +// contributedBalance: contributedBalance, +// contributors: new address[](0) +// }); +// if (state.CAMPAIGNS[config.nextId].creator == address(0)) { +// state.CAMPAIGNS[config.nextId] = campaign; +// emit FundraisingCampaignCreated(config.nextId, campaign); +// } else { +// revert("Campaign already exists"); +// } +// config.nextId += 1; +// emit FundraisingConfigUpdated(config); +// } + +// /** +// * @notice Close a campaign +// * @param id uint256 +// */ +// function executeCloseCampaign(uint256 id) public { +// // check if campaign exists +// if (state.CAMPAIGNS[id].creator == address(0)) +// revert("Campaign does not exist"); + +// if (!FundraisingLib.isExpired(state.CAMPAIGNS[id])) +// revert("Not expired"); +// RegistrarStorage.Config memory registrarConfig = getRegistrarConfig(); + +// Campaign storage campaign = state.CAMPAIGNS[id]; + +// if ( +// FundraisingLib.thresholdMet( +// campaign.contributedBalance, +// campaign.fundingGoal +// ) +// ) { +// campaign.success = true; +// ( +// AngelCoreStruct.GenericBalance memory balance_less_tax, +// AngelCoreStruct.GenericBalance memory withholding_balance +// ) = FundraisingLib.calculateWitholding( +// state.config.taxRate, +// campaign.contributedBalance +// ); +// sendTokens(campaign.creator, balance_less_tax); +// sendTokens(registrarConfig.treasury, withholding_balance); +// } else { +// sendTokens(campaign.creator, campaign.lockedBalance); +// } +// campaign.open = false; +// emit FundraisingCampaignUpdated(id, campaign); +// } + +// /** +// * @notice Top up a campaign +// * @param id uint256 +// * @param balance Balance +// */ +// function executeTopUp(uint256 id, Balance memory balance) public payable { +// if (balance.coinNativeAmount == 0 && balance.cw20Addr == address(0)) +// revert("Invalid inputs"); +// // receive tokens +// bool success = IERC20(balance.cw20Addr).transferFrom( +// msg.sender, +// address(this), +// balance.cw20Amount +// ); +// require(success, "Transfer failed"); +// Campaign storage campaign = state.CAMPAIGNS[id]; +// // check if state.CAMPAIGNS[id] exists +// if (campaign.creator == address(0)) revert("Campaign does not exist"); + +// if (!campaign.open || FundraisingLib.isExpired(campaign)) +// revert("Campaign is expired"); +// if (msg.sender != campaign.creator) revert("Unauthorized"); + +// // ensure the token is on the allowlist +// bool found = false; +// for ( +// uint256 i = 0; +// i < campaign.fundingGoal.Cw20CoinVerified_addr.length; +// i++ +// ) { +// if ( +// campaign.fundingGoal.Cw20CoinVerified_addr[i] == +// balance.cw20Addr +// ) { +// found = true; +// break; +// } +// } +// if (!found) revert("Token not in allowed list"); +// require( +// balance.coinNativeAmount == msg.value, +// "Native coin amount does not match value received" +// ); +// campaign.lockedBalance.coinNativeAmount += balance.coinNativeAmount; +// AngelCoreStruct.addToken( +// campaign.lockedBalance, +// balance.cw20Addr, +// balance.cw20Amount +// ); +// emit FundraisingCampaignUpdated(id, campaign); +// } + +// /** +// * @notice Contribute to a campaign +// * @param id uint256 +// * @param balance Balance +// */ +// function executeContribute( +// uint256 id, +// Balance memory balance +// ) public payable { +// if (balance.coinNativeAmount == 0 && balance.cw20Addr == address(0)) +// revert("Invalid inputs"); +// // receive tokens +// bool success = IERC20(balance.cw20Addr).transferFrom( +// msg.sender, +// address(this), +// balance.cw20Amount +// ); +// require(success, "Transfer failed"); + +// Campaign storage campaign = state.CAMPAIGNS[id]; +// // check if state.CAMPAIGNS[id] exists +// if (campaign.creator == address(0)) revert("Campaign does not exist"); + +// if (!campaign.open || FundraisingLib.isExpired(campaign)) revert(); + +// // ensure the token is on the allowlist +// bool found = false; +// for ( +// uint256 i = 0; +// i < campaign.fundingGoal.Cw20CoinVerified_addr.length; +// i++ +// ) { +// if ( +// campaign.fundingGoal.Cw20CoinVerified_addr[i] == +// balance.cw20Addr +// ) { +// found = true; +// break; +// } +// } +// if (!found) revert("Token not in allowlist"); +// require( +// balance.coinNativeAmount == msg.value, +// "Native coin amount does not match value received" +// ); + +// // get the contributor's balance for the given campaign and credit them +// mapping(uint256 => FundraisingStorage.ContributorInfo) +// storage contributor = state.CONTRIBUTORS[msg.sender]; +// if (state.CONTRIBUTOR_CAMPAIGNS[msg.sender].length != 0) { +// if (contributor[id].exists) { +// contributor[id].balance.coinNativeAmount += balance +// .coinNativeAmount; +// AngelCoreStruct.addToken( +// contributor[id].balance, +// balance.cw20Addr, +// balance.cw20Amount +// ); +// } else { +// AngelCoreStruct.GenericBalance memory default_bal; +// default_bal.coinNativeAmount += balance.coinNativeAmount; +// default_bal = AngelCoreStruct.addTokenMem( +// default_bal, +// balance.cw20Addr, +// balance.cw20Amount +// ); +// contributor[id] = FundraisingStorage.ContributorInfo({ +// campaign: id, +// balance: default_bal, +// rewardsClaimed: false, +// contributionRefunded: false, +// exists: true +// }); +// state.CONTRIBUTOR_CAMPAIGNS[msg.sender].push(id); +// } +// } else { +// AngelCoreStruct.GenericBalance memory default_bal; +// default_bal.coinNativeAmount += balance.coinNativeAmount; +// default_bal = AngelCoreStruct.addTokenMem( +// default_bal, +// balance.cw20Addr, +// balance.cw20Amount +// ); + +// contributor[id] = FundraisingStorage.ContributorInfo({ +// campaign: id, +// balance: default_bal, +// rewardsClaimed: false, +// contributionRefunded: false, +// exists: true +// }); +// state.CONTRIBUTOR_CAMPAIGNS[msg.sender].push(id); +// } + +// campaign.contributedBalance.coinNativeAmount += balance +// .coinNativeAmount; +// AngelCoreStruct.addToken( +// campaign.contributedBalance, +// balance.cw20Addr, +// balance.cw20Amount +// ); + +// found = false; +// for (uint256 i = 0; i < campaign.contributors.length; i++) { +// if (campaign.contributors[i] == msg.sender) { +// found = true; +// break; +// } +// } +// if (!found) campaign.contributors.push(msg.sender); + +// emit FundraisingCampaignUpdated(id, campaign); +// emit FundraisingContributorUpdated(id, msg.sender, contributor[id]); +// } + +// /** +// * @notice Refund a contributor's contribution +// * @param id uint256 +// */ +// function executeRefundContributions(uint256 id) public { +// Campaign storage campaign = state.CAMPAIGNS[id]; +// // check if campaign exists +// if (campaign.creator == address(0)) revert("Campaign does not exist"); + +// if (campaign.open) revert("Campaign is open"); + +// if (!state.CONTRIBUTORS[msg.sender][id].exists) revert("Invalid input"); +// if (state.CONTRIBUTORS[msg.sender][id].contributionRefunded) +// revert("Already refunded"); +// state.CONTRIBUTORS[msg.sender][id].contributionRefunded = true; +// sendTokens(msg.sender, state.CONTRIBUTORS[msg.sender][id].balance); +// emit FundraisingContributorUpdated( +// id, +// msg.sender, +// state.CONTRIBUTORS[msg.sender][id] +// ); +// emit FundraisingContributionRefunded( +// id, +// msg.sender, +// state.CONTRIBUTORS[msg.sender][id].balance +// ); +// } + +// /** +// * @notice Claim rewards for a contributor +// * @param id uint256 +// */ +// function executeClaimRewards(uint256 id) public { +// Campaign storage campaign = state.CAMPAIGNS[id]; +// // check if campaign exists +// if (campaign.creator == address(0)) revert("Campaign does not exist"); + +// if (campaign.open) revert("Campaign is open"); +// mapping(uint256 => FundraisingStorage.ContributorInfo) +// storage contributor = state.CONTRIBUTORS[msg.sender]; + +// if (!contributor[id].exists) revert("Invalid input"); + +// // FundraisingStorage.ContributorInfo storage camp_contrib = contributor[uint256(pos)]; +// if (contributor[id].rewardsClaimed) revert("Already claimed"); + +// uint256 allCoins = campaign +// .contributedBalance +// .Cw20CoinVerified_addr +// .length; +// AngelCoreStruct.GenericBalance memory rewards = AngelCoreStruct +// .GenericBalance( +// 0, +// new uint256[](allCoins), +// new address[](allCoins) +// ); + +// if (campaign.contributedBalance.coinNativeAmount == 0) +// rewards.coinNativeAmount = 0; +// else { +// rewards.coinNativeAmount = +// (contributor[id].balance.coinNativeAmount * +// campaign.lockedBalance.coinNativeAmount) / +// campaign.contributedBalance.coinNativeAmount; +// } +// rewards.Cw20CoinVerified_addr = campaign +// .contributedBalance +// .Cw20CoinVerified_addr; + +// for (uint256 i = 0; i < allCoins; i++) { +// uint256 lockedBalanceAmt = 0; +// for ( +// uint256 j = 0; +// j < campaign.lockedBalance.Cw20CoinVerified_addr.length; +// j++ +// ) { +// if ( +// campaign.lockedBalance.Cw20CoinVerified_addr[j] == +// rewards.Cw20CoinVerified_addr[i] +// ) { +// lockedBalanceAmt = campaign +// .lockedBalance +// .Cw20CoinVerified_amount[j]; +// break; +// } +// } +// uint256 contributorAmt = 0; +// for ( +// uint256 j = 0; +// j < contributor[id].balance.Cw20CoinVerified_addr.length; +// j++ +// ) { +// if ( +// contributor[id].balance.Cw20CoinVerified_addr[j] == +// rewards.Cw20CoinVerified_addr[i] +// ) { +// contributorAmt = contributor[id] +// .balance +// .Cw20CoinVerified_amount[j]; +// break; +// } +// } +// rewards.Cw20CoinVerified_amount[i] = +// (contributorAmt * lockedBalanceAmt) / +// campaign.contributedBalance.Cw20CoinVerified_amount[i]; +// rewards.Cw20CoinVerified_addr[i] = campaign +// .contributedBalance +// .Cw20CoinVerified_addr[i]; +// } +// sendTokens(msg.sender, rewards); +// contributor[id].rewardsClaimed = true; +// emit FundraisingContributorUpdated(id, msg.sender, contributor[id]); +// emit FundraisingRewardsClaimed(id, msg.sender, rewards); +// } + +// /** +// * @notice Internal function used to send tokens to a balance +// * @param to address +// * @param balance AngelCoreStruct.GenericBalance +// */ +// function sendTokens( +// address to, +// AngelCoreStruct.GenericBalance memory balance +// ) internal { +// if (balance.coinNativeAmount > 0) { +// (bool sent, ) = to.call{value: balance.coinNativeAmount}(""); +// require(sent, "Failed to send Native Coin"); +// } +// for (uint256 i = 0; i < balance.Cw20CoinVerified_amount.length; i++) { +// require( +// IERC20(balance.Cw20CoinVerified_addr[i]).transfer( +// to, +// balance.Cw20CoinVerified_amount[i] +// ), +// "Transfer failed" +// ); +// } +// } + +// // function thresholdMet(AngelCoreStruct.GenericBalance memory contributed, AngelCoreStruct.GenericBalance memory threshold) internal pure returns(bool){ +// // // TODO: verify this +// // bool result = false; +// // if(contributed.coinNativeAmount >= threshold.coinNativeAmount && contributed.coinNativeAmount > 0) result = true; +// // int index = -1; +// // for(uint256 i = 0; i < threshold.Cw20CoinVerified_addr.length; i++){ +// // for(uint256 j = 0; j < contributed.Cw20CoinVerified_addr.length; j++){ +// // if(contributed.Cw20CoinVerified_addr[j] == threshold.Cw20CoinVerified_addr[i]){ +// // index = int(j); +// // break; +// // } +// // } +// // if(index > -1) result = contributed.Cw20CoinVerified_amount[uint256(index)] >= threshold.Cw20CoinVerified_amount[i]; +// // } +// // return result; +// // } +// // function calculateWitholding(uint256 taxRate, AngelCoreStruct.GenericBalance storage balance) internal returns(AngelCoreStruct.GenericBalance memory, AngelCoreStruct.GenericBalance memory){ +// // AngelCoreStruct.GenericBalance storage contributed_less_tax = balance; +// // AngelCoreStruct.GenericBalance memory withholding_balance; // initialized to default +// // // AngelCoreStruct.GenericBalance memory + +// // withholding_balance.coinNativeAmount += (balance.coinNativeAmount * taxRate)/100; +// // contributed_less_tax.coinNativeAmount -= (balance.coinNativeAmount * taxRate)/100; + +// // for(uint256 i = 0; i < balance.Cw20CoinVerified_addr.length; i++){ +// // withholding_balance = AngelCoreStruct.addTokenMem( +// // withholding_balance, +// // balance.Cw20CoinVerified_addr[i], +// // (balance.Cw20CoinVerified_amount[i] * taxRate)/100 +// // ); +// // AngelCoreStruct.subToken( +// // contributed_less_tax, +// // balance.Cw20CoinVerified_addr[i], +// // (balance.Cw20CoinVerified_amount[i] * taxRate)/100 +// // ); +// // } +// // return (contributed_less_tax, withholding_balance); +// // } + +// /** +// * @notice query details of a campaign +// * @param id the id of the campaign +// */ +// function queryDetails( +// uint256 id +// ) public view returns (FundraisingMessage.DetailsResponse memory) { +// FundraisingMessage.DetailsResponse memory details = FundraisingMessage +// .DetailsResponse({ +// id: id, +// creator: state.CAMPAIGNS[id].creator, +// title: state.CAMPAIGNS[id].title, +// description: state.CAMPAIGNS[id].description, +// imageUrl: state.CAMPAIGNS[id].imageUrl, +// endTimeEpoch: state.CAMPAIGNS[id].endTimeEpoch, +// fundingGoal: state.CAMPAIGNS[id].fundingGoal, +// fundingThreshold: state.CAMPAIGNS[id].fundingThreshold, +// lockedBalance: state.CAMPAIGNS[id].lockedBalance, +// contributorCount: state.CAMPAIGNS[id].contributors.length, +// contributedBalance: state.CAMPAIGNS[id].contributedBalance, +// success: state.CAMPAIGNS[id].success, +// open: state.CAMPAIGNS[id].open +// }); +// return details; +// } + +// function queryConfig() +// public +// view +// returns (FundraisingStorage.Config memory) +// { +// return state.config; +// } +// // function queryList(address creator, bool open, bool success) public view returns(FundraisingMessage.ListResponse memory){ +// // uint256 count = 0; +// // for(uint256 i = 0; i < state.CAMPAIGN_IDS.length; i++){ +// // if(state.CAMPAIGNS[state.CAMPAIGN_IDS[i]].creator == creator && state.CAMPAIGNS[state.CAMPAIGN_IDS[i]].open == open && state.CAMPAIGNS[state.CAMPAIGN_IDS[i]].success == success){ +// // count++; +// // } +// // } +// // Campaign[] memory campaigns = new Campaign[](count); +// // uint256 pos = 0; +// // for(uint256 i = 0; i < state.CAMPAIGN_IDS.length; i++){ +// // if(state.CAMPAIGNS[state.CAMPAIGN_IDS[i]].creator == creator && state.CAMPAIGNS[state.CAMPAIGN_IDS[i]].open == open && state.CAMPAIGNS[state.CAMPAIGN_IDS[i]].success == success){ +// // campaigns[pos] = state.CAMPAIGNS[i]; +// // pos++; +// // } +// // } +// // FundraisingMessage.ListResponse memory list = FundraisingMessage.ListResponse({ +// // campaigns: campaigns +// // }); +// // return list; +// // } +// } diff --git a/contracts/accessory/fundraising/FundraisingLib.sol b/contracts/accessory/fundraising/FundraisingLib.sol index 8611808c6..5fd2b36e2 100644 --- a/contracts/accessory/fundraising/FundraisingLib.sol +++ b/contracts/accessory/fundraising/FundraisingLib.sol @@ -1,84 +1,84 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.16; +// // SPDX-License-Identifier: MIT +// pragma solidity ^0.8.16; -import {AngelCoreStruct} from "../../core/struct.sol"; -import "./message.sol"; +// import {AngelCoreStruct} from "../../core/struct.sol"; +// import "./message.sol"; -library FundraisingLib { - function isExpired(Campaign storage self) public view returns (bool) { - if (block.timestamp > self.endTimeEpoch) { - return true; - } - return false; - } +// library FundraisingLib { +// function isExpired(Campaign storage self) public view returns (bool) { +// if (block.timestamp > self.endTimeEpoch) { +// return true; +// } +// return false; +// } - function calculateWitholding( - uint256 taxRate, - AngelCoreStruct.GenericBalance storage balance - ) - public - view - returns ( - AngelCoreStruct.GenericBalance memory, - AngelCoreStruct.GenericBalance memory - ) - { - AngelCoreStruct.GenericBalance memory contributed_less_tax = balance; - AngelCoreStruct.GenericBalance memory withholding_balance; // initialized to default - // AngelCoreStruct.GenericBalance memory +// function calculateWitholding( +// uint256 taxRate, +// AngelCoreStruct.GenericBalance storage balance +// ) +// public +// view +// returns ( +// AngelCoreStruct.GenericBalance memory, +// AngelCoreStruct.GenericBalance memory +// ) +// { +// AngelCoreStruct.GenericBalance memory contributed_less_tax = balance; +// AngelCoreStruct.GenericBalance memory withholding_balance; // initialized to default +// // AngelCoreStruct.GenericBalance memory - withholding_balance.coinNativeAmount += - (balance.coinNativeAmount * taxRate) / - 100; - contributed_less_tax.coinNativeAmount -= - (balance.coinNativeAmount * taxRate) / - 100; +// withholding_balance.coinNativeAmount += +// (balance.coinNativeAmount * taxRate) / +// 100; +// contributed_less_tax.coinNativeAmount -= +// (balance.coinNativeAmount * taxRate) / +// 100; - for (uint256 i = 0; i < balance.Cw20CoinVerified_addr.length; i++) { - withholding_balance = AngelCoreStruct.addTokenMem( - withholding_balance, - balance.Cw20CoinVerified_addr[i], - (balance.Cw20CoinVerified_amount[i] * taxRate) / 100 - ); - contributed_less_tax = AngelCoreStruct.subTokenMem( - contributed_less_tax, - balance.Cw20CoinVerified_addr[i], - (balance.Cw20CoinVerified_amount[i] * taxRate) / 100 - ); - } - return (contributed_less_tax, withholding_balance); - } +// for (uint256 i = 0; i < balance.Cw20CoinVerified_addr.length; i++) { +// withholding_balance = AngelCoreStruct.addTokenMem( +// withholding_balance, +// balance.Cw20CoinVerified_addr[i], +// (balance.Cw20CoinVerified_amount[i] * taxRate) / 100 +// ); +// contributed_less_tax = AngelCoreStruct.subTokenMem( +// contributed_less_tax, +// balance.Cw20CoinVerified_addr[i], +// (balance.Cw20CoinVerified_amount[i] * taxRate) / 100 +// ); +// } +// return (contributed_less_tax, withholding_balance); +// } - function thresholdMet( - AngelCoreStruct.GenericBalance memory contributed, - AngelCoreStruct.GenericBalance memory threshold - ) public pure returns (bool) { - // TODO: verify this - bool result = false; - if ( - contributed.coinNativeAmount >= threshold.coinNativeAmount && - contributed.coinNativeAmount > 0 - ) result = true; - int index = -1; - for (uint256 i = 0; i < threshold.Cw20CoinVerified_addr.length; i++) { - for ( - uint256 j = 0; - j < contributed.Cw20CoinVerified_addr.length; - j++ - ) { - if ( - contributed.Cw20CoinVerified_addr[j] == - threshold.Cw20CoinVerified_addr[i] - ) { - index = int(j); - break; - } - } - if (index > -1) - result = - contributed.Cw20CoinVerified_amount[uint256(index)] >= - threshold.Cw20CoinVerified_amount[i]; - } - return result; - } -} +// function thresholdMet( +// AngelCoreStruct.GenericBalance memory contributed, +// AngelCoreStruct.GenericBalance memory threshold +// ) public pure returns (bool) { +// // TODO: verify this +// bool result = false; +// if ( +// contributed.coinNativeAmount >= threshold.coinNativeAmount && +// contributed.coinNativeAmount > 0 +// ) result = true; +// int index = -1; +// for (uint256 i = 0; i < threshold.Cw20CoinVerified_addr.length; i++) { +// for ( +// uint256 j = 0; +// j < contributed.Cw20CoinVerified_addr.length; +// j++ +// ) { +// if ( +// contributed.Cw20CoinVerified_addr[j] == +// threshold.Cw20CoinVerified_addr[i] +// ) { +// index = int(j); +// break; +// } +// } +// if (index > -1) +// result = +// contributed.Cw20CoinVerified_amount[uint256(index)] >= +// threshold.Cw20CoinVerified_amount[i]; +// } +// return result; +// } +// } diff --git a/contracts/accessory/fundraising/message.sol b/contracts/accessory/fundraising/message.sol index 6bc3ae9a4..ced41c0e1 100644 --- a/contracts/accessory/fundraising/message.sol +++ b/contracts/accessory/fundraising/message.sol @@ -1,86 +1,86 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.16; +// // SPDX-License-Identifier: MIT +// pragma solidity ^0.8.16; -import {AngelCoreStruct} from "../../core/struct.sol"; +// import {AngelCoreStruct} from "../../core/struct.sol"; -struct Coin { - string denom; - uint amount; -} +// struct Coin { +// string denom; +// uint amount; +// } -struct Balance { - uint256 coinNativeAmount; - address cw20Addr; - uint256 cw20Amount; -} -struct Cw20CoinVerified { - address addr; - uint amount; - string symbol; - string name; -} +// struct Balance { +// uint256 coinNativeAmount; +// address cw20Addr; +// uint256 cw20Amount; +// } +// struct Cw20CoinVerified { +// address addr; +// uint amount; +// string symbol; +// string name; +// } -struct Campaign { - address creator; - bool open; - bool success; - string title; - string description; - string imageUrl; - uint endTimeEpoch; - AngelCoreStruct.GenericBalance fundingGoal; - AngelCoreStruct.GenericBalance fundingThreshold; - AngelCoreStruct.GenericBalance lockedBalance; - AngelCoreStruct.GenericBalance contributedBalance; - address[] contributors; // TODO: make this a mapping(address => bool) to save gas ? -} +// struct Campaign { +// address creator; +// bool open; +// bool success; +// string title; +// string description; +// string imageUrl; +// uint endTimeEpoch; +// AngelCoreStruct.GenericBalance fundingGoal; +// AngelCoreStruct.GenericBalance fundingThreshold; +// AngelCoreStruct.GenericBalance lockedBalance; +// AngelCoreStruct.GenericBalance contributedBalance; +// address[] contributors; // TODO: make this a mapping(address => bool) to save gas ? +// } -library FundraisingMessage { - // struct Cw20ReceiveMsg { - // string sender, - // uint128 amount, - // , - // } - struct ListResponse { - Campaign[] campaigns; - } +// library FundraisingMessage { +// // struct Cw20ReceiveMsg { +// // string sender, +// // uint128 amount, +// // , +// // } +// struct ListResponse { +// Campaign[] campaigns; +// } - struct MessageInfo { - address sender; - string[] denom; - uint[] amount; - } +// struct MessageInfo { +// address sender; +// string[] denom; +// uint[] amount; +// } - struct InstantiateMsg { - address registrarContract; - uint nextId; - uint campaignPeriodSeconds; - uint taxRate; - AngelCoreStruct.GenericBalance acceptedTokens; - } +// struct InstantiateMsg { +// address registrarContract; +// uint nextId; +// uint campaignPeriodSeconds; +// uint taxRate; +// AngelCoreStruct.GenericBalance acceptedTokens; +// } - struct CreateMsg { - string title; - string description; - string imageUrl; - uint endTimeEpoch; - AngelCoreStruct.GenericBalance fundingGoal; - uint rewardThreshold; - } +// struct CreateMsg { +// string title; +// string description; +// string imageUrl; +// uint endTimeEpoch; +// AngelCoreStruct.GenericBalance fundingGoal; +// uint rewardThreshold; +// } - struct DetailsResponse { - uint id; - address creator; - string title; - string description; - string imageUrl; - uint endTimeEpoch; - AngelCoreStruct.GenericBalance fundingGoal; - AngelCoreStruct.GenericBalance fundingThreshold; - AngelCoreStruct.GenericBalance lockedBalance; - AngelCoreStruct.GenericBalance contributedBalance; - uint contributorCount; - bool success; - bool open; - } -} +// struct DetailsResponse { +// uint id; +// address creator; +// string title; +// string description; +// string imageUrl; +// uint endTimeEpoch; +// AngelCoreStruct.GenericBalance fundingGoal; +// AngelCoreStruct.GenericBalance fundingThreshold; +// AngelCoreStruct.GenericBalance lockedBalance; +// AngelCoreStruct.GenericBalance contributedBalance; +// uint contributorCount; +// bool success; +// bool open; +// } +// } diff --git a/contracts/accessory/fundraising/scripts/deploy.ts b/contracts/accessory/fundraising/scripts/deploy.ts index 9f21bab33..f0839a29b 100644 --- a/contracts/accessory/fundraising/scripts/deploy.ts +++ b/contracts/accessory/fundraising/scripts/deploy.ts @@ -1,74 +1,87 @@ // This is a script for deploying your contracts. You can adapt it to deploy // yours, or create new ones. -import path from "path" -import { saveFrontendFiles } from "scripts/readWriteFile" +import { updateAddresses } from "utils" import { HardhatRuntimeEnvironment } from "hardhat/types" import { FundraisingMessage } from "typechain-types/contracts/accessory/fundraising/Fundraising" -const ADDRESS_ZERO = "0x0000000000000000000000000000000000000000"; +const ADDRESS_ZERO = "0x0000000000000000000000000000000000000000" -export async function deployFundraising(FundraisingDataInput: FundraisingMessage.InstantiateMsgStruct, ANGEL_CORE_STRUCT: string, verify_contracts: boolean, hre: HardhatRuntimeEnvironment) { +export async function deployFundraising( + FundraisingDataInput: FundraisingMessage.InstantiateMsgStruct, + ANGEL_CORE_STRUCT: string, + verify_contracts: boolean, + hre: HardhatRuntimeEnvironment +) { try { - const {network,run,ethers} = hre; + const { network, run, ethers } = hre - let [deployer, proxyAdmin] = await ethers.getSigners(); + let [deployer, proxyAdmin] = await ethers.getSigners() - const FundraisingLib = await ethers.getContractFactory('FundraisingLib', { - libraries:{ - AngelCoreStruct: ANGEL_CORE_STRUCT - } - }); - const FundraisingLibInstance = await FundraisingLib.deploy(); - await FundraisingLibInstance.deployed(); - console.log('FundraisingLib address:', FundraisingLibInstance.address); + const FundraisingLib = await ethers.getContractFactory("FundraisingLib", { + libraries: { + AngelCoreStruct: ANGEL_CORE_STRUCT, + }, + }) + const FundraisingLibInstance = await FundraisingLib.deploy() + await FundraisingLibInstance.deployed() + console.log("FundraisingLib address:", FundraisingLibInstance.address) - const Fundraising = await ethers.getContractFactory('Fundraising',{ - libraries:{ - AngelCoreStruct: ANGEL_CORE_STRUCT, - FundraisingLib: FundraisingLibInstance.address, - } - }); - const FundraisingInstance = await Fundraising.deploy(); - await FundraisingInstance.deployed(); - - console.log('Fundraising implementation address:', FundraisingInstance.address); + const Fundraising = await ethers.getContractFactory("Fundraising", { + libraries: { + AngelCoreStruct: ANGEL_CORE_STRUCT, + FundraisingLib: FundraisingLibInstance.address, + }, + }) + const FundraisingInstance = await Fundraising.deploy() + await FundraisingInstance.deployed() + + console.log("Fundraising implementation address:", FundraisingInstance.address) + + const ProxyContract = await ethers.getContractFactory("ProxyContract") - const ProxyContract = await ethers.getContractFactory('ProxyContract'); + const FundraisingData = FundraisingInstance.interface.encodeFunctionData("initFundraising", [ + FundraisingDataInput, + ]) - const FundraisingData = FundraisingInstance.interface.encodeFunctionData('initFundraising',[FundraisingDataInput]); - - const FundraisingProxy = await ProxyContract.deploy(FundraisingInstance.address, proxyAdmin.address, FundraisingData); - - await FundraisingProxy.deployed(); - - - let FundraisingAddress = { - FundraisingProxy: FundraisingProxy.address, - FundraisingImplementation: FundraisingInstance.address, - FundraisingLibInstance: FundraisingLibInstance.address - } - await saveFrontendFiles({FundraisingAddress}); + const FundraisingProxy = await ProxyContract.deploy( + FundraisingInstance.address, + proxyAdmin.address, + FundraisingData + ) - if(verify_contracts){ - await run("verify:verify", { - address: FundraisingLibInstance.address, - constructorArguments: [], - }); - await run("verify:verify", { - address: FundraisingInstance.address, - constructorArguments: [], - }); - await run("verify:verify", { - address: FundraisingProxy.address, - constructorArguments: [FundraisingInstance.address, proxyAdmin.address, FundraisingData], - }); - } + await FundraisingProxy.deployed() + + await updateAddresses( + { + fundraising: { + proxy: FundraisingProxy.address, + implementation: FundraisingInstance.address, + library: FundraisingLibInstance.address, + }, + }, + hre + ) + + if (verify_contracts) { + await run("verify:verify", { + address: FundraisingLibInstance.address, + constructorArguments: [], + }) + await run("verify:verify", { + address: FundraisingInstance.address, + constructorArguments: [], + }) + await run("verify:verify", { + address: FundraisingProxy.address, + constructorArguments: [FundraisingInstance.address, proxyAdmin.address, FundraisingData], + }) + } - console.log('Fundraising Address (Proxy):', FundraisingProxy.address); + console.log("Fundraising Address (Proxy):", FundraisingProxy.address) - return Promise.resolve(FundraisingProxy.address); + return Promise.resolve(FundraisingProxy.address) } catch (error) { - return Promise.reject(error); + return Promise.reject(error) } } diff --git a/contracts/accessory/fundraising/storage.sol b/contracts/accessory/fundraising/storage.sol index c03002286..c39334a94 100644 --- a/contracts/accessory/fundraising/storage.sol +++ b/contracts/accessory/fundraising/storage.sol @@ -1,35 +1,35 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.16; -import "./message.sol"; +// // SPDX-License-Identifier: MIT +// pragma solidity ^0.8.16; +// import "./message.sol"; -import {AngelCoreStruct} from "../../core/struct.sol"; +// import {AngelCoreStruct} from "../../core/struct.sol"; -library FundraisingStorage { - struct Config { - address registrarContract; - uint256 nextId; - uint256 campaignPeriodSeconds; - uint256 taxRate; - AngelCoreStruct.GenericBalance acceptedTokens; - } +// library FundraisingStorage { +// struct Config { +// address registrarContract; +// uint256 nextId; +// uint256 campaignPeriodSeconds; +// uint256 taxRate; +// AngelCoreStruct.GenericBalance acceptedTokens; +// } - struct ContributorInfo { - uint256 campaign; - AngelCoreStruct.GenericBalance balance; - bool rewardsClaimed; - bool contributionRefunded; - bool exists; - } +// struct ContributorInfo { +// uint256 campaign; +// AngelCoreStruct.GenericBalance balance; +// bool rewardsClaimed; +// bool contributionRefunded; +// bool exists; +// } - struct State { - Config config; - mapping(uint256 => Campaign) CAMPAIGNS; - uint256[] CAMPAIGN_IDS; - mapping(address => mapping(uint256 => ContributorInfo)) CONTRIBUTORS; - mapping(address => uint256[]) CONTRIBUTOR_CAMPAIGNS; - } -} +// struct State { +// Config config; +// mapping(uint256 => Campaign) CAMPAIGNS; +// uint256[] CAMPAIGN_IDS; +// mapping(address => mapping(uint256 => ContributorInfo)) CONTRIBUTORS; +// mapping(address => uint256[]) CONTRIBUTOR_CAMPAIGNS; +// } +// } -contract StorageFundraising { - FundraisingStorage.State state; -} +// contract StorageFundraising { +// FundraisingStorage.State state; +// } diff --git a/contracts/accessory/gift-cards/GiftCards.sol b/contracts/accessory/gift-cards/GiftCards.sol index 90a6dacba..2c8d3b9d5 100644 --- a/contracts/accessory/gift-cards/GiftCards.sol +++ b/contracts/accessory/gift-cards/GiftCards.sol @@ -5,12 +5,14 @@ import "./message.sol"; import "./storage.sol"; import {AngelCoreStruct} from "../../core/struct.sol"; import {RegistrarStorage} from "../../core/registrar/storage.sol"; -import {IRegistrar} from "../../core/registrar/interface/IRegistrar.sol"; -import {IAccountsDepositWithdrawEndowments} from "../../core/accounts/interface/IAccountsDepositWithdrawEndowments.sol"; -import {AccountMessages} from "../../core/accounts/message.sol"; +import {IRegistrar} from "../../core/registrar/interfaces/IRegistrar.sol"; +import {IAccountsDepositWithdrawEndowments} from "../../core/accounts/interfaces/IAccountsDepositWithdrawEndowments.sol"; import {GiftCardsStorage} from "./storage.sol"; -import {AngelCoreStruct} from "../../core/struct.sol"; +import {AccountMessages} from "../../core/accounts/message.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import { Initializable } from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; +import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; +import { ReentrancyGuard } from "@openzeppelin/contracts/security/ReentrancyGuard.sol"; /** * @title GiftCards @@ -19,29 +21,35 @@ import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; * 2) Claim a gift card * 3) Spend a gift card */ -contract GiftCards is Storage { - // init only once - bool initFlag = false; - +contract GiftCards is Storage, Initializable, OwnableUpgradeable, ReentrancyGuard { event GiftCardsUpdateConfig(GiftCardsStorage.Config config); event GiftCardsUpdateBalances( address addr, - AngelCoreStruct.GenericBalance balance + address token, + uint256 amt, + AngelCoreStruct.AllowanceAction action ); event GiftCardsUpdateDeposit( uint256 depositId, GiftCardsStorage.Deposit deposit ); - // Initialise the contract + /// @custom:oz-upgrades-unsafe-allow constructor + constructor () { + _disableInitializers(); + } + + function __GiftCards_init() internal onlyInitializing { + __Ownable_init(); + } + function initialize( - GiftCardsMessage.InstantiateMsg memory curDetails - ) public { - require(!initFlag, "Already initialised"); - initFlag = true; + GiftCardsMessage.InstantiateMsg memory details + ) public initializer { + __GiftCards_init(); state.config.owner = msg.sender; - state.config.registrarContract = curDetails.registrarContract; - state.config.keeper = curDetails.keeper; + state.config.registrarContract = details.registrarContract; + state.config.keeper = details.keeper; state.config.nextDeposit = 1; emit GiftCardsUpdateConfig(state.config); } @@ -51,92 +59,86 @@ contract GiftCards is Storage { * @param sender the sender of the deposit * @param toAddress the address to send the gift card to */ - function executeDeposit(address sender, address toAddress) public payable { - require(msg.value > 0, "Invalid amount"); - uint256 depositId = state.config.nextDeposit; - GiftCardsStorage.Deposit memory deposit = GiftCardsStorage.Deposit( - sender, - AngelCoreStruct.AssetBase({ - info: AngelCoreStruct.AssetInfoBase.Native, - amount: msg.value, - addr: address(0), - name: "Mattic" - }), - false - ); - // auto claim if toAddress is not zero - if (toAddress != address(0)) { - deposit.claimed = true; - state.BALANCES[toAddress].coinNativeAmount += deposit.token.amount; - - emit GiftCardsUpdateBalances(toAddress, state.BALANCES[toAddress]); - - state.DEPOSITS[depositId] = deposit; - } else { - state.DEPOSITS[depositId] = deposit; - } - - emit GiftCardsUpdateDeposit(depositId, deposit); - - state.config.nextDeposit += 1; - emit GiftCardsUpdateConfig(state.config); - } + // function executeDeposit(address toAddress, uint256 amount) public payable { + // require(msg.value > 0, "Invalid amount"); + // uint256 depositId = state.config.nextDeposit; + // GiftCardsStorage.Deposit memory deposit = GiftCardsStorage.Deposit( + // sender, + // AngelCoreStruct.AssetBase({ + // info: AngelCoreStruct.AssetInfoBase.Native, + // amount: msg.value, + // addr: address(0), + // name: "Mattic" + // }), + // false + // ); + // // auto claim if toAddress is not zero + // if (toAddress != address(0)) { + // deposit.claimed = true; + // state.BALANCES[toAddress].coinNativeAmount += deposit.token.amount; + + // emit GiftCardsUpdateBalances(toAddress, state.BALANCES[toAddress]); + + // state.DEPOSITS[depositId] = deposit; + // } else { + // state.DEPOSITS[depositId] = deposit; + // } + + // state.config.nextDeposit += 1; + + // emit GiftCardsUpdateDeposit(depositId, deposit); + // emit GiftCardsUpdateConfig(state.config); + // } /** * @dev deposit ERC20 token to create a gift card (deposit) - * @param sender the sender of the deposit * @param toAddress the address to send the gift card to - * @param fund the fund to deposit + * @param tokenAddress the ERC20 token address to deposit + * @param amount the qty of ERC20 token to deposit */ function executeDepositERC20( - address sender, address toAddress, - AngelCoreStruct.AssetBase memory fund - ) public { - uint256 depositId = state.config.nextDeposit; - - validateDepositFund( - state.config.registrarContract, - fund.addr, - fund.amount - ); - + address tokenAddress, + uint256 amount + ) nonReentrant public { GiftCardsStorage.Deposit memory deposit = GiftCardsStorage.Deposit( - sender, - fund, + msg.sender, + tokenAddress, + amount, false ); + // fund amount cannot be zero + require(amount > 0, "Invalid zero amount"); + // must be an accepted token by the registrar require( - fund.info != AngelCoreStruct.AssetInfoBase.Native, - "Cannot add native" + IRegistrar(state.config.registrarContract) + .isTokenAccepted(tokenAddress), + "Invalid Token"); + + // Allowance of some amount of tokens to this contract & transfer + require( + IERC20(tokenAddress).allowance(msg.sender, address(this)) >= amount, + "Insuficient Allowance" + ); + require( + IERC20(tokenAddress).transferFrom(msg.sender, address(this), amount), + "Transfer Failed" ); - // fund amount cannot be zero - require(fund.amount != 0, "Invalid amount"); - + // If a TO address is provided, mark deposit as claimed immediately + // and add amount to the toAddress' balance for said token + // When a TO address is NOT provided, this just means deposit.claimed == false if (toAddress != address(0)) { deposit.claimed = true; - AngelCoreStruct.addToken( - state.BALANCES[toAddress], - deposit.token.addr, - deposit.token.amount - ); - emit GiftCardsUpdateBalances(toAddress, state.BALANCES[toAddress]); - - state.DEPOSITS[depositId] = deposit; - } else { - state.DEPOSITS[depositId] = deposit; + state.BALANCES[toAddress][tokenAddress] += amount; + emit GiftCardsUpdateBalances(toAddress, tokenAddress, amount, AngelCoreStruct.AllowanceAction.Add); } + // save the deposit information + state.DEPOSITS[state.config.nextDeposit] = deposit; + emit GiftCardsUpdateDeposit(state.config.nextDeposit, deposit); state.config.nextDeposit += 1; - emit GiftCardsUpdateDeposit(depositId, deposit); - emit GiftCardsUpdateConfig(state.config); - // transfer fund to this contract - require( - IERC20(fund.addr).transferFrom(sender, address(this), fund.amount), - "TransferFrom failed" - ); } /** @@ -144,124 +146,75 @@ contract GiftCards is Storage { * @param depositId the deposit id * @param recipient the recipient of the gift card */ - function executeClaim(uint256 depositId, address recipient) public { - require( - msg.sender == state.config.keeper, - "Only keeper can execute claim" - ); - - if (state.DEPOSITS[depositId].claimed) { - revert("Deposit already claimed"); - } - + function executeClaim( + uint256 depositId, + address recipient + ) nonReentrant public { + require(msg.sender == state.config.keeper, "Only keeper can claim deposits"); + require(!state.DEPOSITS[depositId].claimed, "Deposit already claimed"); + + // mark deposit as claimed state.DEPOSITS[depositId].claimed = true; - - if ( - state.DEPOSITS[depositId].token.info == - AngelCoreStruct.AssetInfoBase.Native - ) { - state.BALANCES[recipient].coinNativeAmount += state - .DEPOSITS[depositId] - .token - .amount; - } else { - AngelCoreStruct.addToken( - state.BALANCES[recipient], - state.DEPOSITS[depositId].token.addr, - state.DEPOSITS[depositId].token.amount - ); - } - emit GiftCardsUpdateBalances(recipient, state.BALANCES[recipient]); emit GiftCardsUpdateDeposit(depositId, state.DEPOSITS[depositId]); + + // add the claimed amount for the target token to the recipient's balance + state.BALANCES[recipient][state.DEPOSITS[depositId].tokenAddress] += state.DEPOSITS[depositId].amount; + emit GiftCardsUpdateBalances( + recipient, + state.DEPOSITS[depositId].tokenAddress, + state.DEPOSITS[depositId].amount, + AngelCoreStruct.AllowanceAction.Add); } /** * @dev spend a gift card - * @param fund the fund to spend * @param endowmentId the endowment id + * @param tokenAddress the token address to spend from user's balance + * @param amount the amount to spend from user's token balance * @param lockedPercentage the locked percentage * @param liquidPercentage the liquid percentage */ function executeSpend( - AngelCoreStruct.AssetBase memory fund, - uint256 endowmentId, + uint32 endowmentId, + address tokenAddress, + uint256 amount, uint256 lockedPercentage, uint256 liquidPercentage - ) public { - require( - lockedPercentage + liquidPercentage == 100, - "Invalid percentages" - ); - - AngelCoreStruct.AssetInfoBase info = fund.info; - - uint256 spendableAmount = 0; + ) nonReentrant public { + require(lockedPercentage + liquidPercentage == 100, "Invalid percentages"); + require(amount > 0, "Invalid zero amount"); + require(state.BALANCES[msg.sender][tokenAddress] >= amount, "Insufficient spendable balance"); - // check if spending native or erc20 (ported from cw20) - if (info == AngelCoreStruct.AssetInfoBase.Native) { - spendableAmount = state.BALANCES[msg.sender].coinNativeAmount; - } else { - spendableAmount = AngelCoreStruct.getTokenAmount( - state.BALANCES[msg.sender].Cw20CoinVerified_addr, - state.BALANCES[msg.sender].Cw20CoinVerified_amount, - fund.addr - ); - } + // query the Registrar config + RegistrarStorage.Config memory registrarConfig = IRegistrar( + state.config.registrarContract + ).queryConfig(); - require(spendableAmount != 0, "No spendable amount in balance"); + // give allowance for the ERC20 to be spent from this contract require( - spendableAmount >= fund.amount, - "Not enough spendable amount in balance" + IERC20(tokenAddress).approve( + registrarConfig.accountsContract, + amount + ), + "Approve failed" ); - if (info == AngelCoreStruct.AssetInfoBase.Native) { - state.BALANCES[msg.sender].coinNativeAmount -= fund.amount; - } else { - AngelCoreStruct.subToken( - state.BALANCES[msg.sender], - fund.addr, - fund.amount - ); - } - - RegistrarStorage.Config memory registrar_config = IRegistrar( - state.config.registrarContract - ).queryConfig(); - - // call proper function on accounts contract - if (info == AngelCoreStruct.AssetInfoBase.Native) { - IAccountsDepositWithdrawEndowments( - registrar_config.accountsContract - ).depositEth{value: fund.amount}( - AccountMessages.DepositRequest({ - id: endowmentId, - lockedPercentage: lockedPercentage, - liquidPercentage: liquidPercentage - }) - ); - } else { - // give allowance - require( - IERC20(fund.addr).approve( - registrar_config.accountsContract, - fund.amount - ), - "Approve failed" - ); + // call deposit endpoint on the Accounts contract for ERC20s + IAccountsDepositWithdrawEndowments( + registrarConfig.accountsContract + ).depositERC20( + AccountMessages.DepositRequest({ + id: endowmentId, + lockedPercentage: lockedPercentage, + liquidPercentage: liquidPercentage + }), + tokenAddress, + amount + ); - IAccountsDepositWithdrawEndowments( - registrar_config.accountsContract - ).depositERC20( - AccountMessages.DepositRequest({ - id: endowmentId, - lockedPercentage: lockedPercentage, - liquidPercentage: liquidPercentage - }), - fund.addr, - fund.amount - ); - } - emit GiftCardsUpdateBalances(msg.sender, state.BALANCES[msg.sender]); + // deduct balance by amount deposited with Accounts contract + state.BALANCES[msg.sender][tokenAddress] -= amount; + emit GiftCardsUpdateBalances(msg.sender, tokenAddress, amount, AngelCoreStruct.AllowanceAction.Remove); } /** @@ -275,15 +228,10 @@ contract GiftCards is Storage { address keeper, address registrarContract ) public { - require( - msg.sender == state.config.owner, - "Only owner can update config" - ); - + require(msg.sender == state.config.owner, "Only owner can update config"); if (owner != address(0)) { state.config.owner = owner; } - if (keeper != address(0)) { state.config.keeper = keeper; } @@ -293,57 +241,15 @@ contract GiftCards is Storage { emit GiftCardsUpdateConfig(state.config); } - function queryConfig() - public - view - returns (GiftCardsStorage.Config memory) - { + function queryConfig() public view returns (GiftCardsStorage.Config memory) { return state.config; } - function queryDeposit( - uint256 depositId - ) public view returns (GiftCardsStorage.Deposit memory) { + function queryDeposit(uint256 depositId) public view returns (GiftCardsStorage.Deposit memory) { return state.DEPOSITS[depositId]; } - function queryBalance( - address addr - ) public view returns (AngelCoreStruct.GenericBalance memory) { - return state.BALANCES[addr]; - } - - /** - * @dev Validate deposit fund: checks if the fund is accepted by querying registrar contract - * @param curRegistrar the registrar contract - * @param curTokenaddress the token address - * @param curAmount the amount - */ - function validateDepositFund( - address curRegistrar, - address curTokenaddress, - uint256 curAmount - ) internal view returns (bool) { - // AccountStorage.State storage state = LibAccounts.diamondStorage(); - RegistrarStorage.Config memory registrar_config = IRegistrar( - curRegistrar - ).queryConfig(); - - bool flag = false; - for ( - uint8 i = 0; - i < registrar_config.acceptedTokens.cw20.length; - i++ - ) { - if (curTokenaddress == registrar_config.acceptedTokens.cw20[i]) { - flag = true; - } - } - - require(flag, "Not accepted token"); - - require(curAmount > 0, "InvalidZeroAmount"); - - return true; + function queryBalance(address userAddr, address tokenAddr) public view returns (uint256) { + return state.BALANCES[userAddr][tokenAddr]; } } diff --git a/contracts/accessory/gift-cards/scripts/deploy.ts b/contracts/accessory/gift-cards/scripts/deploy.ts index fa66b11cd..3d41a01f2 100644 --- a/contracts/accessory/gift-cards/scripts/deploy.ts +++ b/contracts/accessory/gift-cards/scripts/deploy.ts @@ -1,60 +1,54 @@ -// This is a script for deploying your contracts. You can adapt it to deploy -// yours, or create new ones. - -import path from "path" -// const hre = require("hardhat"); -// const {ethers,run,network} = require('hardhat'); -import { saveFrontendFiles } from "scripts/readWriteFile" +import { updateAddresses } from "utils" import { HardhatRuntimeEnvironment } from "hardhat/types" import { GiftCardsMessage } from "typechain-types/contracts/accessory/gift-cards/GiftCards" -const ADDRESS_ZERO = "0x0000000000000000000000000000000000000000"; - -export async function giftCard(GiftCardsDataInput: GiftCardsMessage.InstantiateMsgStruct, ANGEL_CORE_STRUCT: string, verify_contracts: boolean, hre: HardhatRuntimeEnvironment) { - try { - const {ethers,run,network} = hre; - let [deployer, proxyAdmin] = await ethers.getSigners(); - const GiftCards = await ethers.getContractFactory('GiftCards',{ - libraries:{ - AngelCoreStruct: ANGEL_CORE_STRUCT - } - }); - const GiftCardsInstance = await GiftCards.deploy(); - await GiftCardsInstance.deployed(); - - console.log('GiftCards implementation address:', GiftCardsInstance.address); - - const ProxyContract = await ethers.getContractFactory('ProxyContract'); - - const GiftCardsData = GiftCardsInstance.interface.encodeFunctionData('initialize',[GiftCardsDataInput]); - - const GiftCardsProxy = await ProxyContract.deploy(GiftCardsInstance.address, proxyAdmin.address, GiftCardsData); - - await GiftCardsProxy.deployed(); - - console.log('GiftCards Address (Proxy):', GiftCardsProxy.address); - - if(verify_contracts){ - await run("verify:verify", { - address: GiftCardsInstance.address, - constructorArguments: [], - }); - await run("verify:verify", { - address: GiftCardsProxy.address, - constructorArguments: [GiftCardsInstance.address, proxyAdmin.address, GiftCardsData], - }); +export async function deployGiftCard( + GiftCardsDataInput: GiftCardsMessage.InstantiateMsgStruct, + ANGEL_CORE_STRUCT: string, + verify_contracts: boolean, + hre: HardhatRuntimeEnvironment +) { + try { + const {ethers, run, network} = hre; + let [deployer, proxyAdmin] = await ethers.getSigners(); + const GiftCards = await ethers.getContractFactory('GiftCards',{ + libraries:{ + AngelCoreStruct: ANGEL_CORE_STRUCT } - - - let GiftCardsAddress = { - GiftCardsProxy: GiftCardsProxy.address, - GiftCardsImplementation: GiftCardsInstance.address - } - - await saveFrontendFiles({GiftCardsAddress}); - - return Promise.resolve(GiftCardsProxy.address); - } catch (error) { - return Promise.reject(error); + }); + const GiftCardsInstance = await GiftCards.deploy(); + await GiftCardsInstance.deployed(); + console.log('GiftCards implementation address:', GiftCardsInstance.address); + + const ProxyContract = await ethers.getContractFactory('ProxyContract'); + const GiftCardsData = GiftCardsInstance.interface.encodeFunctionData('initialize',[GiftCardsDataInput]); + const GiftCardsProxy = await ProxyContract.deploy(GiftCardsInstance.address, proxyAdmin.address, GiftCardsData); + await GiftCardsProxy.deployed(); + console.log('GiftCards Address (Proxy):', GiftCardsProxy.address); + + if(verify_contracts){ + await run("verify:verify", { + address: GiftCardsInstance.address, + constructorArguments: [], + }); + await run("verify:verify", { + address: GiftCardsProxy.address, + constructorArguments: [GiftCardsInstance.address, proxyAdmin.address, GiftCardsData], + }); } + + await updateAddresses( + { + giftcards: { + proxy: GiftCardsProxy.address, + implementation: GiftCardsInstance.address + } + }, + hre + ) + + return Promise.resolve(GiftCardsProxy.address); + } catch (error) { + return Promise.reject(error); + } } diff --git a/contracts/accessory/gift-cards/storage.sol b/contracts/accessory/gift-cards/storage.sol index fc3e91c44..d7293b738 100644 --- a/contracts/accessory/gift-cards/storage.sol +++ b/contracts/accessory/gift-cards/storage.sol @@ -12,14 +12,15 @@ library GiftCardsStorage { struct Deposit { address sender; - AngelCoreStruct.AssetBase token; + address tokenAddress; + uint256 amount; bool claimed; } struct State { Config config; mapping(uint256 => Deposit) DEPOSITS; - mapping(address => AngelCoreStruct.GenericBalance) BALANCES; + mapping(address => mapping(address => uint256)) BALANCES; } } diff --git a/contracts/core/accounts/IAccounts.sol b/contracts/core/accounts/IAccounts.sol index 78be51571..8ae0b8870 100644 --- a/contracts/core/accounts/IAccounts.sol +++ b/contracts/core/accounts/IAccounts.sol @@ -7,7 +7,7 @@ import {Validator} from "./lib/validator.sol"; import {AccountMessages} from "./message.sol"; import {AngelCoreStruct} from "../struct.sol"; import {Array} from "../../lib/array.sol"; -import {IRegistrar} from "../registrar/interface/IRegistrar.sol"; +import {IRegistrar} from "../registrar/interfaces/IRegistrar.sol"; import {RegistrarStorage} from "../registrar/storage.sol"; import "@openzeppelin/contracts/utils/math/SafeMath.sol"; @@ -15,11 +15,11 @@ import "@openzeppelin/contracts/utils/math/SafeMath.sol"; import "./storage.sol"; //Interface -// import "../../interface/swapping.sol"; +// import "../../interfaces/swapping.sol"; interface IAccounts { function createEndowment( - AccountMessages.CreateEndowmentRequest memory curDetails + AccountMessages.CreateEndowmentRequest memory details ) external returns (bool response); function updateOwner(address newOwner) external returns (bool); @@ -29,16 +29,17 @@ interface IAccounts { uint256 maxGeneralCategoryId ) external returns (bool); - function updateEndowmentStatusMsg( - AccountMessages.UpdateEndowmentStatusRequest memory curDetails + function closeEndowment( + uint32 id, + AngelCoreStruct.Beneficiary memory beneficiary ) external returns (bool response); function updateEndowmentDetails( - AccountMessages.UpdateEndowmentDetailsRequest memory curDetails + AccountMessages.UpdateEndowmentDetailsRequest memory details ) external returns (bool); function updateDelegate( - uint256 id, + uint32 id, string memory setting, string memory action, address delegateAddress, @@ -46,24 +47,24 @@ interface IAccounts { ) external returns (bool); function updateStrategies( - uint256 id, + uint32 id, AngelCoreStruct.AccountType acctType, AccountMessages.Strategy[] memory strategies ) external returns (bool); function copycatStrategies( - uint256 id, + uint32 id, AngelCoreStruct.AccountType acctType, uint256 idToCopy ) external returns (bool); //TODO: Complete This contract once swap-router is completed. function swapToken( - uint256 curId, + uint32 id, AngelCoreStruct.AccountType, - uint128 curAmount, - address curTokenin, - address curTokenout + uint128 amount, + address tokenin, + address tokenout ) external returns (bool); // function swapReceipt(){ @@ -84,16 +85,16 @@ interface IAccounts { function depositERC20( address senderAddr, - AccountMessages.DepositRequest memory curDetails, - address curTokenaddress, - uint256 curAmount + AccountMessages.DepositRequest memory details, + address tokenaddress, + uint256 amount ) external returns (bool); function vaultsInvest( - uint32 curId, - AngelCoreStruct.AccountType curAccountType, - address[] memory curTokens, - uint256[] memory curAmount + uint32 id, + AngelCoreStruct.AccountType accountType, + address[] memory tokens, + uint256[] memory amount ) external returns (bool); // function vaultsRedeem(){ @@ -138,12 +139,12 @@ interface IAccounts { view returns (AccountMessages.ConfigResponse memory); - function queryState(uint256 curId) + function queryState(uint32 id) external view returns (AccountMessages.StateResponse memory); - function queryEndowmentDetails(uint256 curId) + function queryEndowmentDetails(uint32 id) external view returns (AccountStorage.Endowment memory); diff --git a/contracts/core/accounts/diamond/Diamond.sol b/contracts/core/accounts/diamond/Diamond.sol index 3e9cd9359..32118729c 100644 --- a/contracts/core/accounts/diamond/Diamond.sol +++ b/contracts/core/accounts/diamond/Diamond.sol @@ -13,15 +13,15 @@ import { IDiamondCut } from "./interfaces/IDiamondCut.sol"; contract Diamond { - constructor(address curContractowner, address curDiamondcutfacet) payable { - LibDiamond.setContractOwner(curContractowner); + constructor(address contractowner, address diamondcutfacet) payable { + LibDiamond.setContractOwner(contractowner); // Add the diamondCut external function from the diamondCutFacet IDiamondCut.FacetCut[] memory cut = new IDiamondCut.FacetCut[](1); bytes4[] memory functionSelectors = new bytes4[](1); functionSelectors[0] = IDiamondCut.diamondCut.selector; cut[0] = IDiamondCut.FacetCut({ - facetAddress: curDiamondcutfacet, + facetAddress: diamondcutfacet, action: IDiamondCut.FacetCutAction.Add, functionSelectors: functionSelectors }); diff --git a/contracts/core/accounts/diamond/facets/DiamondCutFacet.sol b/contracts/core/accounts/diamond/facets/DiamondCutFacet.sol index a2a6c4f99..93b029bae 100644 --- a/contracts/core/accounts/diamond/facets/DiamondCutFacet.sol +++ b/contracts/core/accounts/diamond/facets/DiamondCutFacet.sol @@ -15,16 +15,16 @@ import { LibDiamond } from "../libraries/LibDiamond.sol"; contract DiamondCutFacet is IDiamondCut { /// @notice Add/replace/remove any number of functions and optionally execute /// a function with delegatecall - /// @param curDiamondcut Contains the facet addresses and function selectors - /// @param curInit The address of the contract or facet to execute curCalldata - /// @param curCalldata A function call, including function selector and arguments - /// curCalldata is executed with delegatecall on curInit + /// @param diamondcut Contains the facet addresses and function selectors + /// @param init The address of the contract or facet to execute calldata + /// @param data A function call, including function selector and arguments + /// data is executed with delegatecall on init function diamondCut( - FacetCut[] calldata curDiamondcut, - address curInit, - bytes calldata curCalldata + FacetCut[] calldata diamondcut, + address init, + bytes calldata data ) external override { LibDiamond.enforceIsContractOwner(); - LibDiamond.diamondCut(curDiamondcut, curInit, curCalldata); + LibDiamond.diamondCut(diamondcut, init, data); } } diff --git a/contracts/core/accounts/diamond/facets/DiamondLoupeFacet.sol b/contracts/core/accounts/diamond/facets/DiamondLoupeFacet.sol index 3c1ff344b..0b50289a1 100644 --- a/contracts/core/accounts/diamond/facets/DiamondLoupeFacet.sol +++ b/contracts/core/accounts/diamond/facets/DiamondLoupeFacet.sol @@ -23,71 +23,71 @@ contract DiamondLoupeFacet is IDiamondLoupe, IERC165 { // } /// @notice Gets all facets and their selectors. - /// @return curFacets Facet - function facets() external view override returns (Facet[] memory curFacets) { + /// @return facets_ Facet + function facets() external view override returns (Facet[] memory facets_) { LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage(); uint256 numFacets = ds.facetAddresses.length; - curFacets = new Facet[](numFacets); + facets_ = new Facet[](numFacets); for (uint256 i = 0; i < numFacets; i++) { - address curFacetaddress = ds.facetAddresses[i]; - curFacets[i].facetAddress = curFacetaddress; - curFacets[i].functionSelectors = ds - .facetFunctionSelectors[curFacetaddress] + address facetaddress = ds.facetAddresses[i]; + facets_[i].facetAddress = facetaddress; + facets_[i].functionSelectors = ds + .facetFunctionSelectors[facetaddress] .functionSelectors; } } /// @notice Gets all the function selectors provided by a facet. - /// @param curFacet The facet address. - /// @return curFacetfunctionselectors - function facetFunctionSelectors(address curFacet) + /// @param facet The facet address. + /// @return facetfunctionselectors + function facetFunctionSelectors(address facet) external view override - returns (bytes4[] memory curFacetfunctionselectors) + returns (bytes4[] memory facetfunctionselectors) { LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage(); - curFacetfunctionselectors = ds - .facetFunctionSelectors[curFacet] + facetfunctionselectors = ds + .facetFunctionSelectors[facet] .functionSelectors; } /// @notice Get all the facet addresses used by a diamond. - /// @return curFacetaddresses + /// @return facetAddresses_ function facetAddresses() external view override - returns (address[] memory curFacetaddresses) + returns (address[] memory facetAddresses_) { LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage(); - curFacetaddresses = ds.facetAddresses; + facetAddresses_ = ds.facetAddresses; } /// @notice Gets the facet that supports the given selector. /// @dev If facet is not found return address(0). - /// @param curFunctionselector The function selector. - /// @return curFacetaddress The facet address. - function facetAddress(bytes4 curFunctionselector) + /// @param functionSelector The function selector. + /// @return facetAddress_ The facet address. + function facetAddress(bytes4 functionSelector) external view override - returns (address curFacetaddress) + returns (address facetAddress_) { LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage(); - curFacetaddress = ds - .selectorToFacetAndPosition[curFunctionselector] + facetAddress_ = ds + .selectorToFacetAndPosition[functionSelector] .facetAddress; } // This implements ERC-165. - function supportsInterface(bytes4 curInterfaceid) + function supportsInterface(bytes4 interfaceId) external view override returns (bool) { LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage(); - return ds.supportedInterfaces[curInterfaceid]; + return ds.supportedInterfaces[interfaceId]; } } diff --git a/contracts/core/accounts/diamond/facets/OwnershipFacet.sol b/contracts/core/accounts/diamond/facets/OwnershipFacet.sol index b187af677..b804b5db7 100644 --- a/contracts/core/accounts/diamond/facets/OwnershipFacet.sol +++ b/contracts/core/accounts/diamond/facets/OwnershipFacet.sol @@ -5,12 +5,12 @@ import { LibDiamond } from "../libraries/LibDiamond.sol"; import { IERC173 } from "../interfaces/IERC173.sol"; contract OwnershipFacet is IERC173 { - function transferOwnership(address curNewowner) external override { + function transferOwnership(address newOwner) external override { LibDiamond.enforceIsContractOwner(); - LibDiamond.setContractOwner(curNewowner); + LibDiamond.setContractOwner(newOwner); } - function owner() external override view returns (address curOwner) { - curOwner = LibDiamond.contractOwner(); + function owner() external override view returns (address owner_) { + owner_ = LibDiamond.contractOwner(); } -} +} \ No newline at end of file diff --git a/contracts/core/accounts/diamond/interfaces/IDiamondCut.sol b/contracts/core/accounts/diamond/interfaces/IDiamondCut.sol index ca100fe51..31374c51b 100644 --- a/contracts/core/accounts/diamond/interfaces/IDiamondCut.sol +++ b/contracts/core/accounts/diamond/interfaces/IDiamondCut.sol @@ -18,15 +18,15 @@ interface IDiamondCut { /// @notice Add/replace/remove any number of functions and optionally execute /// a function with delegatecall - /// @param curDiamondcut Contains the facet addresses and function selectors - /// @param curInit The address of the contract or facet to execute curCalldata - /// @param curCalldata A function call, including function selector and arguments - /// curCalldata is executed with delegatecall on curInit + /// @param diamondcut Contains the facet addresses and function selectors + /// @param init The address of the contract or facet to execute calldata + /// @param data A function call, including function selector and arguments + /// data is executed with delegatecall on init function diamondCut( - FacetCut[] calldata curDiamondcut, - address curInit, - bytes calldata curCalldata + FacetCut[] calldata diamondcut, + address init, + bytes calldata data ) external; - event DiamondCut(FacetCut[] curDiamondcut, address curInit, bytes curCalldata); + event DiamondCut(FacetCut[] diamondcut, address init, bytes data); } diff --git a/contracts/core/accounts/diamond/interfaces/IDiamondLoupe.sol b/contracts/core/accounts/diamond/interfaces/IDiamondLoupe.sol index 44c8809bb..465b631b7 100644 --- a/contracts/core/accounts/diamond/interfaces/IDiamondLoupe.sol +++ b/contracts/core/accounts/diamond/interfaces/IDiamondLoupe.sol @@ -18,21 +18,21 @@ interface IDiamondLoupe { } /// @notice Gets all facet addresses and their four byte function selectors. - /// @return curFacets Facet - function facets() external view returns (Facet[] memory curFacets); + /// @return facets Facet + function facets() external view returns (Facet[] memory facets); /// @notice Gets all the function selectors supported by a specific facet. - /// @param curFacet The facet address. - /// @return curFacetfunctionselectors - function facetFunctionSelectors(address curFacet) external view returns (bytes4[] memory curFacetfunctionselectors); + /// @param facet The facet address. + /// @return facetfunctionselectors + function facetFunctionSelectors(address facet) external view returns (bytes4[] memory facetfunctionselectors); /// @notice Get all the facet addresses used by a diamond. - /// @return curFacetaddresses - function facetAddresses() external view returns (address[] memory curFacetaddresses); + /// @return facetaddresses + function facetAddresses() external view returns (address[] memory facetaddresses); /// @notice Gets the facet that supports the given selector. /// @dev If facet is not found return address(0). - /// @param curFunctionselector The function selector. - /// @return curFacetaddress The facet address. - function facetAddress(bytes4 curFunctionselector) external view returns (address curFacetaddress); + /// @param functionselector The function selector. + /// @return facetaddress The facet address. + function facetAddress(bytes4 functionselector) external view returns (address facetaddress); } diff --git a/contracts/core/accounts/diamond/interfaces/IERC173.sol b/contracts/core/accounts/diamond/interfaces/IERC173.sol index 6f3b56cb4..64a8e5760 100644 --- a/contracts/core/accounts/diamond/interfaces/IERC173.sol +++ b/contracts/core/accounts/diamond/interfaces/IERC173.sol @@ -9,11 +9,11 @@ interface IERC173 { event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /// @notice Get the address of the owner - /// @return curOwner The address of the owner. - function owner() external view returns (address curOwner); + /// @return owner The address of the owner. + function owner() external view returns (address owner); /// @notice Set the address of the new owner of the contract - /// @dev Set curNewowner to address(0) to renounce any ownership. - /// @param curNewowner The address of the new owner of the contract - function transferOwnership(address curNewowner) external; + /// @dev Set newowner to address(0) to renounce any ownership. + /// @param newowner The address of the new owner of the contract + function transferOwnership(address newowner) external; } diff --git a/contracts/core/accounts/diamond/libraries/LibDiamond.sol b/contracts/core/accounts/diamond/libraries/LibDiamond.sol index 2ffc8c927..a24229ea3 100644 --- a/contracts/core/accounts/diamond/libraries/LibDiamond.sol +++ b/contracts/core/accounts/diamond/libraries/LibDiamond.sol @@ -11,8 +11,8 @@ import {IDiamondCut} from "../interfaces/IDiamondCut.sol"; // The loupe functions are required by the EIP2535 Diamonds standard error InitializationFunctionReverted( - address curInitializationcontractaddress, - bytes curCalldata + address initializationcontractaddress, + bytes data ); library LibDiamond { @@ -60,15 +60,15 @@ library LibDiamond { address indexed newOwner ); - function setContractOwner(address curNewowner) internal { + function setContractOwner(address newowner) internal { DiamondStorage storage ds = diamondStorage(); address previousOwner = ds.contractOwner; - ds.contractOwner = curNewowner; - emit OwnershipTransferred(previousOwner, curNewowner); + ds.contractOwner = newowner; + emit OwnershipTransferred(previousOwner, newowner); } - function contractOwner() internal view returns (address curContractowner) { - curContractowner = diamondStorage().contractOwner; + function contractOwner() internal view returns (address contractowner) { + contractowner = diamondStorage().contractOwner; } function enforceIsContractOwner() internal view { @@ -79,72 +79,72 @@ library LibDiamond { } event DiamondCut( - IDiamondCut.FacetCut[] curDiamondcut, - address curInit, - bytes curCalldata + IDiamondCut.FacetCut[] diamondcut, + address init, + bytes data ); // Internal function version of diamondCut function diamondCut( - IDiamondCut.FacetCut[] memory curDiamondcut, - address curInit, - bytes memory curCalldata + IDiamondCut.FacetCut[] memory diamondcut, + address init, + bytes memory data ) internal { for ( uint256 facetIndex = 0; - facetIndex < curDiamondcut.length; + facetIndex < diamondcut.length; facetIndex++ ) { - IDiamondCut.FacetCutAction action = curDiamondcut[facetIndex].action; + IDiamondCut.FacetCutAction action = diamondcut[facetIndex].action; if (action == IDiamondCut.FacetCutAction.Add) { addFunctions( - curDiamondcut[facetIndex].facetAddress, - curDiamondcut[facetIndex].functionSelectors + diamondcut[facetIndex].facetAddress, + diamondcut[facetIndex].functionSelectors ); } else if (action == IDiamondCut.FacetCutAction.Replace) { replaceFunctions( - curDiamondcut[facetIndex].facetAddress, - curDiamondcut[facetIndex].functionSelectors + diamondcut[facetIndex].facetAddress, + diamondcut[facetIndex].functionSelectors ); } else if (action == IDiamondCut.FacetCutAction.Remove) { removeFunctions( - curDiamondcut[facetIndex].facetAddress, - curDiamondcut[facetIndex].functionSelectors + diamondcut[facetIndex].facetAddress, + diamondcut[facetIndex].functionSelectors ); } else { revert("LibDiamondCut: Incorrect FacetCutAction"); } } - emit DiamondCut(curDiamondcut, curInit, curCalldata); - initializeDiamondCut(curInit, curCalldata); + emit DiamondCut(diamondcut, init, data); + initializeDiamondCut(init, data); } function addFunctions( - address curFacetaddress, - bytes4[] memory curFunctionselectors + address facetaddress, + bytes4[] memory functionselectors ) internal { require( - curFunctionselectors.length > 0, + functionselectors.length > 0, "LibDiamondCut: No selectors in facet to cut" ); DiamondStorage storage ds = diamondStorage(); require( - curFacetaddress != address(0), + facetaddress != address(0), "LibDiamondCut: Add facet can't be address(0)" ); uint96 selectorPosition = uint96( - ds.facetFunctionSelectors[curFacetaddress].functionSelectors.length + ds.facetFunctionSelectors[facetaddress].functionSelectors.length ); // add new facet address if it does not exist if (selectorPosition == 0) { - addFacet(ds, curFacetaddress); + addFacet(ds, facetaddress); } for ( uint256 selectorIndex = 0; - selectorIndex < curFunctionselectors.length; + selectorIndex < functionselectors.length; selectorIndex++ ) { - bytes4 selector = curFunctionselectors[selectorIndex]; + bytes4 selector = functionselectors[selectorIndex]; address oldFacetAddress = ds .selectorToFacetAndPosition[selector] .facetAddress; @@ -152,70 +152,70 @@ library LibDiamond { oldFacetAddress == address(0), "LibDiamondCut: Can't add function that already exists" ); - addFunction(ds, selector, selectorPosition, curFacetaddress); + addFunction(ds, selector, selectorPosition, facetaddress); selectorPosition++; } } function replaceFunctions( - address curFacetaddress, - bytes4[] memory curFunctionselectors + address facetaddress, + bytes4[] memory functionselectors ) internal { require( - curFunctionselectors.length > 0, + functionselectors.length > 0, "LibDiamondCut: No selectors in facet to cut" ); DiamondStorage storage ds = diamondStorage(); require( - curFacetaddress != address(0), + facetaddress != address(0), "LibDiamondCut: Add facet can't be address(0)" ); uint96 selectorPosition = uint96( - ds.facetFunctionSelectors[curFacetaddress].functionSelectors.length + ds.facetFunctionSelectors[facetaddress].functionSelectors.length ); // add new facet address if it does not exist if (selectorPosition == 0) { - addFacet(ds, curFacetaddress); + addFacet(ds, facetaddress); } for ( uint256 selectorIndex = 0; - selectorIndex < curFunctionselectors.length; + selectorIndex < functionselectors.length; selectorIndex++ ) { - bytes4 selector = curFunctionselectors[selectorIndex]; + bytes4 selector = functionselectors[selectorIndex]; address oldFacetAddress = ds .selectorToFacetAndPosition[selector] .facetAddress; require( - oldFacetAddress != curFacetaddress, + oldFacetAddress != facetaddress, "LibDiamondCut: Can't replace function with same function" ); removeFunction(ds, oldFacetAddress, selector); - addFunction(ds, selector, selectorPosition, curFacetaddress); + addFunction(ds, selector, selectorPosition, facetaddress); selectorPosition++; } } function removeFunctions( - address curFacetaddress, - bytes4[] memory curFunctionselectors + address facetaddress, + bytes4[] memory functionselectors ) internal { require( - curFunctionselectors.length > 0, + functionselectors.length > 0, "LibDiamondCut: No selectors in facet to cut" ); DiamondStorage storage ds = diamondStorage(); // if function does not exist then do nothing and return require( - curFacetaddress == address(0), + facetaddress == address(0), "LibDiamondCut: Remove facet address must be address(0)" ); for ( uint256 selectorIndex = 0; - selectorIndex < curFunctionselectors.length; + selectorIndex < functionselectors.length; selectorIndex++ ) { - bytes4 selector = curFunctionselectors[selectorIndex]; + bytes4 selector = functionselectors[selectorIndex]; address oldFacetAddress = ds .selectorToFacetAndPosition[selector] .facetAddress; @@ -223,62 +223,62 @@ library LibDiamond { } } - function addFacet(DiamondStorage storage ds, address curFacetaddress) + function addFacet(DiamondStorage storage ds, address facetaddress) internal { enforceHasContractCode( - curFacetaddress, + facetaddress, "LibDiamondCut: New facet has no code" ); - ds.facetFunctionSelectors[curFacetaddress].facetAddressPosition = ds + ds.facetFunctionSelectors[facetaddress].facetAddressPosition = ds .facetAddresses .length; - ds.facetAddresses.push(curFacetaddress); + ds.facetAddresses.push(facetaddress); } function addFunction( DiamondStorage storage ds, - bytes4 curSelector, - uint96 curSelectorPosition, - address curFacetaddress + bytes4 selector, + uint96 selectorPosition, + address facetaddress ) internal { ds - .selectorToFacetAndPosition[curSelector] - .functionSelectorPosition = curSelectorPosition; - ds.facetFunctionSelectors[curFacetaddress].functionSelectors.push( - curSelector + .selectorToFacetAndPosition[selector] + .functionSelectorPosition = selectorPosition; + ds.facetFunctionSelectors[facetaddress].functionSelectors.push( + selector ); - ds.selectorToFacetAndPosition[curSelector].facetAddress = curFacetaddress; + ds.selectorToFacetAndPosition[selector].facetAddress = facetaddress; } function removeFunction( DiamondStorage storage ds, - address curFacetaddress, - bytes4 curSelector + address facetaddress, + bytes4 selector ) internal { require( - curFacetaddress != address(0), + facetaddress != address(0), "LibDiamondCut: Can't remove function that doesn't exist" ); // an immutable function is a function defined directly in a diamond require( - curFacetaddress != address(this), + facetaddress != address(this), "LibDiamondCut: Can't remove immutable function" ); // replace selector with last selector, then delete last selector uint256 selectorPosition = ds - .selectorToFacetAndPosition[curSelector] + .selectorToFacetAndPosition[selector] .functionSelectorPosition; uint256 lastSelectorPosition = ds - .facetFunctionSelectors[curFacetaddress] + .facetFunctionSelectors[facetaddress] .functionSelectors .length - 1; - // if not the same then replace curSelector with lastSelector + // if not the same then replace selector with lastSelector if (selectorPosition != lastSelectorPosition) { bytes4 lastSelector = ds - .facetFunctionSelectors[curFacetaddress] + .facetFunctionSelectors[facetaddress] .functionSelectors[lastSelectorPosition]; - ds.facetFunctionSelectors[curFacetaddress].functionSelectors[ + ds.facetFunctionSelectors[facetaddress].functionSelectors[ selectorPosition ] = lastSelector; ds @@ -286,15 +286,15 @@ library LibDiamond { .functionSelectorPosition = uint96(selectorPosition); } // delete the last selector - ds.facetFunctionSelectors[curFacetaddress].functionSelectors.pop(); - delete ds.selectorToFacetAndPosition[curSelector]; + ds.facetFunctionSelectors[facetaddress].functionSelectors.pop(); + delete ds.selectorToFacetAndPosition[selector]; // if no more selectors for facet address then delete the facet address if (lastSelectorPosition == 0) { // replace facet address with last facet address and delete last facet address uint256 lastFacetAddressPosition = ds.facetAddresses.length - 1; uint256 facetAddressPosition = ds - .facetFunctionSelectors[curFacetaddress] + .facetFunctionSelectors[facetaddress] .facetAddressPosition; if (facetAddressPosition != lastFacetAddressPosition) { address lastFacetAddress = ds.facetAddresses[ @@ -307,22 +307,22 @@ library LibDiamond { } ds.facetAddresses.pop(); delete ds - .facetFunctionSelectors[curFacetaddress] + .facetFunctionSelectors[facetaddress] .facetAddressPosition; } } - function initializeDiamondCut(address curInit, bytes memory curCalldata) + function initializeDiamondCut(address init, bytes memory data) internal { - if (curInit == address(0)) { + if (init == address(0)) { return; } enforceHasContractCode( - curInit, - "LibDiamondCut: curInit address has no code" + init, + "LibDiamondCut: init address has no code" ); - (bool success, bytes memory error) = curInit.delegatecall(curCalldata); + (bool success, bytes memory error) = init.delegatecall(data); if (!success) { if (error.length > 0) { // bubble up error @@ -332,19 +332,19 @@ library LibDiamond { revert(add(32, error), returndata_size) } } else { - revert InitializationFunctionReverted(curInit, curCalldata); + revert InitializationFunctionReverted(init, data); } } } function enforceHasContractCode( - address curContract, - string memory curErrorMessage + address contractAddr, + string memory errorMessage ) internal view { uint256 contractSize; assembly { - contractSize := extcodesize(curContract) + contractSize := extcodesize(contractAddr) } - require(contractSize > 0, curErrorMessage); + require(contractSize > 0, errorMessage); } } diff --git a/contracts/core/accounts/diamond/upgradeInitializers/DiamondInit.sol b/contracts/core/accounts/diamond/upgradeInitializers/DiamondInit.sol index b1d118333..19e89402c 100644 --- a/contracts/core/accounts/diamond/upgradeInitializers/DiamondInit.sol +++ b/contracts/core/accounts/diamond/upgradeInitializers/DiamondInit.sol @@ -17,6 +17,7 @@ import {IERC165} from "../interfaces/IERC165.sol"; import {LibAccounts} from "./../../lib/LibAccounts.sol"; import {Validator} from "./../../lib/validator.sol"; import {AccountStorage} from "./../../storage.sol"; +import {AngelCoreStruct} from "../../../struct.sol"; // It is expected that this contract is customized if you want to deploy your diamond // with data from a deployment script. Use the init function to initialize state variables @@ -25,7 +26,7 @@ import {AccountStorage} from "./../../storage.sol"; contract DiamondInit { // You can add parameters to this function in order to pass in // data to set your own state variables - function init(address curOwner, address curRegistrar) external { + function init(address owner, address registrar) external { // adding ERC165 data LibDiamond.DiamondStorage storage ds = LibDiamond.diamondStorage(); ds.supportedInterfaces[type(IERC165).interfaceId] = true; @@ -35,22 +36,26 @@ contract DiamondInit { AccountStorage.State storage state = LibAccounts.diamondStorage(); require( - Validator.addressChecker(curOwner), + Validator.addressChecker(owner), "Enter a valid owner address" ); require( - Validator.addressChecker(curRegistrar), + Validator.addressChecker(registrar), "Enter a valid registrar address" ); - state.config.owner = curOwner; - state.config.registrarContract = curRegistrar; + state.config.owner = owner; + state.config.registrarContract = registrar; state.config.nextAccountId = 1; state.config.maxGeneralCategoryId = 1; + state.config.earlyLockedWithdrawFee = AngelCoreStruct.EndowmentFee({ + payoutAddress: address(0), + percentage: 100 // 10% fee placeholder. Can always change later if needed + }); // add your own state variables // EIP-2535 specifies that the `diamondCut` function takes two optional - // arguments: address curInit and bytes calldata curCalldata + // arguments: address init and bytes calldata calldata // These arguments are used to execute an arbitrary function using delegatecall // in order to set state variables in the diamond during deployment or an upgrade // More info here: https://eips.ethereum.org/EIPS/eip-2535#diamond-interface diff --git a/contracts/core/accounts/facets/AccountDeployContract.sol b/contracts/core/accounts/facets/AccountDeployContract.sol index 513c3ef80..8b8e6b0ff 100644 --- a/contracts/core/accounts/facets/AccountDeployContract.sol +++ b/contracts/core/accounts/facets/AccountDeployContract.sol @@ -5,7 +5,7 @@ import {AccountStorage} from "../storage.sol"; import {LibAccounts} from "../lib/LibAccounts.sol"; import {ProxyContract} from "./../../proxy.sol"; import {RegistrarStorage} from "../../registrar/storage.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; +import {IRegistrar} from "../../registrar/interfaces/IRegistrar.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {ReentrancyGuardFacet} from "./ReentrancyGuardFacet.sol"; import {AccountsEvents} from "./AccountsEvents.sol"; @@ -21,10 +21,10 @@ import {ISubDao} from "../../../normalized_endowment/subdao/Isubdao.sol"; contract AccountDeployContract is ReentrancyGuardFacet, AccountsEvents { /** * @notice Create a new Dao for endowment - * @param curCreatedaomessage Dao creation message with initial configuration + * @param createDaoMessage Dao creation message with initial configuration */ function createDaoContract( - subDaoMessage.InstantiateMsg memory curCreatedaomessage + subDaoMessage.InstantiateMsg memory createDaoMessage ) public nonReentrant returns (address daoAddress) { // will be called by self, as this is deployment facet require(msg.sender == address(this), "Unauthorized"); @@ -34,12 +34,12 @@ contract AccountDeployContract is ReentrancyGuardFacet, AccountsEvents { state.config.registrarContract ).queryConfig(); - address implementation = registrar_config.subdaoGovCode; + address implementation = registrar_config.subdaoGovContract; address admin = registrar_config.proxyAdmin; bytes memory subDaoData = abi.encodeWithSignature( "initializeSubDao((uint256,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256)),uint8,address,address),address)", - curCreatedaomessage, + createDaoMessage, registrar_config.subdaoEmitter ); @@ -48,10 +48,10 @@ contract AccountDeployContract is ReentrancyGuardFacet, AccountsEvents { ); ISubdaoEmitter(registrar_config.subdaoEmitter).initializeSubdao( daoAddress, - curCreatedaomessage + createDaoMessage ); - ISubDao(daoAddress).buildDaoTokenMesage(curCreatedaomessage); - emit DaoContractCreated(curCreatedaomessage, daoAddress); + ISubDao(daoAddress).buildDaoTokenMesage(createDaoMessage); + emit DaoContractCreated(createDaoMessage, daoAddress); } } diff --git a/contracts/core/accounts/facets/AccountDepositWithdrawEndowments.sol b/contracts/core/accounts/facets/AccountDepositWithdrawEndowments.sol index 69b3a83b6..96a051f90 100644 --- a/contracts/core/accounts/facets/AccountDepositWithdrawEndowments.sol +++ b/contracts/core/accounts/facets/AccountDepositWithdrawEndowments.sol @@ -7,18 +7,19 @@ import {AccountStorage} from "../storage.sol"; import {AccountMessages} from "../message.sol"; import {RegistrarStorage} from "../../registrar/storage.sol"; import {AngelCoreStruct} from "../../struct.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; -import {IAxelarGateway} from "./../interface/IAxelarGateway.sol"; +import {IRegistrar} from "../../registrar/interfaces/IRegistrar.sol"; +import {IRouter} from "../../router/IRouter.sol"; +import {IAxelarGateway} from "./../interfaces/IAxelarGateway.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/utils/math/SafeMath.sol"; import {StringArray} from "./../../../lib/Strings/string.sol"; import {IDonationMatching} from "./../../../normalized_endowment/donation-match/IDonationMatching.sol"; import {ReentrancyGuardFacet} from "./ReentrancyGuardFacet.sol"; -import {ISwappingV3} from "./../../swap-router/Interface/ISwappingV3.sol"; +import {ISwappingV3} from "./../../swap-router/interfaces/ISwappingV3.sol"; import {AccountsEvents} from "./AccountsEvents.sol"; -import {IVault} from "./../interface/IVault.sol"; -import "hardhat/console.sol"; +import {IVault} from "./../../../interfaces/IVault.sol"; import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol"; +import {IAccountsDepositWithdrawEndowments} from "../interfaces/IAccountsDepositWithdrawEndowments.sol"; /** * @title AccountDepositWithdrawEndowments @@ -28,269 +29,110 @@ import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol"; contract AccountDepositWithdrawEndowments is ReentrancyGuardFacet, - AccountsEvents + AccountsEvents, + IAccountsDepositWithdrawEndowments { using SafeMath for uint256; event SwappedToken(uint256 amountOut); /** - * @dev Processes liquid vault investment for an endowment account. - * @param curId ID of the current endowment account. - * @param tempEndowment Storage reference of the current endowment account. - * @param liquidAmount Amount of tokens to invest in liquid vaults. - * @param registrarContract Address of the registrar contract. - * @return uint256 Amount of leftover tokens after investing in liquid vaults. - * @return AccountStorage.Endowment Storage reference of the updated endowment account. + * @notice Deposit MATIC into the account (later swaps into USDC and then deposits into the account) + * @param details The details of the deposit */ - function processLiquidVault( - uint256 curId, - AccountStorage.Endowment storage tempEndowment, - uint256 liquidAmount, - address registrarContract - ) internal returns (uint256, AccountStorage.Endowment storage) { - AccountStorage.State storage state = LibAccounts.diamondStorage(); - // string[] memory liquidStratageAddress = tempEndowment.strategies.liquid_vault; - // uint256[] memory tempEndowment.strategies.liquidPercentage = tempEndowment.strategies.liquidPercentage; - - AngelCoreStruct.accountStratagyLiquidCheck( - tempEndowment.strategies, - tempEndowment.oneoffVaults - ); - - uint256 leftoversLiquid = liquidAmount; - - for ( - uint256 i = 0; - i < tempEndowment.strategies.liquidPercentage.length; - i++ - ) { - if ( - liquidAmount.mul(tempEndowment.strategies.liquidPercentage[i]) < - 100 - ) { - continue; - } - leftoversLiquid -= liquidAmount - .mul(tempEndowment.strategies.liquidPercentage[i]) - .div(100); - - AngelCoreStruct.YieldVault memory vault_config = IRegistrar( - registrarContract - ).queryVaultDetails(tempEndowment.strategies.liquid_vault[i]); - - require( - vault_config.approved, - "Vault is not approved to accept deposits" - ); - - uint32[] memory curIds = new uint32[](1); - curIds[0] = uint32(curId); - - uint256 tempAmount = liquidAmount - .mul(tempEndowment.strategies.liquidPercentage[i]) - .div(100); - - //Updating balance of vault - state.vaultBalance[curId][AngelCoreStruct.AccountType.Liquid][ - vault_config.addr - ] += tempAmount; - state.stratagyId[bytes4(keccak256(bytes(vault_config.addr)))] = vault_config.addr; - IAxelarGateway.VaultActionData memory payloadObject = IAxelarGateway - .VaultActionData({ - strategyId: bytes4(keccak256(bytes(vault_config.addr))), - selector: IVault.deposit.selector, - accountIds: curIds, - token: vault_config.inputDenom, - lockAmt: 0, - liqAmt: tempAmount - }); - executeCallsWithToken( - payloadObject, - registrarContract, - tempAmount, - vault_config.network - ); - } - emit UpdateEndowment(curId, tempEndowment); - return (leftoversLiquid, tempEndowment); - } - - /** - * @dev Processes locked vault investment for an endowment account. - * @param curId ID of the current endowment account. - * @param tempEndowment Storage reference of the current endowment account. - * @param lockedAmount Amount of tokens to invest in locked vaults. - * @param registrarContract Address of the registrar contract. - * @return uint256 Amount of leftover tokens after investing in locked vaults. - * @return AccountStorage.Endowment Storage reference of the updated endowment account. - */ - function processLockedVault( - uint256 curId, - AccountStorage.Endowment storage tempEndowment, - uint256 lockedAmount, - address registrarContract - ) internal returns (uint256, AccountStorage.Endowment storage) { - AccountStorage.State storage state = LibAccounts.diamondStorage(); - - AngelCoreStruct.accountStratagyLockedCheck( - tempEndowment.strategies, - tempEndowment.oneoffVaults - ); - - uint256 leftoversLocked = lockedAmount; - - for ( - uint256 i = 0; - i < tempEndowment.strategies.lockedPercentage.length; - i++ - ) { - if ( - lockedAmount.mul(tempEndowment.strategies.lockedPercentage[i]) < - 100 - ) { - continue; - } - leftoversLocked -= lockedAmount - .mul(tempEndowment.strategies.lockedPercentage[i]) - .div(100); - - AngelCoreStruct.YieldVault memory vault_config = IRegistrar( - registrarContract - ).queryVaultDetails(tempEndowment.strategies.locked_vault[i]); - - require( - vault_config.approved, - "Vault is not approved to accept deposits" - ); - - uint32[] memory curIds = new uint32[](1); - curIds[0] = uint32(curId); - uint256 tempAmount = lockedAmount - .mul(tempEndowment.strategies.lockedPercentage[i]) - .div(100); - //Updating balance of vault - state.vaultBalance[curId][AngelCoreStruct.AccountType.Locked][ - vault_config.addr - ] += tempAmount; - state.stratagyId[bytes4(keccak256(bytes(vault_config.addr)))] = vault_config.addr; - IAxelarGateway.VaultActionData memory payloadObject = IAxelarGateway - .VaultActionData({ - strategyId: bytes4(keccak256(bytes(vault_config.addr))), - selector: IVault.deposit.selector, - accountIds: curIds, - token: vault_config.inputDenom, - lockAmt: tempAmount, - liqAmt: 0 - }); - executeCallsWithToken( - payloadObject, - registrarContract, - tempAmount, - vault_config.network - ); - } - emit UpdateEndowment(curId, tempEndowment); - return (leftoversLocked, tempEndowment); - } - - /** - * @notice Deposit ETH into the account (later swaps into USDC and then deposits into the account) - * @param curDetails The details of the deposit - */ - function depositEth( - AccountMessages.DepositRequest memory curDetails + function depositMatic( + AccountMessages.DepositRequest memory details ) public payable nonReentrant { require(msg.value > 0, "Invalid Amount"); AccountStorage.State storage state = LibAccounts.diamondStorage(); - // AccountStorage.Config memory tempConfig = state.config; + AccountStorage.Config memory tempConfig = state.config; + AccountStorage.EndowmentState storage tempEndowmentState = state.STATES[ + details.id + ]; + require(!tempEndowmentState.closingEndowment, "Endowment is closed"); RegistrarStorage.Config memory registrar_config = IRegistrar( - state.config.registrarContract + tempConfig.registrarContract ).queryConfig(); // Swap ETH to USDC uint256 usdcAmount = ISwappingV3(registrar_config.swapsRouter) .swapEthToToken{value: msg.value}(); emit SwappedToken(usdcAmount); - processToken(curDetails, registrar_config.usdcAddress, usdcAmount); + processToken(details, registrar_config.usdcAddress, usdcAmount); } /** * @notice Deposit ERC20 into the account (later swaps into USDC and then deposits into the account) - * @param curDetails The details of the deposit - * @param curTokenaddress The address of the token to deposit - * @param curAmount The amount of the token to deposit + * @param details The details of the deposit + * @param tokenAddress The address of the token to deposit + * @param amount The amount of the token to deposit */ function depositERC20( - AccountMessages.DepositRequest memory curDetails, - address curTokenaddress, - uint256 curAmount - ) public payable nonReentrant { - require(curTokenaddress != address(0), "Invalid Token Address"); + AccountMessages.DepositRequest memory details, + address tokenAddress, + uint256 amount + ) public nonReentrant { + require(tokenAddress != address(0), "Invalid Token Address"); AccountStorage.State storage state = LibAccounts.diamondStorage(); // AccountStorage.Config memory tempConfig = state.config; - RegistrarStorage.Config memory registrar_config = IRegistrar( - state.config.registrarContract - ).queryConfig(); - - bool isValid = AngelCoreStruct.cw20Valid( - registrar_config.acceptedTokens.cw20, - curTokenaddress - ); + AccountStorage.EndowmentState storage tempEndowmentState = state.STATES[ + details.id + ]; + require(!tempEndowmentState.closingEndowment, "Endowment is closed"); + require( + IRegistrar(state.config.registrarContract) + .isTokenAccepted(tokenAddress), + "Invalid Token"); - require(isValid, "Invalid Token"); + RegistrarStorage.Config memory registrar_config = + IRegistrar(state.config.registrarContract) + .queryConfig(); - bool curSuccess = IERC20(curTokenaddress).transferFrom( + require(IERC20(tokenAddress).transferFrom( msg.sender, address(this), - curAmount - ); - require(curSuccess, "Transfer failed"); - curSuccess = IERC20(curTokenaddress).approve( + amount), + "Transfer failed"); + + require(IERC20(tokenAddress).approve( registrar_config.swapsRouter, - curAmount - ); - require(curSuccess, "Approval failed"); + amount), + "Approval failed"); - if (curTokenaddress == registrar_config.usdcAddress) { - processToken(curDetails, curTokenaddress, curAmount); + if (tokenAddress == registrar_config.usdcAddress) { + processToken(details, tokenAddress, amount); return; - } else { + } + else { uint256 usdcAmount = ISwappingV3(registrar_config.swapsRouter) - .swapTokenToUsdc(curTokenaddress, curAmount); + .swapTokenToUsdc(tokenAddress, amount); - processToken(curDetails, registrar_config.usdcAddress, usdcAmount); + processToken(details, registrar_config.usdcAddress, usdcAmount); emit SwappedToken(usdcAmount); - return; } } /** * @notice Deposit ERC20 (USDC) into the account * @dev manages vaults deposit and keeps leftover funds after vaults deposit on accounts diamond - * @param curDetails The details of the deposit - * @param curTokenaddress The address of the token to deposit (only called with USDC address) - * @param curAmount The amount of the token to deposit (in USDC) + * @param details The details of the deposit + * @param tokenAddress The address of the token to deposit (only called with USDC address) + * @param amount The amount of the token to deposit (in USDC) */ function processToken( - AccountMessages.DepositRequest memory curDetails, - address curTokenaddress, - uint256 curAmount + AccountMessages.DepositRequest memory details, + address tokenAddress, + uint256 amount ) internal { AccountStorage.State storage state = LibAccounts.diamondStorage(); AccountStorage.Endowment storage tempEndowment = state.ENDOWMENTS[ - curDetails.id + details.id ]; + require(tokenAddress != address(0), "Invalid ERC20 token"); require( - tempEndowment.depositApproved, - "Deposits are not approved for this endowment" - ); - require(curTokenaddress != address(0), "Invalid ERC20 token"); - - require( - curDetails.lockedPercentage + curDetails.liquidPercentage == 100, + details.lockedPercentage + details.liquidPercentage == 100, "InvalidSplit" ); @@ -298,91 +140,83 @@ contract AccountDepositWithdrawEndowments is state.config.registrarContract ).queryConfig(); - if ( - tempEndowment.depositFee.active && - tempEndowment.depositFee.feePercentage != 0 && - tempEndowment.depositFee.payoutAddress != address(0) - ) { - uint256 depositFeeAmount = ( - curAmount.mul(tempEndowment.depositFee.feePercentage) - ).div(100); - curAmount = curAmount.sub(depositFeeAmount); + if (tempEndowment.depositFee.percentage != 0) { + uint256 depositFeeAmount = (amount + .mul(tempEndowment.depositFee.percentage)) + .div(AngelCoreStruct.FEE_BASIS); + amount = amount.sub(depositFeeAmount); require( - IERC20(curTokenaddress).transfer( + IERC20(tokenAddress).transfer( tempEndowment.depositFee.payoutAddress, depositFeeAmount ), - "Insufficient Funds" + "Transfer Failed" ); } - uint256 lockedSplit = curDetails.lockedPercentage; - uint256 liquidSplit = curDetails.liquidPercentage; + uint256 lockedSplitPercent = details.lockedPercentage; + uint256 liquidSplitPercent = details.liquidPercentage; - AngelCoreStruct.SplitDetails - memory registrar_split_configs = registrar_config.splitToLiquid; + AngelCoreStruct.SplitDetails memory registrar_split_configs = + registrar_config.splitToLiquid; require( registrar_config.indexFundContract != address(0), - "ContractNotConfigured" + "No Index Fund" ); if (msg.sender != registrar_config.indexFundContract) { - if ( - tempEndowment.endow_type == - AngelCoreStruct.EndowmentType.Charity || - (tempEndowment.splitToLiquid.min == 0 && - tempEndowment.splitToLiquid.max == 0) - ) { - (lockedSplit, liquidSplit) = AngelCoreStruct.checkSplits( + if (tempEndowment.endowType == AngelCoreStruct.EndowmentType.Charity) { + // use the Registrar default split for Charities + (lockedSplitPercent, liquidSplitPercent) = AngelCoreStruct.checkSplits( registrar_split_configs, - lockedSplit, - liquidSplit, + lockedSplitPercent, + liquidSplitPercent, tempEndowment.ignoreUserSplits ); } else { - (lockedSplit, liquidSplit) = AngelCoreStruct.checkSplits( + // use the Endowment's SplitDetails for ASTs + (lockedSplitPercent, liquidSplitPercent) = AngelCoreStruct.checkSplits( tempEndowment.splitToLiquid, - lockedSplit, - liquidSplit, + lockedSplitPercent, + liquidSplitPercent, tempEndowment.ignoreUserSplits ); } } - uint256 lockedAmount = (curAmount.mul(lockedSplit)).div(100); - uint256 liquidAmount = (curAmount.mul(liquidSplit)).div(100); + uint256 lockedAmount = (amount.mul(lockedSplitPercent)) + .div(AngelCoreStruct.PERCENT_BASIS); + uint256 liquidAmount = (amount.mul(liquidSplitPercent)) + .div(AngelCoreStruct.PERCENT_BASIS); - state.STATES[curDetails.id].donationsReceived.locked += lockedAmount; - state.STATES[curDetails.id].donationsReceived.liquid += liquidAmount; + state.STATES[details.id].donationsReceived.locked += lockedAmount; + state.STATES[details.id].donationsReceived.liquid += liquidAmount; //donation matching flow //execute donor match will always be called on an EOA - { - if ( - tempEndowment.endow_type == + if (lockedAmount > 0) { + if (tempEndowment.endowType == AngelCoreStruct.EndowmentType.Charity && - lockedAmount > 0 && registrar_config.donationMatchCharitesContract != address(0) ) { IDonationMatching( registrar_config.donationMatchCharitesContract ).executeDonorMatch( - curDetails.id, + details.id, lockedAmount, tx.origin, registrar_config.haloToken ); } else if ( - tempEndowment.endow_type == + tempEndowment.endowType == AngelCoreStruct.EndowmentType.Normal && - tempEndowment.donationMatchContract != address(0) && - lockedAmount > 0 + tempEndowment.donationMatchContract != address(0) ) { IDonationMatching(tempEndowment.donationMatchContract) .executeDonorMatch( - curDetails.id, + details.id, lockedAmount, tx.origin, tempEndowment.daoToken @@ -390,261 +224,209 @@ contract AccountDepositWithdrawEndowments is } } - { - uint256 leftoversLocked; - (leftoversLocked, tempEndowment) = processLockedVault( - curDetails.id, - tempEndowment, - lockedAmount, - state.config.registrarContract - ); - AngelCoreStruct.addToken( - state.STATES[curDetails.id].balances.locked, - curTokenaddress, - leftoversLocked - ); - } - - { - uint256 leftoversLiquid; - (leftoversLiquid, tempEndowment) = processLiquidVault( - curDetails.id, - tempEndowment, - liquidAmount, - state.config.registrarContract - ); - AngelCoreStruct.addToken( - state.STATES[curDetails.id].balances.liquid, - curTokenaddress, - leftoversLiquid - ); - } - emit UpdateEndowmentState(curDetails.id, state.STATES[curDetails.id]); + AngelCoreStruct.addToken( + state.STATES[details.id].balances.locked, + tokenAddress, + lockedAmount + ); + AngelCoreStruct.addToken( + state.STATES[details.id].balances.liquid, + tokenAddress, + liquidAmount + ); + // emit UpdateEndowmentState(details.id, state.STATES[details.id]); - state.ENDOWMENTS[curDetails.id] = tempEndowment; - emit UpdateEndowment(curDetails.id, tempEndowment); + state.ENDOWMENTS[details.id] = tempEndowment; + emit UpdateEndowment(details.id, tempEndowment); } /** * @notice Withdraws funds from an endowment * @dev Withdraws funds available on the accounts diamond after checking certain conditions - * @param curId The endowment id + * @param id The endowment id * @param acctType The account type to withdraw from - * @param curBeneficiary The address to send the funds to - * @param curTokenaddress The token address to withdraw - * @param curAmount The amount to withdraw + * @param beneficiaryAddress The address to send funds to + * @param beneficiaryEndowId The endowment to send funds to + * @param tokenAddress The token address to withdraw + * @param amount The amount to withdraw */ function withdraw( - uint256 curId, + uint32 id, AngelCoreStruct.AccountType acctType, - address curBeneficiary, - address[] memory curTokenaddress, - uint256[] memory curAmount + address beneficiaryAddress, + uint32 beneficiaryEndowId, + address tokenAddress, + uint256 amount ) public nonReentrant { - AccountStorage.State storage state = LibAccounts.diamondStorage(); + require(amount > 0, "InvalidZeroAmount"); + require( + (beneficiaryAddress != address(0) && beneficiaryEndowId == 0) || + (beneficiaryAddress == address(0) && beneficiaryEndowId != 0), + "Must provide Beneficiary Address xor Endowment ID" + ); - // AccountStorage.Config memory tempConfig = state.config; + AccountStorage.State storage state = LibAccounts.diamondStorage(); AccountStorage.Endowment storage tempEndowment = state.ENDOWMENTS[ - curId + id ]; - AccountStorage.EndowmentState memory tempState = state.STATES[curId]; - - require( - tempEndowment.withdrawApproved, - "Withdraws are not approved for this endowment" - ); + AccountStorage.EndowmentState storage tempEndowmentState = state.STATES[ + id + ]; + require(!tempEndowmentState.closingEndowment, "Endowment is closed"); + // fetch regisrar config RegistrarStorage.Config memory registrar_config = IRegistrar( state.config.registrarContract ).queryConfig(); - // There is no way for normal endowments - // to withdraw locked funds - // before maturity - if ( - tempEndowment.endow_type == AngelCoreStruct.EndowmentType.Charity && - acctType == AngelCoreStruct.AccountType.Locked - ) { - // fetch regisrar config + // Charities never mature & Normal endowments optionally mature + // Check if maturity has been reached for the endowment (0 == no maturity date) + bool mature = ( + tempEndowment.maturityTime != 0 && + block.timestamp >= tempEndowment.maturityTime + ); - // should be locked withdraw contract - require( - msg.sender == registrar_config.lockedWithdrawal, - "Unauthorized" - ); - } else if ( - tempEndowment.endow_type == AngelCoreStruct.EndowmentType.Charity && - acctType == AngelCoreStruct.AccountType.Liquid - ) { - require(msg.sender == tempEndowment.owner, "Unauthorized"); - } else if ( - tempEndowment.endow_type == AngelCoreStruct.EndowmentType.Normal && - acctType == AngelCoreStruct.AccountType.Locked - ) { - if ( - tempEndowment.maturityTime != 0 && - block.timestamp < tempEndowment.maturityTime - ) { - revert( - "Endowment is not mature. Cannot withdraw before maturity time is reached." - ); - } - bool check = true; - for ( - uint256 i = 0; - i < tempEndowment.maturityWhitelist.length; - i++ - ) { - if (tempEndowment.maturityWhitelist[i] == msg.sender) { - check = false; - } + // ** SHARED LOCKED WITHDRAWAL RULES ** + // Can withdraw early for a (possible) penalty fee + uint256 earlyLockedWithdrawPenalty = 0; + if (acctType == AngelCoreStruct.AccountType.Locked && !mature) { + // Calculate the early withdraw penalty based on the earlyLockedWithdrawFee setting + // Normal: Endowment specific setting that owners can (optionally) set + // Charity: Registrar based setting for all Charity Endowments + if (tempEndowment.endowType == AngelCoreStruct.EndowmentType.Normal) { + earlyLockedWithdrawPenalty = (amount.mul(tempEndowment.earlyLockedWithdrawFee.percentage)) + .div(AngelCoreStruct.FEE_BASIS); + } else { + earlyLockedWithdrawPenalty = (amount.mul( + IRegistrar(state.config.registrarContract).queryFee( + "accounts_early_locked_withdraw" + ) + )).div(AngelCoreStruct.FEE_BASIS); } + } - if (check) { - revert("Sender address is not listed in maturityWhitelist."); - } - } else if ( - tempEndowment.endow_type == AngelCoreStruct.EndowmentType.Normal && - acctType == AngelCoreStruct.AccountType.Liquid - ) { - bool flag = false; - for ( - uint256 i = 0; - i < tempEndowment.whitelistedBeneficiaries.length; - i++ - ) { - if (msg.sender == tempEndowment.whitelistedBeneficiaries[i]) { - flag = true; + // ** NORMAL TYPE WITHDRAWAL RULES ** + // In both balance types: + // The endowment multisig OR beneficiaries allowlist addresses [if populated] can withdraw. After + // maturity has been reached, only addresses in Maturity Allowlist may withdraw. If the Maturity + // Allowlist is not populated, then only the endowment multisig is allowed to withdraw. + if (tempEndowment.endowType == AngelCoreStruct.EndowmentType.Normal) { + // determine if msg sender is allowed to withdraw based on rules and maturity status + bool senderAllowed = false; + if (mature) { + if (tempEndowment.maturityAllowlist.length > 0) { + for ( + uint256 i = 0; + i < tempEndowment.maturityAllowlist.length; + i++ + ) { + if (tempEndowment.maturityAllowlist[i] == msg.sender) { + senderAllowed = true; + } + } + require(senderAllowed, "Sender address is not listed in maturityAllowlist."); + } else { + require(msg.sender == tempEndowment.owner, "Sender address is not the Endowment Multisig."); + } + } else { + if (tempEndowment.allowlistedBeneficiaries.length > 0) { + for ( + uint256 i = 0; + i < tempEndowment.allowlistedBeneficiaries.length; + i++ + ) { + if (tempEndowment.allowlistedBeneficiaries[i] == msg.sender) { + senderAllowed = true; + } + } + require(senderAllowed || msg.sender == tempEndowment.owner, "Sender address is not listed in allowlistedBeneficiaries or the Endowment Multisig."); } - } - - if (!(msg.sender == tempEndowment.owner || flag)) { - revert( - "Sender is not Endowment owner or is not listed in whitelist." - ); } } - uint256 withdrawRate; - if (tempEndowment.endow_type == AngelCoreStruct.EndowmentType.Charity) { - withdrawRate = IRegistrar(state.config.registrarContract).queryFee( + uint256 withdrawFeeRateAp; + if (tempEndowment.endowType == AngelCoreStruct.EndowmentType.Charity) { + withdrawFeeRateAp = IRegistrar(state.config.registrarContract).queryFee( "accounts_withdraw_charity" ); } else { - withdrawRate = IRegistrar(state.config.registrarContract).queryFee( + withdrawFeeRateAp = IRegistrar(state.config.registrarContract).queryFee( "accounts_withdraw_normal" ); } - AngelCoreStruct.GenericBalance memory state_bal; - + uint256 rent_bal; if (acctType == AngelCoreStruct.AccountType.Locked) { - state_bal = tempState.balances.locked; + rent_bal = state.STATES[id].balances.locked.balancesByToken[tokenAddress]; } else { - state_bal = tempState.balances.liquid; + rent_bal = state.STATES[id].balances.liquid.balancesByToken[tokenAddress]; } - for (uint8 i = 0; i < curTokenaddress.length; i++) { - require(curAmount[i] != 0, "InvalidZeroAmount"); + // ensure balance of tokens can cover the requested withdraw amount + require(rent_bal > amount, "InsufficientFunds"); + + // calculate AP Protocol fee owed on withdrawn token amount + uint256 withdrawFeeAp = (amount.mul(withdrawFeeRateAp)) + .div(AngelCoreStruct.FEE_BASIS); - uint256 balance = 0; - uint8 index = 0; - for (uint8 j = 0; j < state_bal.Cw20CoinVerified_addr.length; j++) { - if (curTokenaddress[i] == state_bal.Cw20CoinVerified_addr[j]) { - balance = state_bal.Cw20CoinVerified_amount[j]; - index = j; - } - } + // Transfer AP Protocol fee to treasury + // (ie. standard Withdraw Fee + any early Locked Withdraw Penalty) + require( + IERC20(tokenAddress).transfer( + registrar_config.treasury, + withdrawFeeAp + earlyLockedWithdrawPenalty + ), + "Transfer failed" + ); + + // ** Endowment specific withdraw fee ** + // Endowment specific withdraw fee needs to be calculated against the amount + // leftover after all AP withdraw fees are subtracted. Otherwise we risk having + // negative amounts due to collective fees being greater than 100% + uint256 amountLeftover = amount - withdrawFeeAp - earlyLockedWithdrawPenalty; + uint256 withdrawFeeEndow = 0; + if ( + amountLeftover > 0 && + tempEndowment.withdrawFee.percentage != 0 + ) { + withdrawFeeEndow = (amountLeftover.mul(tempEndowment.withdrawFee.percentage)) + .div(AngelCoreStruct.PERCENT_BASIS); - require(balance > curAmount[i], "InsufficientFunds"); - - // only withdraws money which is available on the contract - // doesn't bring money from the vaults - // { - // uint256 withdrawFee = (curAmount[i].mul(withdrawRate)).div(100); - - // require( - // IERC20(curTokenaddress[i]).transfer( - // curBeneficiary, - // curAmount[i] - withdrawFee - // ), - // "Transfer failed" - // ); - // require( - // IERC20(curTokenaddress[i]).transfer( - // registrar_config.treasury, - // withdrawFee - // ), - // "Transfer failed" - // ); - // } - - state_bal.Cw20CoinVerified_amount[index] -= curAmount[i]; + // transfer endowment withdraw fee to beneficiary address + require( + IERC20(tokenAddress).transfer( + tempEndowment.withdrawFee.payoutAddress, + withdrawFeeEndow + ), + "Insufficient Funds" + ); } - if (acctType == AngelCoreStruct.AccountType.Locked) { - tempState.balances.locked = state_bal; + // send all tokens (less fees) to the ultimate beneficiary address/endowment + if (beneficiaryAddress != address(0)) { + require( + IERC20(tokenAddress).transfer( + beneficiaryAddress, + (amountLeftover - withdrawFeeEndow) + ), + "Transfer failed" + ); } else { - tempState.balances.liquid = state_bal; + // check endowment specified is not closed + require(!state.STATES[beneficiaryEndowId].closingEndowment, "Beneficiary endowment is closed"); + // Send deposit message to 100% Liquid account of an endowment + processToken( + AccountMessages.DepositRequest({ id: id, lockedPercentage: 0, liquidPercentage: 100 }), + tokenAddress, + (amountLeftover - withdrawFeeEndow) + ); } - state.STATES[curId] = tempState; - emit UpdateEndowmentState(curId, tempState); - } - - /** - * @notice Sends token to the different chain with the message - * @param payloadObject message object - * @param registrarContract registrar contract address - * @param amount Amount of funds to be transfered - * @param network The network you want to transfer token - */ - function executeCallsWithToken( - IAxelarGateway.VaultActionData memory payloadObject, - address registrarContract, - uint256 amount, - uint256 network - ) internal { - // TODO: check if event has to be emitted - // AccountStorage.State storage state = LibAccounts.diamondStorage(); - - // Encode Valts action Data - bytes memory Encodedpayload = abi.encode(payloadObject); - - AngelCoreStruct.NetworkInfo memory senderInfo = IRegistrar( - registrarContract - ).queryNetworkConnection(block.chainid); - - AngelCoreStruct.NetworkInfo memory recieverInfo = IRegistrar( - registrarContract - ).queryNetworkConnection(network); - uint256 curEth = recieverInfo.gasLimit; - if (curEth > 0) { - IAxelarGateway(senderInfo.gasReceiver) - .payNativeGasForContractCallWithToken{value: curEth}( - address(this), - recieverInfo.name, - StringArray.addressToString(recieverInfo.router), - Encodedpayload, - IERC20Metadata(payloadObject.token).symbol(), - amount, - msg.sender - ); + // reduce the orgs balance by the withdrawn token amount + if (acctType == AngelCoreStruct.AccountType.Locked) { + state.STATES[id].balances.locked.balancesByToken[tokenAddress] -= amount; + } else { + state.STATES[id].balances.liquid.balancesByToken[tokenAddress] -= amount; } - //print network it - console.log(block.chainid); - //print amount - console.log(amount); - console.log("Calling contract", senderInfo.axelerGateway); - - IERC20(payloadObject.token).approve(senderInfo.axelerGateway, amount); - //Call the contract - IAxelarGateway(senderInfo.axelerGateway).callContractWithToken({ - destinationChain: recieverInfo.name, - contractAddress: StringArray.addressToString(recieverInfo.router), - payload: Encodedpayload, - symbol: IERC20Metadata(payloadObject.token).symbol(), - amount: amount - }); } -} +} \ No newline at end of file diff --git a/contracts/core/accounts/facets/AccountDonationMatch.sol b/contracts/core/accounts/facets/AccountDonationMatch.sol index 0cbd81344..0c1847f4f 100644 --- a/contracts/core/accounts/facets/AccountDonationMatch.sol +++ b/contracts/core/accounts/facets/AccountDonationMatch.sol @@ -3,7 +3,7 @@ pragma solidity ^0.8.16; import {AccountStorage} from "../storage.sol"; import {LibAccounts} from "../lib/LibAccounts.sol"; import {RegistrarStorage} from "../../registrar/storage.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; +import {IRegistrar} from "../../registrar/interfaces/IRegistrar.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {ReentrancyGuardFacet} from "./ReentrancyGuardFacet.sol"; import {AccountsEvents} from "./AccountsEvents.sol"; @@ -12,7 +12,7 @@ import {IDonationMatchEmitter} from "./../../../normalized_endowment/donation-ma import {DonationMatchStorage} from "./../../../normalized_endowment/donation-match/storage.sol"; import {DonationMatchMessages} from "./../../../normalized_endowment/donation-match/message.sol"; import {ProxyContract} from "../../proxy.sol"; -import "hardhat/console.sol"; +import {IAccountDonationMatch} from "../interfaces/IAccountDonationMatch.sol"; /** * @title AccountDeployContract @@ -20,22 +20,22 @@ import "hardhat/console.sol"; * @dev Created so that deploying facets (which call this) don't have size conflicts * @dev Is always going to be called by address(this) */ -contract AccountDonationMatch is ReentrancyGuardFacet, AccountsEvents { +contract AccountDonationMatch is ReentrancyGuardFacet, AccountsEvents, IAccountDonationMatch { /** * @notice Deposit DAOToken(or Halo) to the endowment and store its balance * @dev Function manages reserve token sent by donation matching contract - * @param curId Endowment ID - * @param curAmount Amount of DAOToken to deposit + * @param id Endowment ID + * @param amount Amount of DAOToken to deposit */ function depositDonationMatchErC20( - uint256 curId, - address curToken, - uint256 curAmount + uint32 id, + address token, + uint256 amount ) public { AccountStorage.State storage state = LibAccounts.diamondStorage(); AccountStorage.Endowment storage tempEndowment = state.ENDOWMENTS[ - curId + id ]; RegistrarStorage.Config memory registrar_config = IRegistrar( @@ -43,111 +43,108 @@ contract AccountDonationMatch is ReentrancyGuardFacet, AccountsEvents { ).queryConfig(); require( - (registrar_config.haloToken == curToken || - tempEndowment.daoToken == curToken), + (registrar_config.haloToken == token || + tempEndowment.daoToken == token), "Invalid Token" ); require( - IERC20(curToken).transferFrom(msg.sender, address(this), curAmount), + IERC20(token).transferFrom(msg.sender, address(this), amount), "TransferFrom failed" ); - state.DAOTOKENBALANCE[curId] += curAmount; - emit DonationDeposited(curId, curAmount); + state.DAOTOKENBALANCE[id] += amount; + emit DonationDeposited(id, amount); } /** * @notice Withdraw DAOToken(or Halo) from the endowment * @dev Function manages reserve token sent by donation matching contract - * @param curId Endowment ID - * @param curRecipient Recipient address - * @param curAmount Amount of DAOToken to withdraw + * @param id Endowment ID + * @param recipient Recipient address + * @param amount Amount of DAOToken to withdraw */ function withdrawDonationMatchErC20( - uint256 curId, - address curRecipient, - uint256 curAmount + uint32 id, + address recipient, + uint256 amount ) public { AccountStorage.State storage state = LibAccounts.diamondStorage(); AccountStorage.Endowment storage tempEndowment = state.ENDOWMENTS[ - curId + id ]; - require(curAmount > 0, "amount should be grater than 0"); + require(amount > 0, "amount should be grater than 0"); require(msg.sender == tempEndowment.owner, "UnAuthorized"); require( - state.DAOTOKENBALANCE[curId] >= curAmount, + state.DAOTOKENBALANCE[id] >= amount, "Insufficient amount" ); - state.DAOTOKENBALANCE[curId] -= curAmount; + state.DAOTOKENBALANCE[id] -= amount; require( - IERC20(tempEndowment.daoToken).transfer(curRecipient, curAmount), + IERC20(tempEndowment.daoToken).transfer(recipient, amount), "Transfer failed" ); - emit DonationWithdrawn(curId, curRecipient, curAmount); + emit DonationWithdrawn(id, recipient, amount); } /** * @notice This function creates a donation match contract for an endowment * @dev creates a donation match contract for an endowment based on parameters (performs donation matching for contract against USDC) - * @param curId The id of the endowment - * @param curDetails The details of the donation match contract + * @param id The id of the endowment + * @param details The details of the donation match contract */ function setupDonationMatch( - uint256 curId, - AccountMessages.DonationMatch memory curDetails + uint32 id, + AccountMessages.DonationMatch memory details ) public nonReentrant { AccountStorage.State storage state = LibAccounts.diamondStorage(); - AccountStorage.Endowment memory tempEndowment = state.ENDOWMENTS[curId]; + AccountStorage.Endowment memory tempEndowment = state.ENDOWMENTS[id]; // AccountStorage.Config memory tempConfig = state.config; require(msg.sender == tempEndowment.owner, "Unauthorized"); require(tempEndowment.owner != address(0), "AD E02"); //A DAO does not exist yet for this Endowment. Please set that up first. - require(tempEndowment.donationMatchContract == address(0), "AD E03"); // A Donation Match contract already exists for this Endowment + require(details.data.uniswapFactory != address(0), "Invalid Data"); + require(details.data.poolFee != 0, "Invalid Data"); + RegistrarStorage.Config memory registrar_config = IRegistrar( state.config.registrarContract ).queryConfig(); - require(registrar_config.donationMatchCode != address(0), "AD E04"); // No implementation for donation matching contract - - require(curDetails.data.uniswapFactory != address(0), "Invalid Data"); - + require(registrar_config.donationMatchContract != address(0), "AD E04"); // No implementation for donation matching contract require(registrar_config.usdcAddress != address(0), "AD E05"); // Invalid Registrar Data - require(curDetails.data.poolFee != 0, "Invalid Data"); - - address curInputtoken; + address inputtoken; if ( - curDetails.enumData == + details.enumData == AccountMessages.DonationMatchEnum.HaloTokenReserve ) { require(registrar_config.haloToken != address(0), "AD E05"); // Invalid Registrar Data - curInputtoken = registrar_config.haloToken; + inputtoken = registrar_config.haloToken; } else { require( - curDetails.data.reserveToken != address(0), + details.data.reserveToken != address(0), "Invalid Data" ); - curInputtoken = curDetails.data.reserveToken; + inputtoken = details.data.reserveToken; } DonationMatchMessages.InstantiateMessage memory _inputParam = DonationMatchMessages.InstantiateMessage({ - reserveToken: curInputtoken, - uniswapFactory: curDetails.data.uniswapFactory, + reserveToken: inputtoken, + uniswapFactory: details.data.uniswapFactory, registrarContract: state.config.registrarContract, - poolFee: curDetails.data.poolFee, + poolFee: details.data.poolFee, usdcAddress: registrar_config.usdcAddress }); @@ -159,31 +156,29 @@ contract AccountDonationMatch is ReentrancyGuardFacet, AccountsEvents { address donationMatch = address( new ProxyContract( - registrar_config.donationMatchCode, + registrar_config.donationMatchContract, registrar_config.proxyAdmin, data ) ); // TODO: add donation match address?? : - state.ENDOWMENTS[curId].donationMatchContract = donationMatch; - - { - IDonationMatchEmitter(registrar_config.donationMatchEmitter) - .initializeDonationMatch( - curId, - donationMatch, - DonationMatchStorage.Config({ - reserveToken: curInputtoken, - uniswapFactory: curDetails.data.uniswapFactory, - registrarContract: state.config.registrarContract, - poolFee: curDetails.data.poolFee, - usdcAddress: registrar_config.usdcAddress - }) - ); - emit DonationMatchSetup( - curId, - state.ENDOWMENTS[curId].donationMatchContract + state.ENDOWMENTS[id].donationMatchContract = donationMatch; + + IDonationMatchEmitter(registrar_config.donationMatchEmitter) + .initializeDonationMatch( + id, + donationMatch, + DonationMatchStorage.Config({ + reserveToken: inputtoken, + uniswapFactory: details.data.uniswapFactory, + registrarContract: state.config.registrarContract, + poolFee: details.data.poolFee, + usdcAddress: registrar_config.usdcAddress + }) ); - } + emit DonationMatchSetup( + id, + state.ENDOWMENTS[id].donationMatchContract + ); } } diff --git a/contracts/core/accounts/facets/AccountsAllowance.sol b/contracts/core/accounts/facets/AccountsAllowance.sol index 0e53ff91e..a5a75cf4a 100644 --- a/contracts/core/accounts/facets/AccountsAllowance.sol +++ b/contracts/core/accounts/facets/AccountsAllowance.sol @@ -7,7 +7,7 @@ import {AccountStorage} from "../storage.sol"; import {AccountMessages} from "../message.sol"; import {RegistrarStorage} from "../../registrar/storage.sol"; import {AngelCoreStruct} from "../../struct.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; +import {IRegistrar} from "../../registrar/interfaces/IRegistrar.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {ReentrancyGuardFacet} from "./ReentrancyGuardFacet.sol"; import {AccountsEvents} from "./AccountsEvents.sol"; @@ -20,81 +20,67 @@ contract AccountsAllowance is ReentrancyGuardFacet, AccountsEvents { /** * @notice Endowment owner adds allowance to spend * @dev This function adds or removes allowances for an account - * @param curId The id of the endowment - * @param curAction The action to be performed - * @param curSpender The address of the spender - * @param curAllowance The allowance data - * @param curTokenaddress The address of the token + * @param endowId The id of the endowment + * @param action The action to be performed + * @param spender The address of the spender + * @param token The address of the token + * @param amount The allowance amount */ function manageAllowances( - uint256 curId, - string memory curAction, - address curSpender, - AccountStorage.AllowanceData memory curAllowance, - address curTokenaddress + uint32 endowId, + AngelCoreStruct.AllowanceAction action, + address spender, + address token, + uint256 amount ) public nonReentrant { AccountStorage.State storage state = LibAccounts.diamondStorage(); - AccountStorage.Endowment memory tempEndowment = state.ENDOWMENTS[curId]; + AccountStorage.Endowment storage tempEndowment = state.ENDOWMENTS[endowId]; - require((msg.sender == tempEndowment.owner), "Unauthorized"); + require(!state.STATES[endowId].closingEndowment, "Endowment is closed"); + require(token != address(0), "Invalid Token"); - if (curAllowance.expires) { - require(block.number > curAllowance.height, "Expired"); - require(block.timestamp > curAllowance.timestamp, "Expired"); - } - - require(curSpender != address(0), "Invalid Spender"); - require(curTokenaddress != address(0), "Invalid Token"); - - if ( - keccak256(abi.encodePacked("add")) == - keccak256(abi.encodePacked(curAction)) && - state.ALLOWANCES[msg.sender][curSpender][curTokenaddress].configured - ) { - state - .ALLOWANCES[msg.sender][curSpender][curTokenaddress] - .allowanceAmount += curAllowance.allowanceAmount; - state - .ALLOWANCES[msg.sender][curSpender][curTokenaddress] - .configured = true; - state - .ALLOWANCES[msg.sender][curSpender][curTokenaddress] - .height = curAllowance.height; - state - .ALLOWANCES[msg.sender][curSpender][curTokenaddress] - .timestamp = curAllowance.timestamp; - state - .ALLOWANCES[msg.sender][curSpender][curTokenaddress] - .expires = curAllowance.expires; - emit AllowanceStateUpdatedTo( + // Only the endowment owner or a delegate whom controls the appropriate allowlist can update allowances + // Allowances are additionally restricted to existing allowlisted addresses + bool inAllowlist = false; + if (tempEndowment.maturityTime >= block.timestamp) { + require(AngelCoreStruct.canChange( + tempEndowment.settingsController.allowlistedBeneficiaries, msg.sender, - curSpender, - curTokenaddress, - state.ALLOWANCES[msg.sender][curSpender][curTokenaddress] - ); - } else if ( - keccak256(abi.encodePacked("add")) == - keccak256(abi.encodePacked(curAction)) - ) { - state.ALLOWANCES[msg.sender][curSpender][ - curTokenaddress - ] = curAllowance; - state - .ALLOWANCES[msg.sender][curSpender][curTokenaddress] - .configured = true; + tempEndowment.owner, + block.timestamp), "Unauthorized"); + for (uint256 i = 0; i < tempEndowment.allowlistedBeneficiaries.length; i++) { + if (tempEndowment.allowlistedBeneficiaries[i] == spender) { + inAllowlist = true; + break; + } + } + } else { + require(AngelCoreStruct.canChange( + tempEndowment.settingsController.maturityAllowlist, + msg.sender, + tempEndowment.owner, + block.timestamp), "Unauthorized"); + for (uint256 i = 0; i < tempEndowment.maturityAllowlist.length; i++) { + if (tempEndowment.maturityAllowlist[i] == spender) { + inAllowlist = true; + break; + } + } + } + require(inAllowlist, "Invalid Spender"); + + if (action == AngelCoreStruct.AllowanceAction.Remove) { + delete state.ALLOWANCES[endowId][spender][token]; + emit RemoveAllowance(msg.sender, spender, token); + } else if (action == AngelCoreStruct.AllowanceAction.Add) { + require(amount > 0, "Zero amount"); + state.ALLOWANCES[endowId][spender][token] = amount; emit AllowanceStateUpdatedTo( msg.sender, - curSpender, - curTokenaddress, - state.ALLOWANCES[msg.sender][curSpender][curTokenaddress] + spender, + token, + state.ALLOWANCES[endowId][spender][token] ); - } else if ( - keccak256(abi.encodePacked("remove")) == - keccak256(abi.encodePacked(curAction)) && - state.ALLOWANCES[msg.sender][curSpender][curTokenaddress].configured - ) { - delete state.ALLOWANCES[msg.sender][curSpender][curTokenaddress]; - emit RemoveAllowance(msg.sender, curSpender, curTokenaddress); } else { revert("Invalid Operation"); } @@ -103,78 +89,35 @@ contract AccountsAllowance is ReentrancyGuardFacet, AccountsEvents { /** * @notice withdraw the funds user has granted the allowance for * @dev This function spends the allowance of an account - * @param curId The id of the endowment - * @param curTokenaddress The address of the token - * @param curAmount The amount to be spent + * @param endowId The id of the endowment + * @param token The address of the token + * @param amount The amount to be spent + * @param recipient The recipient of the spend */ function spendAllowance( - uint256 curId, - address curTokenaddress, - uint256 curAmount, - address curRecipient + uint32 endowId, + address token, + uint256 amount, + address recipient ) public nonReentrant { - AccountStorage.State storage state = LibAccounts.diamondStorage(); - AccountStorage.EndowmentState memory tempState = state.STATES[curId]; - - AngelCoreStruct.GenericBalance memory state_bal = tempState - .balances - .liquid; - - require(curTokenaddress != address(0), "Invalid token address"); - require(curAmount != 0, "Invalid Amount claimed"); - - uint256 balance = 0; - uint256 index = 0; - for (uint8 i = 0; i < state_bal.Cw20CoinVerified_addr.length; i++) { - if (state_bal.Cw20CoinVerified_addr[i] == curTokenaddress) { - balance = state_bal.Cw20CoinVerified_amount[i]; - index = i; - break; - } - } - - require(curAmount < balance, "InsufficientFunds"); - - AccountStorage.Endowment memory tempEndowment = state.ENDOWMENTS[curId]; - address spender = msg.sender; - address owner = tempEndowment.owner; - - require( - state.ALLOWANCES[owner][spender][curTokenaddress].configured, - "NoAllowance" - ); - - if (state.ALLOWANCES[owner][spender][curTokenaddress].expires) { - require( - state.ALLOWANCES[owner][spender][curTokenaddress].height < - block.number, - "Expired" - ); - require( - state.ALLOWANCES[owner][spender][curTokenaddress].timestamp < - block.timestamp, - "Expired" - ); - } + require(token != address(0), "Invalid token address"); + require(recipient != address(0), "Invalid recipient address"); + require(amount != 0, "Zero Amount"); + AccountStorage.State storage state = LibAccounts.diamondStorage(); + require(state.ALLOWANCES[endowId][msg.sender][token] > 0, "Allowance does not exist"); require( - state.ALLOWANCES[owner][spender][curTokenaddress].allowanceAmount > - curAmount, - "NoAllowance" + state.ALLOWANCES[endowId][msg.sender][token] > amount, + "Amount reqested exceeds allowance balance" ); + require(amount < state.STATES[endowId].balances.liquid.balancesByToken[token], "InsufficientFunds"); - state - .ALLOWANCES[owner][spender][curTokenaddress] - .allowanceAmount -= curAmount; - state_bal.Cw20CoinVerified_amount[index] -= curAmount; + state.ALLOWANCES[endowId][msg.sender][token] -= amount; + state.STATES[endowId].balances.liquid.balancesByToken[token] -= amount; require( - IERC20(curTokenaddress).transfer(curRecipient, curAmount), + IERC20(token).transfer(recipient, amount), "Transfer failed" ); - - tempState.balances.liquid = state_bal; - state.STATES[curId] = tempState; - emit UpdateEndowmentState(curId, tempState); } } diff --git a/contracts/core/accounts/facets/AccountsCreateEndowment.sol b/contracts/core/accounts/facets/AccountsCreateEndowment.sol index e9f374e8a..57d20b1d0 100644 --- a/contracts/core/accounts/facets/AccountsCreateEndowment.sol +++ b/contracts/core/accounts/facets/AccountsCreateEndowment.sol @@ -7,12 +7,12 @@ import {AccountStorage} from "../storage.sol"; import {AccountMessages} from "../message.sol"; import {RegistrarStorage} from "../../registrar/storage.sol"; import {AngelCoreStruct} from "../../struct.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; -// import {Cw3EndowmentMessages, CW3Endowment} from "./../../../normalized_endowment/cw3-endowment/CW3Endowment.sol"; +import {IRegistrar} from "../../registrar/interfaces/IRegistrar.sol"; +import {LocalRegistrarLib} from "../../registrar/lib/LocalRegistrarLib.sol"; import {SubDao, subDaoMessage} from "./../../../normalized_endowment/subdao/subdao.sol"; import {ISubDao} from "./../../../normalized_endowment/subdao/Isubdao.sol"; -import {IAccountDeployContract} from "./../interface/IAccountDeployContract.sol"; -import {IEndowmentMultiSigFactory} from "./../../../normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigFactory.sol"; +import {IAccountDeployContract} from "./../interfaces/IAccountDeployContract.sol"; +import {IEndowmentMultiSigFactory} from "./../../../normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigFactory.sol"; import {ReentrancyGuardFacet} from "./ReentrancyGuardFacet.sol"; import {AccountsEvents} from "./AccountsEvents.sol"; @@ -24,11 +24,11 @@ contract AccountsCreateEndowment is ReentrancyGuardFacet, AccountsEvents { /** * @notice This function creates an endowment * @dev creates an endowment based on parameters and setups a dao if required - * @param curDetails The details of the endowment + * @param details The details of the endowment */ function createEndowment( - AccountMessages.CreateEndowmentRequest memory curDetails - ) public nonReentrant returns (uint256) { + AccountMessages.CreateEndowmentRequest memory details + ) public nonReentrant returns (uint32) { AccountStorage.State storage state = LibAccounts.diamondStorage(); address registrarAddress = state.config.registrarContract; @@ -37,23 +37,26 @@ contract AccountsCreateEndowment is ReentrancyGuardFacet, AccountsEvents { registrarAddress ).queryConfig(); - if (AngelCoreStruct.EndowmentType.Charity == curDetails.endow_type) { + AngelCoreStruct.EndowmentFee memory earlyLockedWithdrawFee = state.config.earlyLockedWithdrawFee; + if (AngelCoreStruct.EndowmentType.Charity == details.endowType) { require( msg.sender == registrar_config.charityProposal, "Unauthorized" ); + } else { + earlyLockedWithdrawFee = details.earlyLockedWithdrawFee; } - if (curDetails.cw4_members.length == 0) { - curDetails.cw4_members = new address[](1); - curDetails.cw4_members[0] = curDetails.owner; + if (details.members.length == 0) { + details.members = new address[](1); + details.members[0] = details.owner; } - require(curDetails.threshold > 0, "Threshold must be a positive number"); + require(details.threshold > 0, "Threshold must be a positive number"); - if (AngelCoreStruct.EndowmentType.Normal == curDetails.endow_type) { + if (AngelCoreStruct.EndowmentType.Normal == details.endowType) { require( - curDetails.threshold <= curDetails.cw4_members.length, + details.threshold <= details.members.length, "Threshold greater than member count" ); } @@ -61,24 +64,24 @@ contract AccountsCreateEndowment is ReentrancyGuardFacet, AccountsEvents { AngelCoreStruct.SplitDetails memory splitSettings; bool ignoreUserSplit; - if (AngelCoreStruct.EndowmentType.Charity == curDetails.endow_type) { + if (AngelCoreStruct.EndowmentType.Charity == details.endowType) { ignoreUserSplit = false; } else { - splitSettings = curDetails.splitToLiquid; - ignoreUserSplit = curDetails.ignoreUserSplits; + splitSettings = details.splitToLiquid; + ignoreUserSplit = details.ignoreUserSplits; } address donationMatchContract = address(0); - if (AngelCoreStruct.EndowmentType.Charity == curDetails.endow_type) { + if (AngelCoreStruct.EndowmentType.Charity == details.endowType) { donationMatchContract = registrar_config .donationMatchCharitesContract; } - if (curDetails.categories.general.length > 0) { - uint256 max = curDetails.categories.general[0]; - for (uint256 i = 1; i < curDetails.categories.general.length; i++) { - if (max < curDetails.categories.general[i]) { - max = curDetails.categories.general[i]; + if (details.categories.general.length > 0) { + uint256 max = details.categories.general[0]; + for (uint256 i = 1; i < details.categories.general.length; i++) { + if (max < details.categories.general[i]) { + max = details.categories.general[i]; } } @@ -86,89 +89,72 @@ contract AccountsCreateEndowment is ReentrancyGuardFacet, AccountsEvents { } require( - Validator.addressChecker(curDetails.owner), + Validator.addressChecker(details.owner), "Invalid owner address" ); state.ENDOWMENTS[state.config.nextAccountId] = AccountStorage .Endowment({ - owner: curDetails.owner, - name: curDetails.name, - categories: curDetails.categories, - endow_type: curDetails.endow_type, - status: AngelCoreStruct.EndowmentStatus.Approved, - depositApproved: true, - withdrawApproved: true, - maturityTime: curDetails.maturityTime, + owner: details.owner, + name: details.name, + categories: details.categories, + endowType: details.endowType, + maturityTime: details.maturityTime, strategies: AngelCoreStruct.accountStrategiesDefaut(), oneoffVaults: AngelCoreStruct.oneOffVaultsDefault(), - rebalance: AngelCoreStruct.rebalanceDetailsDefaut(), - kycDonorsOnly: curDetails.kycDonorsOnly, + rebalance: IRegistrar(registrarAddress).getRebalanceParams(), + kycDonorsOnly: details.kycDonorsOnly, pendingRedemptions: 0, - copycatStrategy: 0, + multisig: details.owner, dao: address(0), daoToken: address(0), donationMatchActive: false, donationMatchContract: donationMatchContract, - whitelistedBeneficiaries: curDetails.whitelistedBeneficiaries, - whitelistedContributors: curDetails.whitelistedContributors, - earningsFee: curDetails.earningsFee, - withdrawFee: curDetails.withdrawFee, - depositFee: curDetails.depositFee, - aumFee: curDetails.aumFee, - maturityWhitelist: curDetails.maturityWhitelist, - tier: curDetails.tier, - logo: curDetails.logo, - image: curDetails.image, - proposalLink: curDetails.proposalLink, - settingsController: curDetails.settingsController, - parent: curDetails.parent, + allowlistedBeneficiaries: details.allowlistedBeneficiaries, + allowlistedContributors: details.allowlistedContributors, + earlyLockedWithdrawFee: earlyLockedWithdrawFee, + withdrawFee: details.withdrawFee, + depositFee: details.depositFee, + balanceFee: details.balanceFee, + maturityAllowlist: details.maturityAllowlist, + tier: details.tier, + logo: details.logo, + image: details.image, + proposalLink: details.proposalLink, + settingsController: details.settingsController, + parent: details.parent, ignoreUserSplits: ignoreUserSplit, splitToLiquid: splitSettings, - referralId: curDetails.referralId + referralId: details.referralId }); - state.STATES[state.config.nextAccountId] = AccountStorage - .EndowmentState({ - donationsReceived: AngelCoreStruct.donationsReceivedDefault(), - closingEndowment: false, - closingBeneficiary: AngelCoreStruct.beneficiaryDefault(), - balances: AngelCoreStruct.BalanceInfo({ - locked: AngelCoreStruct.genericBalanceDefault(), - liquid: AngelCoreStruct.genericBalanceDefault() - }) - }); - emit UpdateEndowmentState( - state.config.nextAccountId, - state.STATES[state.config.nextAccountId] - ); + state.STATES[state.config.nextAccountId].closingEndowment = false; - state - .ENDOWMENTS[state.config.nextAccountId] - .owner = IEndowmentMultiSigFactory(registrar_config.multisigFactory) + state.ENDOWMENTS[state.config.nextAccountId].owner = IEndowmentMultiSigFactory(registrar_config.multisigFactory) .create( state.config.nextAccountId, registrar_config.multisigEmitter, - curDetails.cw4_members, - curDetails.threshold + details.members, + details.threshold ); + state.ENDOWMENTS[state.config.nextAccountId].multisig = state.ENDOWMENTS[state.config.nextAccountId].owner; - if (curDetails.createDao) { + if (details.createDao) { subDaoMessage.InstantiateMsg memory createDaoMessage = subDaoMessage .InstantiateMsg({ id: state.config.nextAccountId, - quorum: curDetails.dao.quorum, + quorum: details.dao.quorum, owner: state.ENDOWMENTS[state.config.nextAccountId].owner, - threshold: curDetails.dao.threshold, - votingPeriod: curDetails.dao.votingPeriod, - timelockPeriod: curDetails.dao.timelockPeriod, - expirationPeriod: curDetails.dao.expirationPeriod, - proposalDeposit: curDetails.dao.proposalDeposit, - snapshotPeriod: curDetails.dao.snapshotPeriod, - token: curDetails.dao.token, - endow_type: state + threshold: details.dao.threshold, + votingPeriod: details.dao.votingPeriod, + timelockPeriod: details.dao.timelockPeriod, + expirationPeriod: details.dao.expirationPeriod, + proposalDeposit: details.dao.proposalDeposit, + snapshotPeriod: details.dao.snapshotPeriod, + token: details.dao.token, + endowType: state .ENDOWMENTS[state.config.nextAccountId] - .endow_type, + .endowType, endowOwner: state .ENDOWMENTS[state.config.nextAccountId] .owner, diff --git a/contracts/core/accounts/facets/AccountsDAOEndowments.sol b/contracts/core/accounts/facets/AccountsDAOEndowments.sol index 43a296d32..bee545cd3 100644 --- a/contracts/core/accounts/facets/AccountsDAOEndowments.sol +++ b/contracts/core/accounts/facets/AccountsDAOEndowments.sol @@ -7,9 +7,8 @@ import {AccountStorage} from "../storage.sol"; import {AccountMessages} from "../message.sol"; import {RegistrarStorage} from "../../registrar/storage.sol"; import {AngelCoreStruct} from "../../struct.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; -import {IAccountDeployContract} from "./../interface/IAccountDeployContract.sol"; -// import {Cw3EndowmentMessages, CW3Endowment} from "./../../../normalized_endowment/cw3-endowment/CW3Endowment.sol"; +import {IRegistrar} from "../../registrar/interfaces/IRegistrar.sol"; +import {IAccountDeployContract} from "./../interfaces/IAccountDeployContract.sol"; import {SubDao, subDaoMessage} from "./../../../normalized_endowment/subdao/subdao.sol"; import {ISubDao} from "./../../../normalized_endowment/subdao/Isubdao.sol"; import {ProxyContract} from "../../proxy.sol"; @@ -27,16 +26,16 @@ contract AccountsDAOEndowments is ReentrancyGuardFacet, AccountsEvents { /** * @notice This function creates a DAO for an endowment * @dev creates a DAO for an endowment based on parameters - * @param curId The id of the endowment - * @param curDetails The details of the DAO + * @param id The id of the endowment + * @param details The details of the DAO */ function setupDao( - uint256 curId, - AngelCoreStruct.DaoSetup memory curDetails + uint32 id, + AngelCoreStruct.DaoSetup memory details ) public nonReentrant { AccountStorage.State storage state = LibAccounts.diamondStorage(); - AccountStorage.Endowment memory tempEndowment = state.ENDOWMENTS[curId]; + AccountStorage.Endowment memory tempEndowment = state.ENDOWMENTS[id]; // AccountStorage.Config memory tempConfig = state.config; require(tempEndowment.owner == msg.sender, "Unauthorized"); @@ -44,17 +43,17 @@ contract AccountsDAOEndowments is ReentrancyGuardFacet, AccountsEvents { subDaoMessage.InstantiateMsg memory createDaoMessage = subDaoMessage .InstantiateMsg({ - id: curId, - quorum: curDetails.quorum, + id: id, + quorum: details.quorum, owner: tempEndowment.owner, - threshold: curDetails.threshold, - votingPeriod: curDetails.votingPeriod, - timelockPeriod: curDetails.timelockPeriod, - expirationPeriod: curDetails.expirationPeriod, - proposalDeposit: curDetails.proposalDeposit, - snapshotPeriod: curDetails.snapshotPeriod, - token: curDetails.token, - endow_type: tempEndowment.endow_type, + threshold: details.threshold, + votingPeriod: details.votingPeriod, + timelockPeriod: details.timelockPeriod, + expirationPeriod: details.expirationPeriod, + proposalDeposit: details.proposalDeposit, + snapshotPeriod: details.snapshotPeriod, + token: details.token, + endowType: tempEndowment.endowType, endowOwner: tempEndowment.owner, registrarContract: state.config.registrarContract }); @@ -70,7 +69,7 @@ contract AccountsDAOEndowments is ReentrancyGuardFacet, AccountsEvents { tempEndowment.daoToken = subDaoConfid.daoToken; - state.ENDOWMENTS[curId] = tempEndowment; - emit UpdateEndowment(curId, tempEndowment); + state.ENDOWMENTS[id] = tempEndowment; + emit UpdateEndowment(id, tempEndowment); } } diff --git a/contracts/core/accounts/facets/AccountsEvents.sol b/contracts/core/accounts/facets/AccountsEvents.sol index 8a4d99bed..afdeaae4e 100644 --- a/contracts/core/accounts/facets/AccountsEvents.sol +++ b/contracts/core/accounts/facets/AccountsEvents.sol @@ -8,10 +8,10 @@ import {AccountMessages} from "../message.sol"; abstract contract AccountsEvents { event DaoContractCreated( - subDaoMessage.InstantiateMsg curCreatedaomessage, + subDaoMessage.InstantiateMsg createdaomessage, address daoAddress ); - event DonationDeposited(uint256 curId, uint256 curAmount); + event DonationDeposited(uint256 id, uint256 amount); event DonationWithdrawn(uint256 id, address recipient, uint256 amount); event RemoveAllowance( address sender, @@ -22,20 +22,20 @@ abstract contract AccountsEvents { address sender, address spender, address tokenAddress, - AccountStorage.AllowanceData allowance + uint256 allowance ); event EndowmentCreated(uint256 id, AccountStorage.Endowment endowment); event UpdateEndowment(uint256 id, AccountStorage.Endowment endowment); event UpdateConfig(AccountStorage.Config config); event DonationMatchSetup(uint256 id, address donationMatchContract); event SwapToken( - uint256 curId, - AngelCoreStruct.AccountType curAccountType, - uint256 curAmount, - address curTokenin, - address curTokenout, - uint256 curAmountout + uint256 id, + AngelCoreStruct.AccountType accountType, + uint256 amount, + address tokenin, + address tokenout, + uint256 amountout ); event EndowmentSettingUpdated(uint256 id, string setting); - event UpdateEndowmentState(uint256 id, AccountStorage.EndowmentState state); + // event UpdateEndowmentState(uint256 id, AccountStorage.EndowmentState state); } diff --git a/contracts/core/accounts/facets/AccountsQueryEndowments.sol b/contracts/core/accounts/facets/AccountsQueryEndowments.sol index ab3ef37ed..9c99c205f 100644 --- a/contracts/core/accounts/facets/AccountsQueryEndowments.sol +++ b/contracts/core/accounts/facets/AccountsQueryEndowments.sol @@ -7,7 +7,7 @@ import {AccountStorage} from "../storage.sol"; import {AccountMessages} from "../message.sol"; import {RegistrarStorage} from "../../registrar/storage.sol"; import {AngelCoreStruct} from "../../struct.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; +import {IRegistrar} from "../../registrar/interfaces/IRegistrar.sol"; /** * @title AccountsQueryEndowments @@ -18,49 +18,38 @@ contract AccountsQueryEndowments { /** * @notice This function queries the balance of a token for an endowment * @dev This function queries the balance of a token for an endowment based on its type and address - * @param curId The id of the endowment - * @param curAccountType The account type - * @param curTokenaddress The address of the token + * @param id The id of the endowment + * @param accountType The account type + * @param tokenAddress The address of the token * @return tokenAmount balance of token */ function queryTokenAmount( - uint256 curId, - AngelCoreStruct.AccountType curAccountType, - address curTokenaddress + uint32 id, + AngelCoreStruct.AccountType accountType, + address tokenAddress ) public view returns (uint256 tokenAmount) { AccountStorage.State storage state = LibAccounts.diamondStorage(); - require(address(0) != curTokenaddress, "Invalid token address"); + require(address(0) != tokenAddress, "Invalid token address"); - AccountStorage.EndowmentState memory tempEndowmentState = state.STATES[ - curId - ]; - - if (curAccountType == AngelCoreStruct.AccountType.Locked) { - tokenAmount = AngelCoreStruct.getTokenAmount( - tempEndowmentState.balances.locked.Cw20CoinVerified_addr, - tempEndowmentState.balances.locked.Cw20CoinVerified_amount, - curTokenaddress - ); - } else { - tokenAmount = AngelCoreStruct.getTokenAmount( - tempEndowmentState.balances.liquid.Cw20CoinVerified_addr, - tempEndowmentState.balances.liquid.Cw20CoinVerified_amount, - curTokenaddress - ); + if (accountType == AngelCoreStruct.AccountType.Locked) { + tokenAmount = state.STATES[id].balances.locked.balancesByToken[tokenAddress]; + } + else { + tokenAmount = state.STATES[id].balances.liquid.balancesByToken[tokenAddress]; } } /** * @notice queries the endowment details * @dev queries the endowment details - * @param curId The id of the endowment + * @param id The id of the endowment * @return endowment The endowment details */ function queryEndowmentDetails( - uint256 curId + uint32 id ) public view returns (AccountStorage.Endowment memory endowment) { AccountStorage.State storage state = LibAccounts.diamondStorage(); - endowment = state.ENDOWMENTS[curId]; + endowment = state.ENDOWMENTS[id]; } /** @@ -76,46 +65,31 @@ contract AccountsQueryEndowments { AccountStorage.State storage state = LibAccounts.diamondStorage(); config = AccountMessages.ConfigResponse({ owner: state.config.owner, - version: "", - registrarContract: state.config.registrarContract + version: state.config.version, + registrarContract: state.config.registrarContract, + nextAccountId: state.config.nextAccountId, + maxGeneralCategoryId: state.config.maxGeneralCategoryId, + subDao: state.config.subDao, + gateway: state.config.gateway, + gasReceiver: state.config.gasReceiver, + earlyLockedWithdrawFee: state.config.earlyLockedWithdrawFee }); } /** * @notice queries the endowment donations state * @dev queries the endowment state - * @param curId The id of the endowment + * @param id The id of the endowment * @return stateResponse The endowment state */ function queryState( - uint256 curId + uint32 id ) public view returns (AccountMessages.StateResponse memory stateResponse) { AccountStorage.State storage state = LibAccounts.diamondStorage(); - AccountStorage.EndowmentState memory tempEndowmentState = state.STATES[ - curId - ]; - stateResponse = AccountMessages.StateResponse({ - donationsReceived: tempEndowmentState.donationsReceived, - closingEndowment: tempEndowmentState.closingEndowment, - closingBeneficiary: tempEndowmentState.closingBeneficiary + donationsReceived: state.STATES[id].donationsReceived, + closingEndowment: state.STATES[id].closingEndowment, + closingBeneficiary: state.STATES[id].closingBeneficiary }); } - - /** - * @dev Queries the balance of a specific vault for an endowment account. - * @param curId ID of the endowment account. - * @param vaultType Type of the vault account. - * @param vault Address of the vault contract. - * @return vaultBalance Balance of the specified vault. - */ - function queryVaultBalance( - uint256 curId, - AngelCoreStruct.AccountType vaultType, - string memory vault - ) public view returns (uint256 vaultBalance) { - AccountStorage.State storage state = LibAccounts.diamondStorage(); - - vaultBalance = state.vaultBalance[curId][vaultType][vault]; - } } diff --git a/contracts/core/accounts/facets/AccountsStrategiesCopyEndowments.sol b/contracts/core/accounts/facets/AccountsStrategiesCopyEndowments.sol deleted file mode 100644 index 149acc33d..000000000 --- a/contracts/core/accounts/facets/AccountsStrategiesCopyEndowments.sol +++ /dev/null @@ -1,66 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.16; - -import {LibAccounts} from "../lib/LibAccounts.sol"; -import {Validator} from "../lib/validator.sol"; -import {AccountStorage} from "../storage.sol"; -import {AccountMessages} from "../message.sol"; -import {RegistrarStorage} from "../../registrar/storage.sol"; -import {AngelCoreStruct} from "../../struct.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; -import {StringArray} from "./../../../lib/Strings/string.sol"; -import {ReentrancyGuardFacet} from "./ReentrancyGuardFacet.sol"; -import {AccountsEvents} from "./AccountsEvents.sol"; - -/** - * @title AccountsStrategiesCopyEndowments - * @notice This contract facet copies strategies from one endowment to another - * @dev This contract facet copies strategies from one endowment to another - */ -contract AccountsStrategiesCopyEndowments is - ReentrancyGuardFacet, - AccountsEvents -{ - /** - * @notice This function copies strategies from one endowment to another - * @dev This function copies strategies from one endowment to another - * @param curCopytoid The id of the endowment to copy to - * @param curAccountType The account type - * @param curCopyfromid The id of the endowment to copy from - */ - function copycatStrategies( - uint256 curCopytoid, - AngelCoreStruct.AccountType curAccountType, - uint256 curCopyfromid - ) public nonReentrant { - AccountStorage.State storage state = LibAccounts.diamondStorage(); - require( - msg.sender == state.ENDOWMENTS[curCopytoid].owner, - "Unauthorized" - ); - - AccountStorage.Endowment memory copyEndowment = state.ENDOWMENTS[ - curCopyfromid - ]; - - uint256 length = 0; - if (curAccountType == AngelCoreStruct.AccountType.Locked) { - length = copyEndowment.strategies.locked_vault.length; - } else if (curAccountType == AngelCoreStruct.AccountType.Liquid) { - length = copyEndowment.strategies.liquid_vault.length; - } - - require( - length > 0, - "Attempting to copy an endowment with no set strategy for that account type" - ); - - require( - state.ENDOWMENTS[curCopytoid].copycatStrategy != curCopyfromid, - "Attempting re-set the same copycat endowment ID" - ); - - state.ENDOWMENTS[curCopytoid].copycatStrategy = curCopyfromid; - emit UpdateEndowment(curCopytoid, state.ENDOWMENTS[curCopytoid]); - } -} diff --git a/contracts/core/accounts/facets/AccountsStrategiesUpdateEndowments.sol b/contracts/core/accounts/facets/AccountsStrategiesUpdateEndowments.sol deleted file mode 100644 index 7885d1097..000000000 --- a/contracts/core/accounts/facets/AccountsStrategiesUpdateEndowments.sol +++ /dev/null @@ -1,111 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.16; - -import {LibAccounts} from "../lib/LibAccounts.sol"; -import {Validator} from "../lib/validator.sol"; -import {AccountStorage} from "../storage.sol"; -import {AccountMessages} from "../message.sol"; -import {RegistrarStorage} from "../../registrar/storage.sol"; -import {AngelCoreStruct} from "../../struct.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; -import {StringArray} from "./../../../lib/Strings/string.sol"; -import {ReentrancyGuardFacet} from "./ReentrancyGuardFacet.sol"; -import {AccountsEvents} from "./AccountsEvents.sol"; - -/** - * @title AccountsStrategiesUpdateEndowments - * @notice This contract facet updates strategies for an endowment - * @dev This contract facet updates strategies for an endowment - */ -contract AccountsStrategiesUpdateEndowments is - ReentrancyGuardFacet, - AccountsEvents -{ - /** - * @notice This function updates strategies for an endowment - * @dev This function updates strategies for an endowment - * @param curId The id of the endowment - * @param curAccountType The account type - * @param curStrategies The strategies to update - */ - function updateStrategies( - uint256 curId, - AngelCoreStruct.AccountType curAccountType, - AccountMessages.Strategy[] memory curStrategies - ) public nonReentrant { - AccountStorage.State storage state = LibAccounts.diamondStorage(); - address registrarAddress = state.config.registrarContract; - - require(msg.sender == state.ENDOWMENTS[curId].owner, "Unauthorized"); - require(!state.STATES[curId].closingEndowment, "UpdatesAfterClosed"); - require( - state.ENDOWMENTS[curId].pendingRedemptions == 0, - "RedemptionInProgress" - ); - - for (uint256 i = 0; i < curStrategies.length - 1; i += 1) { - for (uint256 j = i + 1; j < curStrategies.length; j += 1) { - if ( - StringArray.stringCompare( - curStrategies[i].vault, - curStrategies[j].vault - ) - ) { - revert("StrategyComponentsNotUnique"); - } - } - } - - AngelCoreStruct.YieldVault[] memory allowed = IRegistrar( - registrarAddress - ).queryVaultList( - 0, - state.ENDOWMENTS[curId].endow_type, - curAccountType, - AngelCoreStruct.VaultType.None, - AngelCoreStruct.BoolOptional.True, - 0, - 0 - ); - - uint256 percentagesSum = 0; - - string[] memory vaultAddr = new string[](curStrategies.length); - uint256[] memory vaultPercentage = new uint256[](curStrategies.length); - for (uint256 i = 0; i < curStrategies.length; i += 1) { - bool flag = false; - for (uint256 j = 0; j < allowed.length; j += 1) { - if ( - StringArray.stringCompare( - curStrategies[i].vault, - allowed[j].addr - ) - ) { - flag = true; - percentagesSum += curStrategies[i].percentage; - - vaultAddr[i] = curStrategies[i].vault; - vaultPercentage[i] = curStrategies[i].percentage; - } - } - require(flag, "InvalidInputs"); - } - - require(percentagesSum <= 100, "InvalidStrategyAllocation"); - - if (curAccountType == AngelCoreStruct.AccountType.Locked) { - state.ENDOWMENTS[curId].strategies.locked_vault = vaultAddr; - state - .ENDOWMENTS[curId] - .strategies - .lockedPercentage = vaultPercentage; - } else if (curAccountType == AngelCoreStruct.AccountType.Liquid) { - state.ENDOWMENTS[curId].strategies.liquid_vault = vaultAddr; - state - .ENDOWMENTS[curId] - .strategies - .liquidPercentage = vaultPercentage; - } - emit UpdateEndowment(curId, state.ENDOWMENTS[curId]); - } -} diff --git a/contracts/core/accounts/facets/AccountsSwapEndowments.sol b/contracts/core/accounts/facets/AccountsSwapEndowments.sol index 59ebc0e20..731768214 100644 --- a/contracts/core/accounts/facets/AccountsSwapEndowments.sol +++ b/contracts/core/accounts/facets/AccountsSwapEndowments.sol @@ -7,8 +7,8 @@ import {AccountStorage} from "../storage.sol"; import {AccountMessages} from "../message.sol"; import {RegistrarStorage} from "../../registrar/storage.sol"; import {AngelCoreStruct} from "../../struct.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; -import {ISwappingV3} from "../../swap-router/Interface/ISwappingV3.sol"; +import {IRegistrar} from "../../registrar/interfaces/IRegistrar.sol"; +import {ISwappingV3} from "../../swap-router/interfaces/ISwappingV3.sol"; import {ReentrancyGuardFacet} from "./ReentrancyGuardFacet.sol"; import {AccountsEvents} from "./AccountsEvents.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; @@ -21,85 +21,71 @@ contract AccountsSwapEndowments is ReentrancyGuardFacet, AccountsEvents { /** * @notice This function swaps tokens for an endowment * @dev This function swaps tokens for an endowment - * @param curId The id of the endowment - * @param curAccountType The type of the account - * @param curAmount The amount of tokens to be swapped - * @param curTokenin The address of the token to be swapped - * @param curTokenout The address of the token to be received + * @param id The id of the endowment + * @param accountType The type of the account + * @param amount The amount of tokens to be swapped + * @param tokenIn The address of the token to be swapped + * @param tokenOut The address of the token to be received */ function swapToken( - uint256 curId, - AngelCoreStruct.AccountType curAccountType, - uint256 curAmount, - address curTokenin, - address curTokenout + uint32 id, + AngelCoreStruct.AccountType accountType, + uint256 amount, + address tokenIn, + address tokenOut ) public nonReentrant { AccountStorage.State storage state = LibAccounts.diamondStorage(); - AccountStorage.Endowment memory tempEndowment = state.ENDOWMENTS[curId]; - // AccountStorage.Config memory tempConfig = state.config; - AccountStorage.EndowmentState memory tempState = state.STATES[curId]; + AccountStorage.Endowment memory tempEndowment = state.ENDOWMENTS[id]; require(tempEndowment.owner == msg.sender, "Unauthorized"); - - require(curAmount > 0, "InvalidInputs"); - require(curTokenin != address(0), "InvalidInputs"); - require(curTokenout != address(0), "InvalidInputs"); + require(amount > 0, "InvalidInputs"); + require(tokenIn != address(0), "InvalidInputs"); + require(tokenOut != address(0), "InvalidInputs"); RegistrarStorage.Config memory registrar_config = IRegistrar( state.config.registrarContract ).queryConfig(); require( - IERC20(curTokenin).balanceOf(address(this)) >= curAmount, + IERC20(tokenIn).balanceOf(address(this)) >= amount, "BalanceTooSmall" ); - if (curAccountType == AngelCoreStruct.AccountType.Locked) { - tempState.balances.locked.Cw20CoinVerified_amount = AngelCoreStruct - .deductTokens( - tempState.balances.locked.Cw20CoinVerified_addr, - tempState.balances.locked.Cw20CoinVerified_amount, - curTokenin, - curAmount + if (accountType == AngelCoreStruct.AccountType.Locked) { + state.STATES[id].balances.locked.balancesByToken[tokenIn] = + AngelCoreStruct.deductTokens( + state.STATES[id].balances.locked.balancesByToken[tokenIn], + amount ); } else { - tempState.balances.liquid.Cw20CoinVerified_amount = AngelCoreStruct - .deductTokens( - tempState.balances.liquid.Cw20CoinVerified_addr, - tempState.balances.liquid.Cw20CoinVerified_amount, - curTokenin, - curAmount + state.STATES[id].balances.liquid.balancesByToken[tokenIn] = + AngelCoreStruct.deductTokens( + state.STATES[id].balances.liquid.balancesByToken[tokenIn], + amount ); } require( - IERC20(curTokenin).approve(registrar_config.swapsRouter, curAmount), + IERC20(tokenIn).approve(registrar_config.swapsRouter, amount), "Approve failed" ); - uint256[] memory curAmountin = new uint256[](1); - curAmountin[0] = curAmount; - - address[] memory curArrayin = new address[](1); - curArrayin[0] = curTokenin; - uint256 output = ISwappingV3(registrar_config.swapsRouter) .executeSwapOperations( - curArrayin, - curTokenout, - curAmountin, + tokenIn, + tokenOut, + amount, 0 // TODO: this will revert whenever swap_amount > 0 ); - state.STATES[curId] = tempState; - updateStateBalance(curId, curTokenout, output, curAccountType); - emit UpdateEndowmentState(curId, tempState); + updateStateBalance(id, tokenOut, output, accountType); + // emit UpdateEndowmentState(id, tempState); emit SwapToken( - curId, - curAccountType, - curAmount, - curTokenin, - curTokenout, + id, + accountType, + amount, + tokenIn, + tokenOut, 0 ); } @@ -107,30 +93,30 @@ contract AccountsSwapEndowments is ReentrancyGuardFacet, AccountsEvents { /** * @notice This function updates the state balance of the endowment * @dev updates the state balance of the endowment based on account type - * @param curId The id of the endowment - * @param curTokenaddress The address of the token - * @param curAmount The amount of tokens - * @param curAccountType The type of the account + * @param id The id of the endowment + * @param tokenAddress The address of the token + * @param amount The amount of tokens + * @param accountType The type of the account */ function updateStateBalance( - uint256 curId, - address curTokenaddress, - uint256 curAmount, - AngelCoreStruct.AccountType curAccountType + uint32 id, + address tokenAddress, + uint256 amount, + AngelCoreStruct.AccountType accountType ) internal { AccountStorage.State storage state = LibAccounts.diamondStorage(); - if (curAccountType == AngelCoreStruct.AccountType.Locked) { + if (accountType == AngelCoreStruct.AccountType.Locked) { AngelCoreStruct.addToken( - state.STATES[curId].balances.locked, - curTokenaddress, - curAmount + state.STATES[id].balances.locked, + tokenAddress, + amount ); } else { AngelCoreStruct.addToken( - state.STATES[curId].balances.liquid, - curTokenaddress, - curAmount + state.STATES[id].balances.liquid, + tokenAddress, + amount ); } } diff --git a/contracts/core/accounts/facets/AccountsUpdate.sol b/contracts/core/accounts/facets/AccountsUpdate.sol index 050ff8c52..beb51ea7f 100644 --- a/contracts/core/accounts/facets/AccountsUpdate.sol +++ b/contracts/core/accounts/facets/AccountsUpdate.sol @@ -7,7 +7,7 @@ import {AccountStorage} from "../storage.sol"; import {AccountMessages} from "../message.sol"; import {RegistrarStorage} from "../../registrar/storage.sol"; import {AngelCoreStruct} from "../../struct.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; +import {IRegistrar} from "../../registrar/interfaces/IRegistrar.sol"; import {ReentrancyGuardFacet} from "./ReentrancyGuardFacet.sol"; import {AccountsEvents} from "./AccountsEvents.sol"; @@ -43,10 +43,10 @@ contract AccountsUpdate is ReentrancyGuardFacet, AccountsEvents { */ function updateConfig( address newRegistrar, - uint256 maxGeneralCategoryId + uint256 maxGeneralCategoryId, + AngelCoreStruct.EndowmentFee memory earlyLockedWithdrawFee ) public nonReentrant { AccountStorage.State storage state = LibAccounts.diamondStorage(); - AccountStorage.Config memory _tempConfig = state.config; require(msg.sender == state.config.owner, "Unauthorized"); require( @@ -54,10 +54,8 @@ contract AccountsUpdate is ReentrancyGuardFacet, AccountsEvents { "invalid registrar address" ); - _tempConfig.registrarContract = newRegistrar; - _tempConfig.maxGeneralCategoryId = maxGeneralCategoryId; - - state.config = _tempConfig; - emit UpdateConfig(state.config); + state.config.registrarContract = newRegistrar; + state.config.maxGeneralCategoryId = maxGeneralCategoryId; + state.config.earlyLockedWithdrawFee = earlyLockedWithdrawFee; } } diff --git a/contracts/core/accounts/facets/AccountsUpdateEndowmentSettingsController.sol b/contracts/core/accounts/facets/AccountsUpdateEndowmentSettingsController.sol index 95422f359..9edbaa359 100644 --- a/contracts/core/accounts/facets/AccountsUpdateEndowmentSettingsController.sol +++ b/contracts/core/accounts/facets/AccountsUpdateEndowmentSettingsController.sol @@ -8,13 +8,13 @@ import {AccountStorage} from "../storage.sol"; import {AccountMessages} from "../message.sol"; import {RegistrarStorage} from "../../registrar/storage.sol"; import {AngelCoreStruct} from "../../struct.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; +import {IRegistrar} from "../../registrar/interfaces/IRegistrar.sol"; import {IIndexFund} from "../../index-fund/Iindex-fund.sol"; import {Array} from "../../../lib/array.sol"; import {Utils} from "../../../lib/utils.sol"; import {ReentrancyGuardFacet} from "./ReentrancyGuardFacet.sol"; import {AccountsEvents} from "./AccountsEvents.sol"; -import {IAccountsQuery} from "../interface/IAccountsQuery.sol"; +import {IAccountsQuery} from "../interfaces/IAccountsQuery.sol"; /** * @title AccountsUpdateEndowmentSettingsController @@ -27,134 +27,132 @@ contract AccountsUpdateEndowmentSettingsController is { /** @dev Updates the settings of an endowment. - @param curDetails Object containing the updated details of the endowment settings. - @param curDetails.id The ID of the endowment to update. - @param curDetails.whitelistedBeneficiaries The updated list of whitelisted beneficiaries. - @param curDetails.whitelistedContributors The updated list of whitelisted contributors. - @param curDetails.maturity_whitelist_add The addresses to add to the maturity whitelist. - @param curDetails.maturity_whitelist_remove The addresses to remove from the maturity whitelist. - @param curDetails.splitToLiquid The updated split to liquid ratio. - @param curDetails.ignoreUserSplits Whether or not to ignore user splits. + @param details Object containing the updated details of the endowment settings. + @param details.id The ID of the endowment to update. + @param details.allowlistedBeneficiaries The updated list of allowlisted beneficiaries. + @param details.allowlistedContributors The updated list of allowlisted contributors. + @param details.maturity_allowlist_add The addresses to add to the maturity allowlist. + @param details.maturity_allowlist_remove The addresses to remove from the maturity allowlist. + @param details.splitToLiquid The updated split to liquid ratio. + @param details.ignoreUserSplits Whether or not to ignore user splits. Emits a EndowmentSettingUpdated event for each setting that has been updated. Emits an UpdateEndowment event after the endowment has been updated. Throws an error if the endowment is closing. */ function updateEndowmentSettings( - AccountMessages.UpdateEndowmentSettingsRequest memory curDetails + AccountMessages.UpdateEndowmentSettingsRequest memory details ) public nonReentrant { AccountStorage.State storage state = LibAccounts.diamondStorage(); - AccountStorage.EndowmentState memory tempEndowmentState = state.STATES[ - curDetails.id - ]; AccountStorage.Endowment storage tempEndowment = state.ENDOWMENTS[ - curDetails.id + details.id ]; - if (tempEndowmentState.closingEndowment) { - revert("UpdatesAfterClosed"); - } + require(!state.STATES[details.id].closingEndowment, "UpdatesAfterClosed"); - if (tempEndowment.endow_type != AngelCoreStruct.EndowmentType.Charity) { + if (tempEndowment.endowType != AngelCoreStruct.EndowmentType.Charity) { // when maturity time is <= 0 it means it's not set, i.e. the AST is perpetual if (tempEndowment.maturityTime <= 0 || tempEndowment.maturityTime > block.timestamp) { if ( AngelCoreStruct.canChange( - tempEndowment - .settingsController - .whitelistedBeneficiaries, + tempEndowment.settingsController.maturityTime, msg.sender, tempEndowment.owner, - tempEndowment.dao, block.timestamp ) ) { - tempEndowment.whitelistedBeneficiaries = curDetails - .whitelistedBeneficiaries; + // Changes must be to a future time OR changing to a perpetual maturity + require(details.maturityTime > block.timestamp || details.maturityTime == 0, "Invalid maturity time input"); + tempEndowment.maturityTime = details.maturityTime; + emit EndowmentSettingUpdated(details.id, "maturityTime"); + } + if ( + AngelCoreStruct.canChange( + tempEndowment.settingsController.allowlistedBeneficiaries, + msg.sender, + tempEndowment.owner, + block.timestamp + ) + ) { + tempEndowment.allowlistedBeneficiaries = details.allowlistedBeneficiaries; emit EndowmentSettingUpdated( - curDetails.id, - "whitelistedBeneficiaries" + details.id, + "allowlistedBeneficiaries" ); } if ( AngelCoreStruct.canChange( - tempEndowment - .settingsController - .whitelistedContributors, + tempEndowment.settingsController.allowlistedContributors, msg.sender, tempEndowment.owner, - tempEndowment.dao, block.timestamp ) ) { - tempEndowment.whitelistedContributors = curDetails - .whitelistedContributors; + tempEndowment.allowlistedContributors = details.allowlistedContributors; emit EndowmentSettingUpdated( - curDetails.id, - "whitelistedContributors" + details.id, + "allowlistedContributors" ); } - if ( AngelCoreStruct.canChange( - tempEndowment.settingsController.maturityWhitelist, + tempEndowment.settingsController.maturityAllowlist, msg.sender, tempEndowment.owner, - tempEndowment.dao, block.timestamp ) ) { for ( uint256 i = 0; - i < curDetails.maturity_whitelist_add.length; + i < details.maturity_allowlist_add.length; i++ ) { require( Validator.addressChecker( - curDetails.maturity_whitelist_add[i] + details.maturity_allowlist_add[i] ), "InvalidAddress" ); (, bool found) = AddressArray.indexOf( - tempEndowment.maturityWhitelist, - curDetails.maturity_whitelist_add[i] + tempEndowment.maturityAllowlist, + details.maturity_allowlist_add[i] ); if (!found) - tempEndowment.maturityWhitelist.push( - curDetails.maturity_whitelist_add[i] + tempEndowment.maturityAllowlist.push( + details.maturity_allowlist_add[i] ); } for ( uint256 i = 0; - i < curDetails.maturity_whitelist_remove.length; + i < details.maturity_allowlist_remove.length; i++ ) { (uint256 index, bool found) = AddressArray.indexOf( - tempEndowment.maturityWhitelist, - curDetails.maturity_whitelist_remove[i] + tempEndowment.maturityAllowlist, + details.maturity_allowlist_remove[i] ); if (found) - tempEndowment.maturityWhitelist = AddressArray - .remove(tempEndowment.maturityWhitelist, index); + tempEndowment.maturityAllowlist = AddressArray + .remove(tempEndowment.maturityAllowlist, index); } emit EndowmentSettingUpdated( - curDetails.id, - "maturityWhitelist" + details.id, + "maturityAllowlist" ); } } } + if ( AngelCoreStruct.canChange( tempEndowment.settingsController.splitToLiquid, msg.sender, tempEndowment.owner, - tempEndowment.dao, block.timestamp ) ) { - tempEndowment.splitToLiquid = curDetails.splitToLiquid; - emit EndowmentSettingUpdated(curDetails.id, "splitToLiquid"); + tempEndowment.splitToLiquid = details.splitToLiquid; + emit EndowmentSettingUpdated(details.id, "splitToLiquid"); } if ( @@ -162,107 +160,74 @@ contract AccountsUpdateEndowmentSettingsController is tempEndowment.settingsController.ignoreUserSplits, msg.sender, tempEndowment.owner, - tempEndowment.dao, block.timestamp ) ) { - tempEndowment.ignoreUserSplits = curDetails.ignoreUserSplits; - emit EndowmentSettingUpdated(curDetails.id, "ignoreUserSplits"); + tempEndowment.ignoreUserSplits = details.ignoreUserSplits; + emit EndowmentSettingUpdated(details.id, "ignoreUserSplits"); } - state.ENDOWMENTS[curDetails.id] = tempEndowment; - emit UpdateEndowment(curDetails.id, tempEndowment); + state.ENDOWMENTS[details.id] = tempEndowment; + emit UpdateEndowment(details.id, tempEndowment); } /** @notice Updates the controller of the specified endowment - @dev Only the current controller of the endowment or the owner or DAO can call this function - @param curDetails The updated details of the endowment controller - @param curDetails.id The ID of the endowment + @dev Only the endowment owner can call this function + @param details The updated details of the endowment controller + @param details.id The ID of the endowment */ function updateEndowmentController( - AccountMessages.UpdateEndowmentControllerRequest memory curDetails + AccountMessages.UpdateEndowmentControllerRequest memory details ) public nonReentrant { AccountStorage.State storage state = LibAccounts.diamondStorage(); AccountStorage.Endowment storage tempEndowment = state.ENDOWMENTS[ - curDetails.id - ]; - AccountStorage.EndowmentState memory tempEndowmentState = state.STATES[ - curDetails.id + details.id ]; - if (tempEndowmentState.closingEndowment) { - revert("UpdatesAfterClosed"); - } + require(!state.STATES[details.id].closingEndowment, "UpdatesAfterClosed"); + require(msg.sender == tempEndowment.owner, "Unauthorized"); - if ( - !AngelCoreStruct.canChange( - tempEndowment.settingsController.endowmentController, - msg.sender, - tempEndowment.owner, - tempEndowment.dao, - block.timestamp - ) - ) { - revert("Unauthorized"); - } - tempEndowment.settingsController.endowmentController = curDetails - .endowmentController; - tempEndowment.settingsController.name = curDetails.name; - tempEndowment.settingsController.image = curDetails.image; - tempEndowment.settingsController.logo = curDetails.logo; - tempEndowment.settingsController.categories = curDetails.categories; - tempEndowment.settingsController.kycDonorsOnly = curDetails - .kycDonorsOnly; - tempEndowment.settingsController.splitToLiquid = curDetails - .splitToLiquid; - tempEndowment.settingsController.ignoreUserSplits = curDetails - .ignoreUserSplits; - tempEndowment.settingsController.whitelistedBeneficiaries = curDetails - .whitelistedBeneficiaries; - tempEndowment.settingsController.whitelistedContributors = curDetails - .whitelistedContributors; - tempEndowment.settingsController.maturityWhitelist = curDetails - .maturityWhitelist; - tempEndowment.settingsController.earningsFee = curDetails.earningsFee; - tempEndowment.settingsController.depositFee = curDetails.depositFee; - tempEndowment.settingsController.withdrawFee = curDetails.withdrawFee; - tempEndowment.settingsController.aumFee = curDetails.aumFee; + tempEndowment.settingsController = details.settingsController; - state.ENDOWMENTS[curDetails.id] = tempEndowment; - emit EndowmentSettingUpdated(curDetails.id, "endowmentController"); - emit UpdateEndowment(curDetails.id, tempEndowment); + emit EndowmentSettingUpdated(details.id, "endowmentController"); + emit UpdateEndowment(details.id, tempEndowment); } /** @notice Allows the owner or DAO to update the fees for a given endowment. @dev Only the fees that the caller is authorized to update will be updated. - @param curDetails The details of the fee update request, including the endowment ID, new fees, and the caller's signature. + @param details The details of the fee update request, including the endowment ID, new fees, and the caller's signature. @dev Emits an UpdateEndowment event containing the updated endowment details. @dev Reverts if the endowment is of type Charity, as charity endowments may not change fees. */ function updateEndowmentFees( - AccountMessages.UpdateEndowmentFeeRequest memory curDetails + AccountMessages.UpdateEndowmentFeeRequest memory details ) public nonReentrant { AccountStorage.State storage state = LibAccounts.diamondStorage(); AccountStorage.Endowment storage tempEndowment = state.ENDOWMENTS[ - curDetails.id + details.id ]; require( - tempEndowment.endow_type != AngelCoreStruct.EndowmentType.Charity, + tempEndowment.endowType != AngelCoreStruct.EndowmentType.Charity, "Charity Endowments may not change endowment fees" ); + require(!state.STATES[details.id].closingEndowment, "UpdatesAfterClosed"); if ( AngelCoreStruct.canChange( - tempEndowment.settingsController.earningsFee, + tempEndowment.settingsController.earlyLockedWithdrawFee, msg.sender, tempEndowment.owner, - tempEndowment.dao, block.timestamp ) ) { - tempEndowment.earningsFee = curDetails.earningsFee; + require( + details.earlyLockedWithdrawFee.payoutAddress != address(0) || details.earlyLockedWithdrawFee.percentage == 0, + "Invalid payout address given" + ); + require(details.earlyLockedWithdrawFee.percentage < 1000, "Fee Percentage cannot be greater than 100%"); + tempEndowment.earlyLockedWithdrawFee = details.earlyLockedWithdrawFee; } if ( @@ -270,11 +235,15 @@ contract AccountsUpdateEndowmentSettingsController is tempEndowment.settingsController.depositFee, msg.sender, tempEndowment.owner, - tempEndowment.dao, block.timestamp ) ) { - tempEndowment.depositFee = curDetails.depositFee; + require( + details.depositFee.payoutAddress != address(0) || details.depositFee.percentage == 0, + "Invalid payout address given" + ); + require(details.depositFee.percentage < 1000, "Fee Percentage cannot be greater than 100%"); + tempEndowment.depositFee = details.depositFee; } if ( @@ -282,26 +251,34 @@ contract AccountsUpdateEndowmentSettingsController is tempEndowment.settingsController.withdrawFee, msg.sender, tempEndowment.owner, - tempEndowment.dao, block.timestamp ) ) { - tempEndowment.withdrawFee = curDetails.withdrawFee; + require( + details.withdrawFee.payoutAddress != address(0) || details.withdrawFee.percentage == 0, + "Invalid payout address given" + ); + require(details.withdrawFee.percentage < 1000, "Fee Percentage cannot be greater than 100%"); + tempEndowment.withdrawFee = details.withdrawFee; } if ( AngelCoreStruct.canChange( - tempEndowment.settingsController.aumFee, + tempEndowment.settingsController.balanceFee, msg.sender, tempEndowment.owner, - tempEndowment.dao, block.timestamp ) ) { - tempEndowment.aumFee = curDetails.aumFee; + require( + details.balanceFee.payoutAddress != address(0) || details.balanceFee.percentage == 0, + "Invalid payout address given" + ); + require(details.balanceFee.percentage < 1000, "Fee Percentage cannot be greater than 100%"); + tempEndowment.balanceFee = details.balanceFee; } - state.ENDOWMENTS[curDetails.id] = tempEndowment; - emit UpdateEndowment(curDetails.id, tempEndowment); + state.ENDOWMENTS[details.id] = tempEndowment; + emit UpdateEndowment(details.id, tempEndowment); } } diff --git a/contracts/core/accounts/facets/AccountsUpdateEndowments.sol b/contracts/core/accounts/facets/AccountsUpdateEndowments.sol index 078894ece..143b7c8cd 100644 --- a/contracts/core/accounts/facets/AccountsUpdateEndowments.sol +++ b/contracts/core/accounts/facets/AccountsUpdateEndowments.sol @@ -8,13 +8,13 @@ import {AccountStorage} from "../storage.sol"; import {AccountMessages} from "../message.sol"; import {RegistrarStorage} from "../../registrar/storage.sol"; import {AngelCoreStruct} from "../../struct.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; +import {IRegistrar} from "../../registrar/interfaces/IRegistrar.sol"; import {IIndexFund} from "../../index-fund/Iindex-fund.sol"; import {Array} from "../../../lib/array.sol"; import {Utils} from "../../../lib/utils.sol"; import {ReentrancyGuardFacet} from "./ReentrancyGuardFacet.sol"; import {AccountsEvents} from "./AccountsEvents.sol"; -import {IAccountsQuery} from "../interface/IAccountsQuery.sol"; +import {IAccountsQuery} from "../interfaces/IAccountsQuery.sol"; /** * @title AccountsUpdateEndowments @@ -24,75 +24,42 @@ import {IAccountsQuery} from "../interface/IAccountsQuery.sol"; contract AccountsUpdateEndowments is ReentrancyGuardFacet, AccountsEvents { /** @notice Updates the endowment details. - @dev This function allows authorized users to update the endowment details like owner, tier, endowment type, rebalance, kycDonorsOnly, name, categories, logo, and image. - @param curDetails UpdateEndowmentDetailsRequest struct containing the updated endowment details. + @dev This function allows the Endowment owner to update the endowment details like owner & rebalance and allows them or their Delegate(s) to update name, categories, logo, and image. + @param details UpdateEndowmentDetailsRequest struct containing the updated endowment details. */ function updateEndowmentDetails( - AccountMessages.UpdateEndowmentDetailsRequest memory curDetails + AccountMessages.UpdateEndowmentDetailsRequest memory details ) public nonReentrant { AccountStorage.State storage state = LibAccounts.diamondStorage(); - AccountStorage.Endowment storage tempEndowment = state.ENDOWMENTS[ - curDetails.id - ]; - // AccountStorage.Config memory tempConfig = state.config; - AccountStorage.EndowmentState memory tempEndowmentState = state.STATES[ - curDetails.id + details.id ]; - require(!tempEndowmentState.closingEndowment, "UpdatesAfterClosed"); + require(!state.STATES[details.id].closingEndowment, "UpdatesAfterClosed"); - if ( - !(msg.sender == state.config.owner || - msg.sender == tempEndowment.owner) - ) { - if ( - tempEndowment.dao == address(0) || - msg.sender != tempEndowment.dao + // there are several fields that are restricted to changing only by the Endowment Owner + if (msg.sender == tempEndowment.owner) { + // An Endowment's owner can be set as the gov dao OR the endowment multisig contract + if (details.owner != address(0) && + (details.owner == tempEndowment.dao || details.owner == tempEndowment.multisig) ) { - revert("Unauthorized"); + tempEndowment.owner = details.owner; } - } - // only config owner can update owner, tier and endowment type fields - if (msg.sender == state.config.owner) { - tempEndowment.tier = curDetails.tier; - if (curDetails.owner != address(0)) { - tempEndowment.owner = curDetails.owner; + if (tempEndowment.endowType != AngelCoreStruct.EndowmentType.Charity) { + tempEndowment.rebalance = details.rebalance; } - tempEndowment.endow_type = curDetails.endow_type; - require( - curDetails.endow_type != AngelCoreStruct.EndowmentType.None, - "InvalidInputs" - ); } - if (tempEndowment.endow_type != AngelCoreStruct.EndowmentType.Charity) { - tempEndowment.rebalance = curDetails.rebalance; - } - - // if(tempEndowment.settingsController.kycDonorsOnly) - if ( - AngelCoreStruct.canChange( - tempEndowment.settingsController.kycDonorsOnly, - msg.sender, - tempEndowment.owner, - tempEndowment.dao, - block.timestamp - ) - ) { - tempEndowment.kycDonorsOnly = curDetails.kycDonorsOnly; - } if ( AngelCoreStruct.canChange( tempEndowment.settingsController.name, msg.sender, tempEndowment.owner, - tempEndowment.dao, block.timestamp ) ) { - tempEndowment.name = curDetails.name; + tempEndowment.name = details.name; } if ( @@ -100,46 +67,45 @@ contract AccountsUpdateEndowments is ReentrancyGuardFacet, AccountsEvents { tempEndowment.settingsController.categories, msg.sender, tempEndowment.owner, - tempEndowment.dao, block.timestamp ) ) { if ( - tempEndowment.endow_type == + tempEndowment.endowType == AngelCoreStruct.EndowmentType.Charity ) { - if (curDetails.categories.sdgs.length == 0) { + if (details.categories.sdgs.length == 0) { revert("InvalidInputs"); } - curDetails.categories.sdgs = Array.sort( - curDetails.categories.sdgs + details.categories.sdgs = Array.sort( + details.categories.sdgs ); for ( uint256 i = 0; - i < curDetails.categories.sdgs.length; + i < details.categories.sdgs.length; i++ ) { if ( - curDetails.categories.sdgs[i] > 17 || - curDetails.categories.sdgs[i] == 0 + details.categories.sdgs[i] > 17 || + details.categories.sdgs[i] == 0 ) { revert("InvalidInputs"); } } } - if (curDetails.categories.general.length > 0) { - curDetails.categories.general = Array.sort( - curDetails.categories.general + if (details.categories.general.length > 0) { + details.categories.general = Array.sort( + details.categories.general ); - uint256 length = curDetails.categories.general.length; + uint256 length = details.categories.general.length; if ( - curDetails.categories.general[length - 1] > + details.categories.general[length - 1] > state.config.maxGeneralCategoryId ) { revert("InvalidInputs"); } } - tempEndowment.categories = curDetails.categories; + tempEndowment.categories = details.categories; } if ( @@ -147,11 +113,10 @@ contract AccountsUpdateEndowments is ReentrancyGuardFacet, AccountsEvents { tempEndowment.settingsController.logo, msg.sender, tempEndowment.owner, - tempEndowment.dao, block.timestamp ) ) { - tempEndowment.logo = curDetails.logo; + tempEndowment.logo = details.logo; } if ( @@ -159,15 +124,14 @@ contract AccountsUpdateEndowments is ReentrancyGuardFacet, AccountsEvents { tempEndowment.settingsController.image, msg.sender, tempEndowment.owner, - tempEndowment.dao, block.timestamp ) ) { - tempEndowment.image = curDetails.image; + tempEndowment.image = details.image; } - state.ENDOWMENTS[curDetails.id] = tempEndowment; - emit UpdateEndowment(curDetails.id, tempEndowment); + state.ENDOWMENTS[details.id] = tempEndowment; + emit UpdateEndowment(details.id, tempEndowment); } /** @@ -180,50 +144,168 @@ contract AccountsUpdateEndowments is ReentrancyGuardFacet, AccountsEvents { @param delegateExpiry The timestamp at which the delegate's permission expires */ function updateDelegate( - uint256 id, - string memory setting, - string memory action, + uint32 id, + AngelCoreStruct.ControllerSettingOption setting, + AngelCoreStruct.DelegateAction action, address delegateAddress, uint256 delegateExpiry ) public nonReentrant { AccountStorage.State storage state = LibAccounts.diamondStorage(); + AccountStorage.Endowment storage tempEndowment = state.ENDOWMENTS[id]; - AccountStorage.Endowment memory tempEndowment = state.ENDOWMENTS[id]; - // AngelCoreStruct.SettingsPermission memory tempSettings = AngelCoreStruct.getPermissions(state.ENDOWMENTS[id].settingsController,setting); + require(!state.STATES[id].closingEndowment, "UpdatesAfterClosed"); - require(msg.sender == tempEndowment.owner, "Unauthorized"); + AngelCoreStruct.Delegate memory newDelegate; + if (action == AngelCoreStruct.DelegateAction.Set) { + newDelegate = AngelCoreStruct.Delegate({addr: delegateAddress, expires: delegateExpiry}); + } else if (action == AngelCoreStruct.DelegateAction.Revoke) { + newDelegate = AngelCoreStruct.Delegate({addr: address(0), expires: 0}); + } else { + revert("Invalid action passed"); + } - if ( - keccak256(abi.encodePacked(action)) == - keccak256(abi.encodePacked("set")) - ) { - AngelCoreStruct.setDelegate( - AngelCoreStruct.getPermissions( - state.ENDOWMENTS[id].settingsController, - setting - ), - msg.sender, - tempEndowment.owner, - tempEndowment.dao, - delegateAddress, - delegateExpiry + if (setting == AngelCoreStruct.ControllerSettingOption.Strategies) { + require( + AngelCoreStruct.canChange( + tempEndowment.settingsController.strategies, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized" ); - } else if ( - keccak256(abi.encodePacked(action)) == - keccak256(abi.encodePacked("revoke")) - ) { - AngelCoreStruct.revokeDelegate( - AngelCoreStruct.getPermissions( - state.ENDOWMENTS[id].settingsController, - setting - ), - msg.sender, - tempEndowment.owner, - tempEndowment.dao, - block.timestamp + tempEndowment.settingsController.strategies.delegate = newDelegate; + } else if (setting == AngelCoreStruct.ControllerSettingOption.AllowlistedBeneficiaries) { + require( + AngelCoreStruct.canChange( + tempEndowment.settingsController.allowlistedBeneficiaries, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized" + ); + tempEndowment.settingsController.allowlistedBeneficiaries.delegate = newDelegate; + } else if (setting == AngelCoreStruct.ControllerSettingOption.AllowlistedContributors) { + require( + AngelCoreStruct.canChange( + tempEndowment.settingsController.allowlistedContributors, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized" + ); + tempEndowment.settingsController.allowlistedContributors.delegate = newDelegate; + } else if (setting == AngelCoreStruct.ControllerSettingOption.MaturityAllowlist) { + require( + AngelCoreStruct.canChange( + tempEndowment.settingsController.maturityAllowlist, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized" + ); + tempEndowment.settingsController.maturityAllowlist.delegate = newDelegate; + } else if (setting == AngelCoreStruct.ControllerSettingOption.MaturityTime) { + require( + AngelCoreStruct.canChange( + tempEndowment.settingsController.maturityTime, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized" + ); + tempEndowment.settingsController.maturityTime.delegate = newDelegate; + } else if (setting == AngelCoreStruct.ControllerSettingOption.WithdrawFee) { + require( + AngelCoreStruct.canChange( + tempEndowment.settingsController.withdrawFee, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized" + ); + tempEndowment.settingsController.withdrawFee.delegate = newDelegate; + } else if (setting == AngelCoreStruct.ControllerSettingOption.DepositFee) { + require( + AngelCoreStruct.canChange( + tempEndowment.settingsController.depositFee, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized" + ); + tempEndowment.settingsController.depositFee.delegate = newDelegate; + } else if (setting == AngelCoreStruct.ControllerSettingOption.BalanceFee) { + require( + AngelCoreStruct.canChange( + tempEndowment.settingsController.balanceFee, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized" + ); + tempEndowment.settingsController.balanceFee.delegate = newDelegate; + } else if (setting == AngelCoreStruct.ControllerSettingOption.Name) { + require( + AngelCoreStruct.canChange( + tempEndowment.settingsController.name, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized" + ); + tempEndowment.settingsController.name.delegate = newDelegate; + } else if (setting == AngelCoreStruct.ControllerSettingOption.Image) { + require( + AngelCoreStruct.canChange( + tempEndowment.settingsController.image, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized" + ); + tempEndowment.settingsController.image.delegate = newDelegate; + } else if (setting == AngelCoreStruct.ControllerSettingOption.Logo) { + require( + AngelCoreStruct.canChange( + tempEndowment.settingsController.logo, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized" + ); + tempEndowment.settingsController.logo.delegate = newDelegate; + } else if (setting == AngelCoreStruct.ControllerSettingOption.Categories) { + require( + AngelCoreStruct.canChange( + tempEndowment.settingsController.categories, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized" + ); + tempEndowment.settingsController.categories.delegate = newDelegate; + } else if (setting == AngelCoreStruct.ControllerSettingOption.SplitToLiquid) { + require( + AngelCoreStruct.canChange( + tempEndowment.settingsController.splitToLiquid, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized" + ); + tempEndowment.settingsController.splitToLiquid.delegate = newDelegate; + } else if (setting == AngelCoreStruct.ControllerSettingOption.IgnoreUserSplits) { + require( + AngelCoreStruct.canChange( + tempEndowment.settingsController.ignoreUserSplits, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized" ); + tempEndowment.settingsController.ignoreUserSplits.delegate = newDelegate; } else { - revert("Invalid Input"); + revert("Invalid setting input"); } emit UpdateEndowment(id, tempEndowment); diff --git a/contracts/core/accounts/facets/AccountsUpdateStatusEndowments.sol b/contracts/core/accounts/facets/AccountsUpdateStatusEndowments.sol index f2da4ecea..c17d0e8cd 100644 --- a/contracts/core/accounts/facets/AccountsUpdateStatusEndowments.sol +++ b/contracts/core/accounts/facets/AccountsUpdateStatusEndowments.sol @@ -7,16 +7,15 @@ import {AccountStorage} from "../storage.sol"; import {AccountMessages} from "../message.sol"; import {RegistrarStorage} from "../../registrar/storage.sol"; import {AngelCoreStruct} from "../../struct.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; +import {IRegistrar} from "../../registrar/interfaces/IRegistrar.sol"; import {IIndexFund} from "../../index-fund/Iindex-fund.sol"; import {Array} from "../../../lib/array.sol"; import {Utils} from "../../../lib/utils.sol"; import {ReentrancyGuardFacet} from "./ReentrancyGuardFacet.sol"; import {AccountsEvents} from "./AccountsEvents.sol"; -import {IAxelarGateway} from "./../interface/IAxelarGateway.sol"; +import {IAxelarGateway} from "./../interfaces/IAxelarGateway.sol"; import {StringArray} from "./../../../lib/Strings/string.sol"; -import {IVault} from "./../interface/IVault.sol"; -import "hardhat/console.sol"; +import {IVault} from "../../../interfaces/IVault.sol"; /** * @title AccountsUpdateStatusEndowments @@ -28,257 +27,83 @@ contract AccountsUpdateStatusEndowments is AccountsEvents { /** - * @notice Updates the endowment status. - * @dev This function allows authorized users to update the endowment status like inactive, approved, frozen, and closed. - * @param curDetails UpdateEndowmentStatusRequest struct containing the updated endowment status. + * @notice Closes an endowment, setting the endowment state to "closingEndowment" and the closing beneficiary to the provided beneficiary. + * @param id The ID of the endowment to be closed. + * @param beneficiary The beneficiary that will receive any remaining funds in the endowment. + * @dev The function will revert if a redemption is rently in progress. + * @dev Emits an `UpdateEndowmentState` event with the updated state of the endowment. */ - function updateEndowmentStatus( - AccountMessages.UpdateEndowmentStatusRequest memory curDetails + function closeEndowment( + uint32 id, + AngelCoreStruct.Beneficiary memory beneficiary ) public nonReentrant { AccountStorage.State storage state = LibAccounts.diamondStorage(); + AccountStorage.Endowment storage tempEndowment = state.ENDOWMENTS[id]; - address registrarAddress = state.config.registrarContract; - AccountStorage.Endowment memory tempEndowment = state.ENDOWMENTS[ - curDetails.endowmentId - ]; - - require( - tempEndowment.status != AngelCoreStruct.EndowmentStatus.Closed, - "Account closed" - ); + require(msg.sender == tempEndowment.owner, "Unauthorized"); + require(!state.STATES[id].closingEndowment,"Endowment is closed"); + require(tempEndowment.pendingRedemptions == 0, "RedemptionInProgress"); RegistrarStorage.Config memory registrar_config = IRegistrar( - registrarAddress + state.config.registrarContract ).queryConfig(); - require(msg.sender == state.config.owner, "Unauthorized"); - - require(curDetails.status <= 3, "Status not found"); - - AngelCoreStruct.EndowmentStatus _newStatus; - - if (curDetails.status == 0) { - _newStatus = AngelCoreStruct.EndowmentStatus.Inactive; - } else if (curDetails.status == 1) { - _newStatus = AngelCoreStruct.EndowmentStatus.Approved; - } else if (curDetails.status == 2) { - _newStatus = AngelCoreStruct.EndowmentStatus.Frozen; - } else if (curDetails.status == 3) { - _newStatus = AngelCoreStruct.EndowmentStatus.Closed; - } else { - revert("Invalid EndowmentStatus"); - } - - require( - tempEndowment.status != _newStatus, - "New status similar to current status" - ); - require( + beneficiary.enumData != AngelCoreStruct.BeneficiaryEnum.None || registrar_config.indexFundContract != address(0), - "ContractNotConfigured" + "Beneficiary is NONE & Index Fund Contract is not configured in Registrar" ); - address[] memory curTarget = new address[](0); - uint256[] memory curValue = new uint256[](0); - bytes[] memory curCalldata = new bytes[](0); - - if (_newStatus == AngelCoreStruct.EndowmentStatus.Approved) { - tempEndowment.depositApproved = true; - tempEndowment.withdrawApproved = true; - } else if (_newStatus == AngelCoreStruct.EndowmentStatus.Frozen) { - tempEndowment.depositApproved = true; - tempEndowment.withdrawApproved = false; - } else if (_newStatus == AngelCoreStruct.EndowmentStatus.Closed) { - AngelCoreStruct.Beneficiary memory _tempBeneficiary; - - curTarget = new address[](2); - curValue = new uint256[](2); - curCalldata = new bytes[](2); - - if ( - curDetails.beneficiary.enumData != - AngelCoreStruct.BeneficiaryEnum.None - ) { - _tempBeneficiary = curDetails.beneficiary; + // If NONE was passed for beneficiary, send balance to the AP Treasury (if not in any funds) + // or send to the first index fund if it is in one. + AngelCoreStruct.IndexFund[] memory funds = IIndexFund( + registrar_config.indexFundContract + ).queryInvolvedFunds(id); + if (beneficiary.enumData == AngelCoreStruct.BeneficiaryEnum.None) { + if (funds.length == 0) { + beneficiary = AngelCoreStruct.Beneficiary({ + data: AngelCoreStruct.BeneficiaryData({ + endowId: 0, + fundId: 0, + addr: registrar_config.treasury + }), + enumData: AngelCoreStruct.BeneficiaryEnum.Wallet + }); } else { - AngelCoreStruct.IndexFund[] memory funds = IIndexFund( - registrar_config.indexFundContract - ).queryInvolvedFunds(curDetails.endowmentId); - - if (funds.length == 0) { - _tempBeneficiary = AngelCoreStruct.Beneficiary({ - data: AngelCoreStruct.BeneficiaryData({ - id: 0, - addr: registrar_config.treasury - }), - enumData: AngelCoreStruct.BeneficiaryEnum.Wallet - }); - } else { - _tempBeneficiary = AngelCoreStruct.Beneficiary({ - data: AngelCoreStruct.BeneficiaryData({ - id: funds[0].id, - addr: address(0) - }), - enumData: AngelCoreStruct.BeneficiaryEnum.IndexFund - }); - } + beneficiary = AngelCoreStruct.Beneficiary({ + data: AngelCoreStruct.BeneficiaryData({ + endowId: 0, + fundId: funds[0].id, + addr: address(0) + }), + enumData: AngelCoreStruct.BeneficiaryEnum.IndexFund + }); + // remove closing endowment from all Index Funds that it is in + IIndexFund(registrar_config.indexFundContract) + .removeMember(id); } - - tempEndowment.depositApproved = false; - tempEndowment.withdrawApproved = false; - - curTarget[0] = registrar_config.indexFundContract; - curValue[0] = 0; - curCalldata[0] = abi.encodeWithSignature( - "removeMember(uint256)", - curDetails.endowmentId - ); - - curTarget[1] = address(this); - curValue[1] = 0; - curCalldata[1] = abi.encodeWithSignature( - "closeEndowment(uint256,((uint256,address),uint8))", - curDetails.endowmentId, - _tempBeneficiary - ); } - tempEndowment.status = _newStatus; - state.ENDOWMENTS[curDetails.endowmentId] = tempEndowment; - Utils._execute(curTarget, curValue, curCalldata); - emit UpdateEndowment(curDetails.endowmentId, tempEndowment); - } + state.STATES[id].closingEndowment = true; + state.STATES[id].closingBeneficiary = beneficiary; - /** - * @notice Closes an endowment, setting the endowment state to "closingEndowment" and the closing beneficiary to the provided beneficiary. - * @param curId The ID of the endowment to be closed. - * @param curBeneficiary The beneficiary that will receive any remaining funds in the endowment. - * @dev The function will revert if a redemption is currently in progress. - * @dev Emits an `UpdateEndowmentState` event with the updated state of the endowment. - */ - function closeEndowment( - uint256 curId, - AngelCoreStruct.Beneficiary memory curBeneficiary - ) public nonReentrant { - AccountStorage.State storage state = LibAccounts.diamondStorage(); - - AccountStorage.Endowment storage tempEndowment = state.ENDOWMENTS[curId]; - - require(address(this) == msg.sender, "Unauthorized"); - require(tempEndowment.pendingRedemptions == 0, "RedemptionInProgress"); - - state.STATES[curId].closingEndowment = true; - state.STATES[curId].closingBeneficiary = curBeneficiary; + require(checkFullyExited(uint32(id)),"Not fully exited"); + uint256 redemption = uint256(tempEndowment.oneoffVaults.liquid.length) + uint256(tempEndowment.oneoffVaults.locked.length); + tempEndowment.pendingRedemptions = redemption; + state.ENDOWMENTS[id] = tempEndowment; - redeemAllFromVault(uint32(curId), tempEndowment.oneoffVaults); - console.log("tempEndowment.oneoffVaults.locked.length",tempEndowment.oneoffVaults.liquid.length, tempEndowment.oneoffVaults.locked.length); - uint256 redemtion = uint256(tempEndowment.oneoffVaults.liquid.length) + uint256(tempEndowment.oneoffVaults.locked.length); - tempEndowment.pendingRedemptions = redemtion; - console.log("pendingRedemptions",redemtion); - tempEndowment.depositApproved = false; - - // state.ENDOWMENTS[curId] = tempEndowment; - //TODO: check enent here - emit UpdateEndowmentState(curId, state.STATES[curId]); + emit UpdateEndowment(id, state.ENDOWMENTS[id]); + // emit UpdateEndowmentState(id, state.STATES[id]); } - function redeemAllFromVault(uint32 curId, AngelCoreStruct.OneOffVaults memory allVaults) internal { - + function checkFullyExited(uint32 id) internal view returns (bool) { AccountStorage.State storage state = LibAccounts.diamondStorage(); - address registrarContract = state.config.registrarContract; - - for(uint i=0;i 0) { - IAxelarGateway(senderInfo.gasReceiver).payNativeGasForContractCall{ - value: curEth - }( - address(this), - recieverInfo.name, - StringArray.addressToString(recieverInfo.router), - Encodedpayload, - msg.sender - ); + bytes4[] memory allStrategies = IRegistrar(state.config.registrarContract).queryAllStrategies(); + for (uint256 i; i < allStrategies.length; i++) { + if(state.STATES[id].activeStrategies[allStrategies[i]]) { + return false; + } } - //Call the contract - IAxelarGateway(senderInfo.axelerGateway).callContract({ - destinationChain: recieverInfo.name, - contractAddress: StringArray.addressToString(recieverInfo.router), - payload: Encodedpayload - }); + return true; } } diff --git a/contracts/core/accounts/facets/AccountsVaultFacet.sol b/contracts/core/accounts/facets/AccountsVaultFacet.sol index 300900edd..c80376f3f 100644 --- a/contracts/core/accounts/facets/AccountsVaultFacet.sol +++ b/contracts/core/accounts/facets/AccountsVaultFacet.sol @@ -7,15 +7,19 @@ import {AccountStorage} from "../storage.sol"; import {AccountMessages} from "../message.sol"; import {RegistrarStorage} from "../../registrar/storage.sol"; import {AngelCoreStruct} from "../../struct.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; +import {IRegistrar} from "../../registrar/interfaces/IRegistrar.sol"; +import {LocalRegistrarLib} from "../../registrar/lib/LocalRegistrarLib.sol"; +import {IRouter} from "../../router/IRouter.sol"; +import {RouterLib} from "../../router/RouterLib.sol"; import {Utils} from "../../../lib/utils.sol"; import {IIndexFund} from "../../index-fund/Iindex-fund.sol"; -import {IAxelarGateway} from "./../interface/IAxelarGateway.sol"; +import {IAxelarGateway} from "./../interfaces/IAxelarGateway.sol"; import {StringArray} from "./../../../lib/Strings/string.sol"; +import {AddressToString} from "../../../lib/StringAddressUtils.sol"; import {ReentrancyGuardFacet} from "./ReentrancyGuardFacet.sol"; import {AccountsEvents} from "./AccountsEvents.sol"; -import {ISwappingV3} from "./../../swap-router/Interface/ISwappingV3.sol"; -import {IVault} from "./../interface/IVault.sol"; +import {ISwappingV3} from "./../../swap-router/interfaces/ISwappingV3.sol"; +import {IVault} from "./../../../interfaces/IVault.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol"; import "hardhat/console.sol"; @@ -26,393 +30,252 @@ import "hardhat/console.sol"; */ contract AccountsVaultFacet is ReentrancyGuardFacet, AccountsEvents { /** - * @notice This function that allows users to invest in a yield vault using tokens from their locked or liquid account in an endowment. + * @notice This function that allows users to deposit into a yield strategy using tokens from their locked or liquid account in an endowment. * @dev Allows the owner of an endowment to invest tokens into specified yield vaults. - * @param curId The endowment id - * @param curAccountType The account type - * @param curVaults The vaults to withdraw from - * @param curTokens The tokens to withdraw - * @param curAmount The amount to withdraw + * @param id The endowment id + * @param strategy The strategies to invest into + * @param token The tokens to withdraw + * @param lockAmt The amount to deposit lock + * @param liquidAmt The amount to deposit liquid */ - function vaultsInvest( - uint32 curId, - AngelCoreStruct.AccountType curAccountType, - string[] memory curVaults, - address[] memory curTokens, - uint256[] memory curAmount + function strategyInvest( + uint32 id, + bytes4 strategy, + string memory token, + uint256 lockAmt, + uint256 liquidAmt ) public payable nonReentrant { AccountStorage.State storage state = LibAccounts.diamondStorage(); AccountStorage.Endowment storage tempEndowment = state.ENDOWMENTS[ - curId + id ]; - AngelCoreStruct.GenericBalance memory current_bal; - - if (curAccountType == AngelCoreStruct.AccountType.Locked) { - current_bal = state.STATES[curId].balances.locked; - } else { - current_bal = state.STATES[curId].balances.liquid; + // check if the msg sender is either the owner or their delegate address and + // that they have the power to manage the investments for an account balance + if (lockAmt > 0) { + require(AngelCoreStruct.canChange( + tempEndowment.settingsController.lockedInvestmentManagement, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized"); + } + if (liquidAmt > 0) { + require(AngelCoreStruct.canChange( + tempEndowment.settingsController.liquidInvestmentManagement, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized"); } - - require(tempEndowment.owner == msg.sender, "Unauthorized"); require( - (curTokens.length == curAmount.length) && - (curVaults.length == curAmount.length), - "Invalid params" + IRegistrar(state.config.registrarContract).getStrategyApprovalState( + strategy + ) == LocalRegistrarLib.StrategyApprovalState.APPROVED, + "Vault is not approved" ); - require(curTokens.length > 0, "Invalid params"); - - AngelCoreStruct.YieldVault memory vault_config; - uint256 lockedAmount; - uint256 liquidAmount; - - for (uint8 i = 0; i < curTokens.length; i++) { - vault_config = IRegistrar( - state.config.registrarContract - ).queryVaultDetails(curVaults[i]); - require( - vault_config.approved, - "Vault is not approved to accept deposits" - ); - - require( - vault_config.acctType == curAccountType, - "Vault and Endowment AccountTypes do not match" - ); - - lockedAmount = 0; - liquidAmount = 0; - - - (lockedAmount, liquidAmount) = processCheck( - curId, - curVaults[i], - curAmount[i], - curAccountType, - tempEndowment.oneoffVaults - ); - console.log("LiquidIncest",tempEndowment.oneoffVaults.liquid.length); - - current_bal = processDeduct( - curTokens[i], - current_bal, - curAmount[i] - ); - - (curTokens[i], curAmount[i]) = processInvest( - state.config.registrarContract, - curTokens[i], - curAmount[i] - ); - { - string memory curTemp = vault_config.addr; - state.stratagyId[bytes4(keccak256(bytes(curTemp)))] = curTemp; - uint32[] memory curIds = new uint32[](1); - curIds[0] = curId; - //Create VaultActionData - IAxelarGateway.VaultActionData - memory payloadObject = IAxelarGateway.VaultActionData({ - strategyId: bytes4(keccak256(bytes(curTemp))), - selector: IVault.deposit.selector, - accountIds: curIds, - token: vault_config.inputDenom, - lockAmt: lockedAmount, - liqAmt: liquidAmount - }); + AngelCoreStruct.NetworkInfo memory network = + IRegistrar(state.config.registrarContract) + .queryNetworkConnection(block.chainid); - executeCallsWithToken( - payloadObject, - state.config.registrarContract, - curAmount[i], - vault_config.network - ); - } - } + address tokenAddress = IAxelarGateway(network.axelarGateway) + .tokenAddresses(token); - { - state.ENDOWMENTS[curId] = tempEndowment; - emit UpdateEndowment(curId, tempEndowment); - if (curAccountType == AngelCoreStruct.AccountType.Locked) { - state.STATES[curId].balances.locked = current_bal; - } else { - state.STATES[curId].balances.liquid = current_bal; - } - emit UpdateEndowmentState(curId, state.STATES[curId]); - } - } - - function processDeduct( - address currentToken, - AngelCoreStruct.GenericBalance memory currentBalance, - uint256 currentInputAmount - ) internal pure returns (AngelCoreStruct.GenericBalance memory){ - uint256 currentAmount = 0; - uint8 atIndex = 0; - for ( - uint8 j = 0; - j < currentBalance.Cw20CoinVerified_addr.length; - j++ - ) { - if (currentBalance.Cw20CoinVerified_addr[j] == currentToken) { - currentAmount = currentBalance.Cw20CoinVerified_amount[j]; - atIndex = j; - break; - } - } - require(currentInputAmount < currentAmount, "InsufficientFunds"); - currentBalance.Cw20CoinVerified_amount[atIndex] -= currentInputAmount; - - return currentBalance; - } - - function processCheck( - uint256 currentId, - string memory currentVault, - uint256 currentAmount, - AngelCoreStruct.AccountType currentAccountType, - AngelCoreStruct.OneOffVaults storage currentObject - ) internal returns (uint256, uint256){ - - AccountStorage.State storage state = LibAccounts.diamondStorage(); - - uint256 lockedAmount = 0; - uint256 liquidAmount = 0; - - if (currentAccountType == AngelCoreStruct.AccountType.Locked) { - AngelCoreStruct.checkTokenInOffVault( - currentObject.locked, - currentObject.lockedAmount, - currentVault - ); - lockedAmount = currentAmount; - - state.vaultBalance[currentId][AngelCoreStruct.AccountType.Locked][ - currentVault] += lockedAmount; - - } else if (currentAccountType == AngelCoreStruct.AccountType.Liquid) { - AngelCoreStruct.checkTokenInOffVault( - currentObject.liquid, - currentObject.liquidAmount, - currentVault + require( + state.STATES[id].balances.locked.balancesByToken[tokenAddress] >= lockAmt, + "Insufficient Balance"); + require(state.STATES[id].balances.liquid.balancesByToken[tokenAddress] >= liquidAmt, + "Insufficient Balance"); + + require(IRegistrar(state.config.registrarContract) + .isTokenAccepted(tokenAddress), + "Token not approved"); + + uint32[] memory accts = new uint32[](1); + accts[0] = id; + + IRouter.VaultActionData memory payload = IRouter + .VaultActionData({ + destinationChain: network.name, + strategyId: strategy, + selector: IVault.deposit.selector, + accountIds: accts, + token: tokenAddress, + lockAmt: lockAmt, + liqAmt: liquidAmt, + status: IRouter.VaultActionStatus.UNPROCESSED + }); + bytes memory packedPayload = RouterLib.packCallData(payload); + + IRouter.VaultActionData memory response = + IRouter(network.router) + .executeWithTokenLocal( + network.name, + AddressToString.toString(address(this)), + packedPayload, + token, + (lockAmt + liquidAmt) ); - liquidAmount = currentAmount; - - state.vaultBalance[currentId][AngelCoreStruct.AccountType.Liquid][ - currentVault] += liquidAmount; + + if (response.status == IRouter.VaultActionStatus.SUCCESS || + response.status == IRouter.VaultActionStatus.FAIL_TOKENS_FALLBACK) { + state.STATES[id].balances.locked.balancesByToken[tokenAddress] -= response.lockAmt; + state.STATES[id].balances.liquid.balancesByToken[tokenAddress] -= response.liqAmt; + state.STATES[id].activeStrategies[strategy] == true; + // emit UpdateEndowmentState(id, state.STATES[id]); } - - return (lockedAmount, liquidAmount); - } - - /** - * @notice This function allows to process an investment - * @dev Processes an investment in a specified token by swapping it for USDC using a specified swaps router. - * @param registrarContract The registrar contract - * @param token The token to invest - * @param amount The amount to invest - * @return The token and amount to invest - */ - function processInvest( - address registrarContract, - address token, - uint256 amount - ) internal returns (address, uint256) { - RegistrarStorage.Config memory registrar_config = IRegistrar( - registrarContract - ).queryConfig(); - - if (token == registrar_config.usdcAddress) { - return (token, amount); - } - - bool isValid = AngelCoreStruct.cw20Valid( - registrar_config.acceptedTokens.cw20, - token - ); - - require(isValid, "Invalid Token"); - IERC20(token).approve(registrar_config.swapsRouter, amount); - - uint256 usdcAmount = ISwappingV3(registrar_config.swapsRouter) - .swapTokenToUsdc(token, amount); - - token = registrar_config.usdcAddress; - amount = usdcAmount; - - return (token, amount); } /** - * @notice Allows an endowment owner to redeem their funds from multiple yield vaults. - * @param curId The endowment ID - * @param curAccountType The account type - * @param curVaults The vaults to redeem from + * @notice Allows an endowment owner to redeem their funds from multiple yield strategies. + * @param id The endowment ID + * @param strategy The strategy to redeem from + * @param token The vaults to redeem from + * @param lockAmt The amt to remdeem from the locked component + * @param liquidAmt The amt to redeem from the liquid component */ - function vaultsRedeem( - uint32 curId, - AngelCoreStruct.AccountType curAccountType, - string[] memory curVaults + function strategyRedeem( + uint32 id, + bytes4 strategy, + string memory token, + uint256 lockAmt, + uint256 liquidAmt ) public payable nonReentrant { AccountStorage.State storage state = LibAccounts.diamondStorage(); - // AccountStorage.Config memory tempConfig = state.config; AccountStorage.Endowment storage tempEndowment = state.ENDOWMENTS[ - curId + id ]; - require( - curVaults.length > 0, - "Invalid" - ); + // check if the msg sender is either the owner or their delegate address and + // that they have the power to manage the investments for an account balance + if (lockAmt > 0) { + require(AngelCoreStruct.canChange( + tempEndowment.settingsController.lockedInvestmentManagement, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized"); + } + if (liquidAmt > 0) { + require(AngelCoreStruct.canChange( + tempEndowment.settingsController.liquidInvestmentManagement, + msg.sender, + tempEndowment.owner, + block.timestamp + ), "Unauthorized"); + } require(tempEndowment.owner == msg.sender, "Unauthorized"); require(tempEndowment.pendingRedemptions == 0, "RedemptionInProgress"); - - for (uint256 i = 0; i < curVaults.length; i++) { - AngelCoreStruct.YieldVault memory vault_config = IRegistrar( - state.config.registrarContract - ).queryVaultDetails(curVaults[i]); - - require( - vault_config.acctType == curAccountType, - "Vault and Endowment AccountTypes do not match" - ); - - uint256 lockedAmount = 0; - uint256 liquidAmount = 0; - - if (curAccountType == AngelCoreStruct.AccountType.Locked) { - AngelCoreStruct.removeLast( - tempEndowment.oneoffVaults.locked, - curVaults[i] - ); - lockedAmount = state.vaultBalance[curId][AngelCoreStruct.AccountType.Locked][curVaults[i]]; - } - if (curAccountType == AngelCoreStruct.AccountType.Liquid) { - AngelCoreStruct.removeLast( - tempEndowment.oneoffVaults.liquid, - curVaults[i] - ); - liquidAmount = state.vaultBalance[curId][AngelCoreStruct.AccountType.Liquid][curVaults[i]]; - } - - uint32[] memory curIds = new uint32[](1); - curIds[0] = curId; - - // string memory curTemp = vault_config.addr; - - IAxelarGateway.VaultActionData memory payloadObject = IAxelarGateway - .VaultActionData({ - strategyId: bytes4(keccak256(bytes(vault_config.addr))), - selector: IVault.redeem.selector, - accountIds: curIds, - token: vault_config.inputDenom, - lockAmt: lockedAmount, - liqAmt: liquidAmount - }); - - executeCalls( - payloadObject, - state.config.registrarContract, - vault_config.network + require( + IRegistrar(state.config.registrarContract).getStrategyApprovalState( + strategy + ) == LocalRegistrarLib.StrategyApprovalState.APPROVED, + "Vault is not approved" + ); + AngelCoreStruct.NetworkInfo memory network = + IRegistrar(state.config.registrarContract) + .queryNetworkConnection(block.chainid); + + address tokenAddress = IAxelarGateway(network.axelarGateway) + .tokenAddresses(token); + + + uint32[] memory accts = new uint32[](1); + accts[0] = id; + IRouter.VaultActionData memory payload = IRouter + .VaultActionData({ + destinationChain: network.name, + strategyId: strategy, + selector: IVault.redeem.selector, + accountIds: accts, + token: tokenAddress, + lockAmt: lockAmt, + liqAmt: liquidAmt, + status: IRouter.VaultActionStatus.UNPROCESSED + }); + + bytes memory packedPayload = RouterLib.packCallData(payload); + + IRouter.VaultActionData memory response = + IRouter(network.router) + .executeLocal( + network.name, + AddressToString.toString(address(this)), + packedPayload ); + if (response.status == IRouter.VaultActionStatus.SUCCESS) { + state.STATES[id].balances.locked.balancesByToken[tokenAddress] += response.lockAmt; + state.STATES[id].balances.liquid.balancesByToken[tokenAddress] += response.liqAmt; + // emit UpdateEndowmentState(id, state.STATES[id]); } - state.ENDOWMENTS[curId] = tempEndowment; - } - - /** - * @notice Sends token to the different chain with the message - * @param payloadObject message object - * @param registrarContract registrar contract address - * @param amount Amount of funds to be transfered - * @param network The network you want to transfer token - */ - function executeCallsWithToken( - IAxelarGateway.VaultActionData memory payloadObject, - address registrarContract, - uint256 amount, - uint256 network - ) internal { - // TODO: check if event has to be emitted - // AccountStorage.State storage state = LibAccounts.diamondStorage(); - - // Encode Valts action Data - bytes memory Encodedpayload = abi.encode(payloadObject); - - AngelCoreStruct.NetworkInfo memory senderInfo = IRegistrar( - registrarContract - ).queryNetworkConnection(block.chainid); - - AngelCoreStruct.NetworkInfo memory recieverInfo = IRegistrar( - registrarContract - ).queryNetworkConnection(network); - uint256 curEth = recieverInfo.gasLimit; - if (curEth > 0) { - IAxelarGateway(senderInfo.gasReceiver) - .payNativeGasForContractCallWithToken{value: curEth}( - address(this), - recieverInfo.name, - StringArray.addressToString(recieverInfo.router), - Encodedpayload, - IERC20Metadata(payloadObject.token).symbol(), - amount, - msg.sender - ); + if (response.status == IRouter.VaultActionStatus.POSITION_EXITED) { + state.STATES[id].activeStrategies[strategy] == false; } - - IERC20(payloadObject.token).approve(senderInfo.axelerGateway, amount); - //Call the contract - IAxelarGateway(senderInfo.axelerGateway).callContractWithToken({ - destinationChain: recieverInfo.name, - contractAddress: StringArray.addressToString(recieverInfo.router), - payload: Encodedpayload, - symbol: IERC20Metadata(payloadObject.token).symbol(), - amount: amount - }); } /** - * @notice Sends token to the different chain with the message - * @param payloadObject message object - * @param registrarContract registrar contract address - * @param network The network you want to transfer token + * @notice Allows an endowment owner to redeem their funds from multiple yield strategies. + * @param id The endowment ID + * @param strategy The strategy to redeem from + * @param token The vaults to redeem from */ - function executeCalls( - IAxelarGateway.VaultActionData memory payloadObject, - address registrarContract, - uint256 network - ) internal { - // TODO: check if event has to be emitted - // AccountStorage.State storage state = LibAccounts.diamondStorage(); - - // Encode Valts action Data - bytes memory Encodedpayload = abi.encode(payloadObject); - - AngelCoreStruct.NetworkInfo memory senderInfo = IRegistrar( - registrarContract - ).queryNetworkConnection(block.chainid); - - AngelCoreStruct.NetworkInfo memory recieverInfo = IRegistrar( - registrarContract - ).queryNetworkConnection(network); - uint256 curEth = recieverInfo.gasLimit; - if (curEth > 0) { - IAxelarGateway(senderInfo.gasReceiver).payNativeGasForContractCall{ - value: curEth - }( - address(this), - recieverInfo.name, - StringArray.addressToString(recieverInfo.router), - Encodedpayload, - msg.sender + function strategyRedeemAll( + uint32 id, + bytes4 strategy, + string memory token + ) public payable nonReentrant { + AccountStorage.State storage state = LibAccounts.diamondStorage(); + AccountStorage.Endowment storage tempEndowment = state.ENDOWMENTS[ + id + ]; + require(tempEndowment.owner == msg.sender, "Unauthorized"); + require(tempEndowment.pendingRedemptions == 0, "RedemptionInProgress"); + require( + IRegistrar(state.config.registrarContract).getStrategyApprovalState( + strategy + ) == LocalRegistrarLib.StrategyApprovalState.APPROVED, + "Vault is not approved" + ); + AngelCoreStruct.NetworkInfo memory network = + IRegistrar(state.config.registrarContract) + .queryNetworkConnection(block.chainid); + + address tokenAddress = IAxelarGateway(network.axelarGateway) + .tokenAddresses(token); + + uint32[] memory accts = new uint32[](1); + accts[0] = id; + IRouter.VaultActionData memory payload = IRouter + .VaultActionData({ + destinationChain: network.name, + strategyId: strategy, + selector: IVault.redeemAll.selector, + accountIds: accts, + token: tokenAddress, + lockAmt: 0, + liqAmt: 0, + status: IRouter.VaultActionStatus.UNPROCESSED + }); + bytes memory packedPayload = RouterLib.packCallData(payload); + + IRouter.VaultActionData memory response = + IRouter(network.router) + .executeLocal( + network.name, + AddressToString.toString(address(this)), + packedPayload ); + + if (response.status == IRouter.VaultActionStatus.SUCCESS) { + state.STATES[id].balances.locked.balancesByToken[tokenAddress] += response.lockAmt; + state.STATES[id].balances.liquid.balancesByToken[tokenAddress] += response.liqAmt; + // emit UpdateEndowmentState(id, state.STATES[id]); + } + if (response.status == IRouter.VaultActionStatus.POSITION_EXITED) { + state.STATES[id].activeStrategies[strategy] == false; } - //Call the contract - IAxelarGateway(senderInfo.axelerGateway).callContract({ - destinationChain: recieverInfo.name, - contractAddress: StringArray.addressToString(recieverInfo.router), - payload: Encodedpayload - }); } } diff --git a/contracts/core/accounts/facets/AxelarCallExecutor.sol b/contracts/core/accounts/facets/AxelarCallExecutor.sol deleted file mode 100644 index 9d438c1d2..000000000 --- a/contracts/core/accounts/facets/AxelarCallExecutor.sol +++ /dev/null @@ -1,416 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.16; - -import {LibAccounts} from "../lib/LibAccounts.sol"; -import {AccountStorage} from "../storage.sol"; -import {AccountMessages} from "../message.sol"; -import {RegistrarStorage} from "../../registrar/storage.sol"; -import {AngelCoreStruct} from "../../struct.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; -import {Utils} from "../../../lib/utils.sol"; -import {IIndexFund} from "../../index-fund/Iindex-fund.sol"; -import {IAxelarGateway} from "./../interface/IAxelarGateway.sol"; -import {StringArray} from "./../../../lib/Strings/string.sol"; -import {ReentrancyGuardFacet} from "./ReentrancyGuardFacet.sol"; -import {AccountsEvents} from "./AccountsEvents.sol"; -import "hardhat/console.sol"; - -/** - * @title AxelarCallExecutor - * @notice This contract facet executes cross-chain calls - * @dev This contract facet executes cross-chain calls - */ -contract AxelarExecutionContract is ReentrancyGuardFacet, AccountsEvents { - error NotApprovedByGateway(); - - /** - * @notice Unpacks the calldata into a VaultActionData struct - * @dev This method is virtual so that it can be overridden by child contracts - * @param curCalldata The calldata to unpack - * @return VaultActionData struct containing the unpacked calldata - */ - function _unpackCalldata( - bytes memory curCalldata - ) internal virtual returns (IAxelarGateway.VaultActionData memory) { - ( - bytes4 strategyId, - bytes4 selector, - uint32[] memory accountIds, - address token, - uint256 lockAmt, - uint256 liqAmt - ) = abi.decode( - curCalldata, - (bytes4, bytes4, uint32[], address, uint256, uint256) - ); - - return - IAxelarGateway.VaultActionData( - strategyId, - selector, - accountIds, - token, - lockAmt, - liqAmt - ); - } - - /** - * @notice Executes a contract call - * @dev Executes a cross-chain action by validating the payload and then calling the internal _execute function. - * @param commandId The command id - * @param sourceChain The source chain - * @param sourceAddress The source address - * @param payload The payload - */ - function execute( - bytes32 commandId, - string calldata sourceChain, - string calldata sourceAddress, - bytes calldata payload - ) external nonReentrant { - AccountStorage.State storage state = LibAccounts.diamondStorage(); - - AngelCoreStruct.NetworkInfo memory networkInfo = IRegistrar( - state.config.registrarContract - ).queryNetworkConnection(block.chainid); - - address gateway = networkInfo.axelerGateway; - - bytes32 payloadHash = keccak256(payload); - if ( - !IAxelarGateway(gateway).validateContractCall( - commandId, - sourceChain, - sourceAddress, - payloadHash - ) - ) revert NotApprovedByGateway(); - - _execute(sourceChain, sourceAddress, payload); - } - - /** - * @notice Executes a contract call with token - * @param commandId The command id - * @param sourceChain The source chain - * @param sourceAddress The source address - * @param payload The payload - * @param tokenSymbol The token symbol - * @param amount The amount - */ - function executeWithToken( - bytes32 commandId, - string calldata sourceChain, - string calldata sourceAddress, - bytes calldata payload, - string calldata tokenSymbol, - uint256 amount - ) external nonReentrant { - - AccountStorage.State storage state = LibAccounts.diamondStorage(); - - AngelCoreStruct.NetworkInfo memory networkInfo = IRegistrar( - state.config.registrarContract - ).queryNetworkConnection(block.chainid); - - address gateway = networkInfo.axelerGateway; - - bytes32 payloadHash = keccak256(payload); - - if ( - !IAxelarGateway(gateway).validateContractCallAndMint( - commandId, - sourceChain, - sourceAddress, - payloadHash, - tokenSymbol, - amount - ) - ) revert NotApprovedByGateway(); - - _executeWithToken( - payload, - tokenSymbol, - amount - ); - } - - /** - * @notice Executes a contract call. It contains business logic for execute function - * @param sourceChain The source chain - * @param sourceAddress The source address - * @param payload The payload - */ - function _execute( - string calldata sourceChain, - string calldata sourceAddress, - bytes calldata payload - ) internal { - // TODO: we are not listning to this event for now - } - - /** - * @notice This function validates the deposit fund - * @param curRegistrar The registrar address - * @param curTokenaddress The token address - * @param curAmount The amount - */ - function validateDepositFund( - address curRegistrar, - address curTokenaddress, - uint256 curAmount - ) internal view returns (bool) { - // AccountStorage.State storage state = LibAccounts.diamondStorage(); - RegistrarStorage.Config memory registrar_config = IRegistrar( - curRegistrar - ).queryConfig(); - - bool flag = false; - for ( - uint8 i = 0; - i < registrar_config.acceptedTokens.cw20.length; - i++ - ) { - if (curTokenaddress == registrar_config.acceptedTokens.cw20[i]) { - flag = true; - } - } - - require(flag, "Not accepted token"); - - require(curAmount > 0, "InvalidZeroAmount"); - - return true; - } - - /** - * @notice Distributes the locked and liquid balances of an endowment to its closing beneficiary, according to their specified type. - * @param curId The ID of the endowment being distributed. - * @dev This function should only be called by other internal functions in the contract. - */ - function distributeToBeneficiary(uint256 curId) internal { - AccountStorage.State storage state = LibAccounts.diamondStorage(); - // AccountStorage.Config memory tempConfig = state.config; - AccountStorage.EndowmentState storage tempState = state.STATES[curId]; - - if ( - tempState.closingBeneficiary.enumData == - AngelCoreStruct.BeneficiaryEnum.None - ) {} else if ( - tempState.closingBeneficiary.enumData == - AngelCoreStruct.BeneficiaryEnum.Wallet - ) { - uint256 size = tempState - .balances - .liquid - .Cw20CoinVerified_addr - .length + - tempState.balances.locked.Cw20CoinVerified_addr.length; - console.log("size", size); - address[] memory finalTarget = new address[](size); - uint256[] memory finalValue = new uint256[](size); - bytes[] memory finalCallData = new bytes[](size); - - for ( - uint8 i = 0; - i < tempState.balances.liquid.Cw20CoinVerified_addr.length; - i++ - ) { - address target = tempState - .balances - .liquid - .Cw20CoinVerified_addr[i]; - uint256 value = 0; - bytes memory callData = abi.encodeWithSignature( - "transfer(address,uint256)", - tempState.closingBeneficiary.data.addr, - tempState.balances.liquid.Cw20CoinVerified_amount[i] - ); - - finalTarget[i] = target; - finalValue[i] = value; - finalCallData[i] = callData; - } - - uint256 count = tempState - .balances - .liquid - .Cw20CoinVerified_addr - .length; - for ( - uint256 i = 0; - i < tempState.balances.locked.Cw20CoinVerified_addr.length; - i++ - ) { - address target = tempState - .balances - .locked - .Cw20CoinVerified_addr[i]; - uint256 value = 0; - bytes memory callData = abi.encodeWithSignature( - "transfer(address,uint256)", - tempState.closingBeneficiary.data.addr, - tempState.balances.locked.Cw20CoinVerified_amount[i] - ); - - finalTarget[count + i] = target; - finalValue[count + i] = value; - finalCallData[count + i] = callData; - } - - Utils._execute(finalTarget, finalValue, finalCallData); - } else if ( - tempState.closingBeneficiary.enumData == - AngelCoreStruct.BeneficiaryEnum.IndexFund - ) { - RegistrarStorage.Config memory registrar_config = IRegistrar( - state.config.registrarContract - ).queryConfig(); - - AngelCoreStruct.IndexFund memory temp_fund = IIndexFund( - registrar_config.indexFundContract - ).queryFundDetails(tempState.closingBeneficiary.data.id); - - uint256[] memory members = temp_fund.members; - uint256 membersCount = members.length; - - uint256[] memory splitLiquid = AngelCoreStruct.splitBalance( - tempState.balances.liquid.Cw20CoinVerified_amount, - membersCount - ); - uint256[] memory splitLocked = AngelCoreStruct.splitBalance( - tempState.balances.locked.Cw20CoinVerified_amount, - membersCount - ); - - for (uint8 i = 0; i < membersCount; i++) { - AccountStorage.EndowmentState storage rcv_endow = state.STATES[ - members[i] - ]; - AngelCoreStruct.receiveGenericBalanceModified( - rcv_endow.balances.locked.Cw20CoinVerified_addr, - rcv_endow.balances.locked.Cw20CoinVerified_amount, - tempState.balances.locked.Cw20CoinVerified_addr, - splitLocked - ); - AngelCoreStruct.receiveGenericBalanceModified( - rcv_endow.balances.liquid.Cw20CoinVerified_addr, - rcv_endow.balances.liquid.Cw20CoinVerified_amount, - tempState.balances.liquid.Cw20CoinVerified_addr, - splitLiquid - ); - - state.STATES[members[i]] = rcv_endow; - } - } else if ( - tempState.closingBeneficiary.enumData == - AngelCoreStruct.BeneficiaryEnum.EndowmentId - ) { - AccountStorage.EndowmentState storage recivingEndowment = state - .STATES[tempState.closingBeneficiary.data.id]; - - AngelCoreStruct.receiveGenericBalance( - recivingEndowment.balances.locked.Cw20CoinVerified_addr, - recivingEndowment.balances.locked.Cw20CoinVerified_amount, - tempState.balances.locked.Cw20CoinVerified_addr, - tempState.balances.locked.Cw20CoinVerified_amount - ); - - AngelCoreStruct.receiveGenericBalance( - recivingEndowment.balances.liquid.Cw20CoinVerified_addr, - recivingEndowment.balances.liquid.Cw20CoinVerified_amount, - tempState.balances.liquid.Cw20CoinVerified_addr, - tempState.balances.liquid.Cw20CoinVerified_amount - ); - - state.STATES[ - tempState.closingBeneficiary.data.id - ] = recivingEndowment; - } - - tempState.balances.locked = AngelCoreStruct.genericBalanceDefault(); - tempState.balances.liquid = AngelCoreStruct.genericBalanceDefault(); - - state.STATES[curId] = tempState; - emit UpdateEndowmentState(curId, tempState); - } - - /** - * @notice Execute a token transfer with a specified amount - * @param payload Payload data - * @param tokenSymbol Token symbol - * @param amount Amount of tokens - */ - function _executeWithToken( - bytes calldata payload, - string calldata tokenSymbol, - uint256 amount - ) internal { - AccountStorage.State storage state = LibAccounts.diamondStorage(); - - // decode payload - IAxelarGateway.VaultActionData memory action = _unpackCalldata(payload); - - AccountStorage.Endowment memory tempEndowment = state.ENDOWMENTS[ - action.accountIds[0] - ]; - // AccountStorage.Config memory tempConfig = state.config; - AccountStorage.EndowmentState storage tempState = state.STATES[ - action.accountIds[0] - ]; - - AngelCoreStruct.NetworkInfo memory networkInfo = IRegistrar( - state.config.registrarContract - ).queryNetworkConnection(block.chainid); - - address token = IAxelarGateway(networkInfo.axelerGateway).tokenAddresses(tokenSymbol); - - require( - validateDepositFund(state.config.registrarContract, token, amount), - "Invalid Asset" - ); - string memory result = state.stratagyId[action.strategyId]; - - if (action.lockAmt > 0) { - state.vaultBalance[action.accountIds[0]][ - AngelCoreStruct.AccountType.Locked - ][result] -= action.lockAmt; - AngelCoreStruct.addToken( - tempState.balances.locked, - token, - action.lockAmt - ); - } - if (action.liqAmt > 0) { - state.vaultBalance[action.accountIds[0]][ - AngelCoreStruct.AccountType.Liquid - ][result] -= action.liqAmt; - AngelCoreStruct.addToken( - tempState.balances.liquid, - token, - action.liqAmt - ); - } - - state.STATES[action.accountIds[0]] = tempState; - console.log("temp-1",tempEndowment.pendingRedemptions); - if (tempEndowment.pendingRedemptions == 0) {} else if ( - tempEndowment.pendingRedemptions == 1 - ) { - tempEndowment.pendingRedemptions = 0; - - if (tempState.closingEndowment) { - console.log("calling distributeToBeneficiary"); - distributeToBeneficiary(action.accountIds[0]); - } - } else { - tempEndowment.pendingRedemptions -= 1; - } - - state.ENDOWMENTS[action.accountIds[0]] = tempEndowment; - - emit UpdateEndowment(action.accountIds[0], tempEndowment); - emit UpdateEndowmentState(action.accountIds[0], tempState); - } -} diff --git a/contracts/core/accounts/facets/ReentrancyGuardFacet.sol b/contracts/core/accounts/facets/ReentrancyGuardFacet.sol index bf64f4638..fcf905987 100644 --- a/contracts/core/accounts/facets/ReentrancyGuardFacet.sol +++ b/contracts/core/accounts/facets/ReentrancyGuardFacet.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -// OpenZeppelin Contracts (last updated v4.8.0) (security/ReentrancyGuard.sol) +// OpenZeppelin Contracts (last updated v4.8.0) (SEity/ReentrancyGuard.sol) pragma solidity ^0.8.0; @@ -30,13 +30,13 @@ abstract contract ReentrancyGuardFacet { // On the first call to nonReentrant, _status will be _NOT_ENTERED AccountStorage.State storage state = LibAccounts.diamondStorage(); require( - !state.reentrancyGuardLocked || (address(this) == msg.sender), + !state.config.reentrancyGuardLocked || (address(this) == msg.sender), "ReentrancyGuard: reentrant call" ); // Any calls to nonReentrant after this point will fail if (address(this) != msg.sender) { - state.reentrancyGuardLocked = true; + state.config.reentrancyGuardLocked = true; } } @@ -50,7 +50,7 @@ abstract contract ReentrancyGuardFacet { AccountStorage.State storage state = LibAccounts.diamondStorage(); if (address(this) != msg.sender) { - state.reentrancyGuardLocked = false; + state.config.reentrancyGuardLocked = false; } } } diff --git a/contracts/core/accounts/interface/IAccountDeployContract.sol b/contracts/core/accounts/interface/IAccountDeployContract.sol deleted file mode 100644 index f4cada893..000000000 --- a/contracts/core/accounts/interface/IAccountDeployContract.sol +++ /dev/null @@ -1,12 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.16; -// import {Cw3EndowmentMessages,CW3Endowment} from "./../../../normalized_endowment/cw3-endowment/CW3Endowment.sol"; -import {SubDao, subDaoMessage} from "./../../../normalized_endowment/subdao/subdao.sol"; - -interface IAccountDeployContract { - // function createCW3endowment(Cw3EndowmentMessages.EndowmentInstantiateMsg memory curCw3createendowmentmessage) external returns(address CW3EndowmentAddress); - - function createDaoContract( - subDaoMessage.InstantiateMsg memory curCreatedaomessage - ) external returns (address daoAddress); -} diff --git a/contracts/core/accounts/interface/IVault.sol b/contracts/core/accounts/interface/IVault.sol deleted file mode 100644 index 0166d1266..000000000 --- a/contracts/core/accounts/interface/IVault.sol +++ /dev/null @@ -1,88 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -// author: @stevieraykatz -pragma solidity >=0.8.0; - -abstract contract IVault { - - /// @notice Angel Protocol Vault Type - /// @dev Vaults have different behavior depending on type. Specifically access to redemptions and - /// principle balance - enum VaultType { - LOCKED, - LIQUID - } - - /// @notice Event emited on each Deposit call - /// @dev Upon deposit, emit this event. Index the account and staking contract for analytics - event DepositMade( - uint32 indexed accountId, - VaultType vaultType, - address tokenDeposited, - uint256 amtDeposited); - - /// @notice Event emited on each Redemption call - /// @dev Upon redemption, emit this event. Index the account and staking contract for analytics - event Redemption( - uint32 indexed accountId, - VaultType vaultType, - address tokenRedeemed, - uint256 amtRedeemed); - - /// @notice Event emited on each Harvest call - /// @dev Upon harvest, emit this event. Index the accounts harvested for. - /// Rewards that are re-staked or otherwise reinvested will call other methods which will emit events - /// with specific yield/value details - /// @param accountIds a list of the Accounts harvested for - event Harvest(uint32[] indexed accountIds); - - /*//////////////////////////////////////////////// - EXTERNAL METHODS - *///////////////////////////////////////////////// - - /// @notice returns the vault type - /// @dev a vault must declare its Type upon initialization/construction - function getVaultType() external view virtual returns (VaultType); - - /// @notice deposit tokens into vault position of specified Account - /// @dev the deposit method allows the Vault contract to create or add to an existing - /// position for the specified Account. In the case that multiple different tokens can be deposited, - /// the method requires the deposit token address and amount. The transfer of tokens to the Vault - /// contract must occur before the deposit method is called. - /// @param accountId a unique Id for each Angel Protocol account - /// @param token the deposited token - /// @param amt the amount of the deposited token - function deposit(uint32 accountId, address token, uint256 amt) payable external virtual; - - /// @notice redeem value from the vault contract - /// @dev allows an Account to redeem from its staked value. The behavior is different dependent on VaultType. - /// Before returning the redemption amt, the vault must approve the Router to spend the tokens. - /// @param accountId a unique Id for each Angel Protocol account - /// @param token the deposited token - /// @param amt the amount of the deposited token - /// @return redemptionAmt returns the number of tokens redeemed by the call; this may differ from - /// the called `amt` due to slippage/trading/fees - function redeem(uint32 accountId, address token, uint256 amt) payable external virtual returns (uint256); - - /// @notice redeem all of the value from the vault contract - /// @dev allows an Account to redeem all of its staked value. Good for rebasing tokens wherein the value isn't - /// known explicitly. Before returning the redemption amt, the vault must approve the Router to spend the tokens. - /// @param accountId a unique Id for each Angel Protocol account - /// @return redemptionAmt returns the number of tokens redeemed by the call - function redeemAll(uint32 accountId) payable external virtual returns (uint256); - - /// @notice restricted method for harvesting accrued rewards - /// @dev Claim reward tokens accumulated to the staked value. The underlying behavior will vary depending - /// on the target yield strategy and VaultType. Only callable by an Angel Protocol Keeper - /// @param accountIds Used to specify which accounts to call harvest against. Structured so that this can - /// be called in batches to avoid running out of gas. - function harvest(uint32[] calldata accountIds) external virtual; - - /*//////////////////////////////////////////////// - INTERNAL HELPER METHODS - *///////////////////////////////////////////////// - - /// @notice nternal method for validating that calls came from the approved AP router - /// @dev The registrar will hold a record of the approved Router address. This method must implement a method of - /// checking that the msg.sender == ApprovedRouter - function _isApprovedRouter() internal virtual returns (bool); -} \ No newline at end of file diff --git a/contracts/core/accounts/interfaces/IAccountDeployContract.sol b/contracts/core/accounts/interfaces/IAccountDeployContract.sol new file mode 100644 index 000000000..8b11d057d --- /dev/null +++ b/contracts/core/accounts/interfaces/IAccountDeployContract.sol @@ -0,0 +1,9 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.16; +import {SubDao, subDaoMessage} from "./../../../normalized_endowment/subdao/subdao.sol"; + +interface IAccountDeployContract { + function createDaoContract( + subDaoMessage.InstantiateMsg memory createdaomessage + ) external returns (address daoAddress); +} diff --git a/contracts/core/accounts/interfaces/IAccountDonationMatch.sol b/contracts/core/accounts/interfaces/IAccountDonationMatch.sol new file mode 100644 index 000000000..5f6dbeb1c --- /dev/null +++ b/contracts/core/accounts/interfaces/IAccountDonationMatch.sol @@ -0,0 +1,10 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.16; + +interface IAccountDonationMatch { + function depositDonationMatchErC20( + uint32 id, + address token, + uint256 amount + ) external; +} \ No newline at end of file diff --git a/contracts/core/accounts/interface/IAccountsCreateEndowment.sol b/contracts/core/accounts/interfaces/IAccountsCreateEndowment.sol similarity index 64% rename from contracts/core/accounts/interface/IAccountsCreateEndowment.sol rename to contracts/core/accounts/interfaces/IAccountsCreateEndowment.sol index 07ba139c9..474dae97a 100644 --- a/contracts/core/accounts/interface/IAccountsCreateEndowment.sol +++ b/contracts/core/accounts/interfaces/IAccountsCreateEndowment.sol @@ -5,6 +5,6 @@ import {AccountMessages} from "../message.sol"; interface IAccountsCreateEndowment { function createEndowment( - AccountMessages.CreateEndowmentRequest memory curDetails - ) external returns (uint256); + AccountMessages.CreateEndowmentRequest memory details + ) external returns (uint32); } diff --git a/contracts/core/accounts/interface/IAccountsDepositWithdrawEndowments.sol b/contracts/core/accounts/interfaces/IAccountsDepositWithdrawEndowments.sol similarity index 51% rename from contracts/core/accounts/interface/IAccountsDepositWithdrawEndowments.sol rename to contracts/core/accounts/interfaces/IAccountsDepositWithdrawEndowments.sol index 2fefe316a..38ab7d5a0 100644 --- a/contracts/core/accounts/interface/IAccountsDepositWithdrawEndowments.sol +++ b/contracts/core/accounts/interfaces/IAccountsDepositWithdrawEndowments.sol @@ -7,36 +7,29 @@ import {AccountStorage} from "../storage.sol"; import {AccountMessages} from "../message.sol"; import {RegistrarStorage} from "../../registrar/storage.sol"; import {AngelCoreStruct} from "../../struct.sol"; -import {IRegistrar} from "../../registrar/interface/IRegistrar.sol"; -import {IAxelarGateway} from "./../interface/IAxelarGateway.sol"; +import {IRegistrar} from "../../registrar/interfaces/IRegistrar.sol"; +import {IAxelarGateway} from "./../interfaces/IAxelarGateway.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/utils/math/SafeMath.sol"; interface IAccountsDepositWithdrawEndowments { - function depositDonationMatchErC20( - uint256 curId, - address curToken, - uint256 curAmount - ) external; - - function depositEth( - AccountMessages.DepositRequest memory curDetails + function depositMatic( + AccountMessages.DepositRequest memory details ) external payable; //Pending function depositERC20( - AccountMessages.DepositRequest memory curDetails, - address curTokenaddress, - uint256 curAmount + AccountMessages.DepositRequest memory details, + address tokenAddress, + uint256 amount ) external; function withdraw( - uint256 curId, + uint32 id, AngelCoreStruct.AccountType acctType, - address curBeneficiary, - address[] memory curTokenaddress, - uint256[] memory curAmount + address beneficiaryAddress, + uint32 beneficiaryEndowId, + address tokenAddress, + uint256 amount ) external; - - function harvest(address vaultAddr) external returns (bool); } diff --git a/contracts/core/accounts/interface/IAccountsQuery.sol b/contracts/core/accounts/interfaces/IAccountsQuery.sol similarity index 81% rename from contracts/core/accounts/interface/IAccountsQuery.sol rename to contracts/core/accounts/interfaces/IAccountsQuery.sol index 763fda57f..6c23ea326 100644 --- a/contracts/core/accounts/interface/IAccountsQuery.sol +++ b/contracts/core/accounts/interfaces/IAccountsQuery.sol @@ -7,13 +7,13 @@ import {AngelCoreStruct} from "../../struct.sol"; interface IAccountsQuery { function queryTokenAmount( - uint256 curId, - AngelCoreStruct.AccountType curAccountType, - address curTokenaddress + uint256 id, + AngelCoreStruct.AccountType accountType, + address tokenaddress ) external view returns (uint256 tokenAmount); function queryEndowmentDetails( - uint256 curId + uint256 id ) external view returns (AccountStorage.Endowment memory endowment); function queryConfig() @@ -22,7 +22,7 @@ interface IAccountsQuery { returns (AccountMessages.ConfigResponse memory config); function queryState( - uint256 curId + uint256 id ) external view diff --git a/contracts/core/accounts/interface/IAxelarGateway.sol b/contracts/core/accounts/interfaces/IAxelarGateway.sol similarity index 96% rename from contracts/core/accounts/interface/IAxelarGateway.sol rename to contracts/core/accounts/interfaces/IAxelarGateway.sol index 3a915d573..f85594a2a 100644 --- a/contracts/core/accounts/interface/IAxelarGateway.sol +++ b/contracts/core/accounts/interfaces/IAxelarGateway.sol @@ -87,15 +87,6 @@ interface IAxelarGateway { event Upgraded(address indexed implementation); - struct VaultActionData { - bytes4 strategyId; - bytes4 selector; - uint32[] accountIds; - address token; - uint256 lockAmt; - uint256 liqAmt; - } - /********************\ |* Public Functions *| \********************/ diff --git a/contracts/core/accounts/lib/validator.sol b/contracts/core/accounts/lib/validator.sol index b76ecf92c..a935ae654 100644 --- a/contracts/core/accounts/lib/validator.sol +++ b/contracts/core/accounts/lib/validator.sol @@ -3,8 +3,8 @@ pragma solidity ^0.8.16; library Validator { - function addressChecker(address curAddr1) internal pure returns(bool){ - if(curAddr1 == address(0)){ + function addressChecker(address addr1) internal pure returns(bool){ + if(addr1 == address(0)){ return false; } return true; diff --git a/contracts/core/accounts/message.sol b/contracts/core/accounts/message.sol index 7b3b32e61..7ce71b82a 100644 --- a/contracts/core/accounts/message.sol +++ b/contracts/core/accounts/message.sol @@ -2,6 +2,7 @@ pragma solidity ^0.8.16; import {AngelCoreStruct} from "../struct.sol"; +import {LocalRegistrarLib} from "../registrar/lib/LocalRegistrarLib.sol"; library AccountMessages { struct CreateEndowmentRequest { @@ -10,82 +11,60 @@ library AccountMessages { uint256 maturityTime; // datetime int of endowment maturity uint256 maturityHeight; // block equiv of the maturity_datetime string name; // name of the Endowment - AngelCoreStruct.Categories categories; // SHOULD NOT be editable for now (only the Config.owner, ie via the Gov contract or AP CW3 Multisig can set/update) - uint256 tier; // SHOULD NOT be editable for now (only the Config.owner, ie via the Gov contract or AP CW3 Multisig can set/update) - AngelCoreStruct.EndowmentType endow_type; + AngelCoreStruct.Categories categories; // SHOULD NOT be editable for now (only the Config.owner, ie via the Gov contract or AP Team Multisig can set/update) + uint256 tier; // SHOULD NOT be editable for now (only the Config.owner, ie via the Gov contract or AP Team Multisig can set/update) + AngelCoreStruct.EndowmentType endowType; string logo; string image; - // AngelCoreStruct.Member[] cw4_members; - address[] cw4_members; + address[] members; bool kycDonorsOnly; uint256 threshold; - AngelCoreStruct.Duration cw3MaxVotingPeriod; - address[] whitelistedBeneficiaries; - address[] whitelistedContributors; + AngelCoreStruct.Duration maxVotingPeriod; + address[] allowlistedBeneficiaries; + address[] allowlistedContributors; uint256 splitMax; uint256 splitMin; uint256 splitDefault; - AngelCoreStruct.EndowmentFee earningsFee; + AngelCoreStruct.EndowmentFee earlyLockedWithdrawFee; AngelCoreStruct.EndowmentFee withdrawFee; AngelCoreStruct.EndowmentFee depositFee; - AngelCoreStruct.EndowmentFee aumFee; + AngelCoreStruct.EndowmentFee balanceFee; AngelCoreStruct.DaoSetup dao; bool createDao; uint256 proposalLink; AngelCoreStruct.SettingsController settingsController; - uint256 parent; - address[] maturityWhitelist; + uint32 parent; + address[] maturityAllowlist; bool ignoreUserSplits; AngelCoreStruct.SplitDetails splitToLiquid; uint256 referralId; } struct UpdateEndowmentSettingsRequest { - uint256 id; + uint32 id; bool donationMatchActive; - address[] whitelistedBeneficiaries; - address[] whitelistedContributors; - address[] maturity_whitelist_add; - address[] maturity_whitelist_remove; + uint256 maturityTime; + address[] allowlistedBeneficiaries; + address[] allowlistedContributors; + address[] maturity_allowlist_add; + address[] maturity_allowlist_remove; AngelCoreStruct.SplitDetails splitToLiquid; bool ignoreUserSplits; } + struct UpdateEndowmentControllerRequest { - uint256 id; - AngelCoreStruct.SettingsPermission endowmentController; - AngelCoreStruct.SettingsPermission name; - AngelCoreStruct.SettingsPermission image; - AngelCoreStruct.SettingsPermission logo; - AngelCoreStruct.SettingsPermission categories; - AngelCoreStruct.SettingsPermission kycDonorsOnly; - AngelCoreStruct.SettingsPermission splitToLiquid; - AngelCoreStruct.SettingsPermission ignoreUserSplits; - AngelCoreStruct.SettingsPermission whitelistedBeneficiaries; - AngelCoreStruct.SettingsPermission whitelistedContributors; - AngelCoreStruct.SettingsPermission maturityWhitelist; - AngelCoreStruct.SettingsPermission earningsFee; - AngelCoreStruct.SettingsPermission depositFee; - AngelCoreStruct.SettingsPermission withdrawFee; - AngelCoreStruct.SettingsPermission aumFee; - } - - struct UpdateEndowmentStatusRequest { - uint256 endowmentId; - uint256 status; - AngelCoreStruct.Beneficiary beneficiary; + uint32 id; + AngelCoreStruct.SettingsController settingsController; } struct UpdateEndowmentDetailsRequest { - uint256 id; /// u32, + uint32 id; address owner; /// Option, - bool kycDonorsOnly; /// Option, - AngelCoreStruct.EndowmentType endow_type; /// Option, string name; /// Option, AngelCoreStruct.Categories categories; /// Option, - uint256 tier; /// Option, string logo; /// Option, string image; /// Option, - AngelCoreStruct.RebalanceDetails rebalance; + LocalRegistrarLib.RebalanceParams rebalance; } struct Strategy { @@ -94,7 +73,7 @@ library AccountMessages { } struct UpdateProfileRequest { - uint256 id; + uint32 id; string overview; string url; string registrationNumber; @@ -116,6 +95,12 @@ library AccountMessages { address owner; string version; address registrarContract; + uint256 nextAccountId; + uint256 maxGeneralCategoryId; + address subDao; + address gateway; + address gasReceiver; + AngelCoreStruct.EndowmentFee earlyLockedWithdrawFee; } struct StateResponse { @@ -133,10 +118,9 @@ library AccountMessages { } struct EndowmentEntry { - uint256 id; // u32, + uint32 id; // u32, address owner; // String, - AngelCoreStruct.EndowmentStatus status; // EndowmentStatus, - AngelCoreStruct.EndowmentType endow_type; // EndowmentType, + AngelCoreStruct.EndowmentType endowType; // EndowmentType, string name; // Option, string logo; // Option, string image; // Option, @@ -149,41 +133,18 @@ library AccountMessages { EndowmentEntry[] endowments; } - struct ProfileResponse { - string name; // String, - string overview; // String, - AngelCoreStruct.Categories categories; // Categories, - uint256 tier; // Option, - string logo; // Option, - string image; // Option, - string url; // Option, - string registrationNumber; // Option, - string countryOfOrigin; // Option, - string streetAddress; // Option, - string contactEmail; // Option, - AngelCoreStruct.SocialMedialUrls socialMediaUrls; // SocialMedialUrls, - uint16 numberOfEmployees; // Option, - string averageAnnualBudget; // Option, - string annualRevenue; // Option, - string charityNavigatorRating; // Option, - } - struct EndowmentDetailsResponse { address owner; //: Addr, address dao; address daoToken; string description; AngelCoreStruct.AccountStrategies strategies; - AngelCoreStruct.EndowmentStatus status; - AngelCoreStruct.EndowmentType endow_type; + AngelCoreStruct.EndowmentType endowType; uint256 maturityTime; AngelCoreStruct.OneOffVaults oneoffVaults; - AngelCoreStruct.RebalanceDetails rebalance; + LocalRegistrarLib.RebalanceParams rebalance; address donationMatchContract; - bool kycDonorsOnly; - address[] maturityWhitelist; - bool depositApproved; - bool withdrawApproved; + address[] maturityAllowlist; uint256 pendingRedemptions; string logo; string image; @@ -197,17 +158,17 @@ library AccountMessages { } struct DepositRequest { - uint256 id; + uint32 id; uint256 lockedPercentage; uint256 liquidPercentage; } struct UpdateEndowmentFeeRequest { - uint256 id; - AngelCoreStruct.EndowmentFee earningsFee; + uint32 id; + AngelCoreStruct.EndowmentFee earlyLockedWithdrawFee; AngelCoreStruct.EndowmentFee depositFee; AngelCoreStruct.EndowmentFee withdrawFee; - AngelCoreStruct.EndowmentFee aumFee; + AngelCoreStruct.EndowmentFee balanceFee; } enum DonationMatchEnum { diff --git a/contracts/core/accounts/scripts/deploy/deploy.ts b/contracts/core/accounts/scripts/deploy/deploy.ts index 932de2400..e497d5ca5 100644 --- a/contracts/core/accounts/scripts/deploy/deploy.ts +++ b/contracts/core/accounts/scripts/deploy/deploy.ts @@ -11,6 +11,7 @@ import { import deployFacets from "./deployFacets" import updateDiamond from "./updateDiamond" import verify from "./verify" +import { logger, updateAddresses } from "utils" export async function deployDiamond( owner: string, @@ -24,14 +25,14 @@ export async function deployDiamond( const [_deployer, diamondAdmin] = await hre.ethers.getSigners() const diamondCut = await deployDiamondCutFacet(diamondAdmin) - const diamond = await _deployDiamond(diamondAdmin, diamondCut.address) + const diamond = await _deployDiamond(diamondAdmin, diamondCut.address, hre) const diamondInit = await deployDiamondInit(diamondAdmin) const cuts = await deployFacets(diamondAdmin, ANGEL_CORE_STRUCT, STRING_LIBRARY) await updateDiamond(diamond.address, diamondInit, diamondAdmin, owner, registrar, cuts, hre) - + if (verify_contracts) { await verify(diamond.address, diamondCut.address, cuts, diamondAdmin, hre) } @@ -50,11 +51,15 @@ async function deployDiamondCutFacet(admin: SignerWithAddress): Promise { +async function _deployDiamond(admin: SignerWithAddress, diamondCut: string, hre: HardhatRuntimeEnvironment): Promise { const Diamond = new Diamond__factory(admin) const diamond = await Diamond.deploy(admin.address, diamondCut) await diamond.deployed() console.log("Diamond deployed:", diamond.address) + + logger.out("Saving address to contract-address.json...") + await updateAddresses({ accounts: { diamond: diamond.address } }, hre) + return diamond } diff --git a/contracts/core/accounts/scripts/deploy/deployFacets.ts b/contracts/core/accounts/scripts/deploy/deployFacets.ts index e55f156fd..1ff329b08 100644 --- a/contracts/core/accounts/scripts/deploy/deployFacets.ts +++ b/contracts/core/accounts/scripts/deploy/deployFacets.ts @@ -8,15 +8,12 @@ import { AccountsCreateEndowment__factory, AccountsDAOEndowments__factory, AccountsQueryEndowments__factory, - AccountsStrategiesCopyEndowments__factory, - AccountsStrategiesUpdateEndowments__factory, AccountsSwapEndowments__factory, AccountsUpdateEndowmentSettingsController__factory, AccountsUpdateEndowments__factory, AccountsUpdateStatusEndowments__factory, AccountsUpdate__factory, AccountsVaultFacet__factory, - AxelarExecutionContract__factory, DiamondLoupeFacet__factory, OwnershipFacet__factory, } from "typechain-types" @@ -35,7 +32,7 @@ export default async function deployFacets( console.log("Instantiating factories...") - const factories = await getFactories(diamondOwner, corestruct, stringlib) + const factories = await getFactories(diamondOwner, corestruct) for (const Factory of factories) { const contractName = Factory.constructor.name.replace("__factory", "") @@ -64,20 +61,20 @@ export default async function deployFacets( // Getting factories instantiated in bulk as they share the deploy/cut creation logic. async function getFactories( diamondOwner: SignerWithAddress, - corestruct: string, - stringlib: string + corestruct: string ): Promise { const factories = [ // no lib new AccountDeployContract__factory(diamondOwner), - new AccountsAllowance__factory(diamondOwner), new AccountsDAOEndowments__factory(diamondOwner), new AccountDonationMatch__factory(diamondOwner), - new AccountsStrategiesCopyEndowments__factory(diamondOwner), new AccountsUpdate__factory(diamondOwner), + new AccountsQueryEndowments__factory(diamondOwner), + new AccountsUpdateStatusEndowments__factory(diamondOwner), // core lib + new AccountsVaultFacet__factory({ "contracts/core/struct.sol:AngelCoreStruct": corestruct },diamondOwner), + new AccountsAllowance__factory({ "contracts/core/struct.sol:AngelCoreStruct": corestruct }, diamondOwner), new AccountsCreateEndowment__factory({ "contracts/core/struct.sol:AngelCoreStruct": corestruct }, diamondOwner), - new AccountsQueryEndowments__factory({ "contracts/core/struct.sol:AngelCoreStruct": corestruct }, diamondOwner), new AccountsSwapEndowments__factory({ "contracts/core/struct.sol:AngelCoreStruct": corestruct }, diamondOwner), new AccountsUpdateEndowments__factory( { "contracts/core/struct.sol:AngelCoreStruct": corestruct }, @@ -87,28 +84,9 @@ async function getFactories( { "contracts/core/struct.sol:AngelCoreStruct": corestruct }, diamondOwner ), - new AxelarExecutionContract__factory({ "contracts/core/struct.sol:AngelCoreStruct": corestruct }, diamondOwner), - // string lib - new AccountsStrategiesUpdateEndowments__factory( - { "contracts/lib/Strings/string.sol:StringArray": stringlib }, - diamondOwner - ), - new AccountsUpdateStatusEndowments__factory( - { "contracts/lib/Strings/string.sol:StringArray": stringlib }, - diamondOwner - ), - // all libs new AccountDepositWithdrawEndowments__factory( { "contracts/core/struct.sol:AngelCoreStruct": corestruct, - "contracts/lib/Strings/string.sol:StringArray": stringlib, - }, - diamondOwner - ), - new AccountsVaultFacet__factory( - { - "contracts/core/struct.sol:AngelCoreStruct": corestruct, - "contracts/lib/Strings/string.sol:StringArray": stringlib, }, diamondOwner ), diff --git a/contracts/core/accounts/scripts/deploy/updateDiamond.ts b/contracts/core/accounts/scripts/deploy/updateDiamond.ts index a8c380ab9..5a40e90a8 100644 --- a/contracts/core/accounts/scripts/deploy/updateDiamond.ts +++ b/contracts/core/accounts/scripts/deploy/updateDiamond.ts @@ -18,7 +18,6 @@ export default async function updateDiamond( const calldata = diamondInit.interface.encodeFunctionData("init", [owner, registrar]) const cuts = facetCuts.map((x) => x.cut) - const tx = await diamondCut.diamondCut(cuts, diamondInit.address, calldata) console.log("Cutting diamond tx: ", tx.hash) diff --git a/contracts/core/accounts/storage.sol b/contracts/core/accounts/storage.sol index bc47bd715..737e1bc18 100644 --- a/contracts/core/accounts/storage.sol +++ b/contracts/core/accounts/storage.sol @@ -2,87 +2,75 @@ pragma solidity ^0.8.16; import {AngelCoreStruct} from "../struct.sol"; +import {LocalRegistrarLib} from "../registrar/lib/LocalRegistrarLib.sol"; library AccountStorage { struct Config { address owner; + string version; address registrarContract; - uint256 nextAccountId; + uint32 nextAccountId; uint256 maxGeneralCategoryId; + address subDao; + address gateway; + address gasReceiver; + bool reentrancyGuardLocked; + AngelCoreStruct.EndowmentFee earlyLockedWithdrawFee; } struct Endowment { address owner; string name; // name of the Endowment - AngelCoreStruct.Categories categories; // SHOULD NOT be editable for now (only the Config.owner, ie via the Gov contract or AP CW3 Multisig can set/update) - uint256 tier; // SHOULD NOT be editable for now (only the Config.owner, ie via the Gov contract or AP CW3 Multisig can set/update) - AngelCoreStruct.EndowmentType endow_type; + AngelCoreStruct.Categories categories; // SHOULD NOT be editable for now (only the Config.owner, ie via the Gov contract or AP Team Multisig can set/update) + uint256 tier; // SHOULD NOT be editable for now (only the Config.owner, ie via the Gov contract or AP Team Multisig can set/update) + AngelCoreStruct.EndowmentType endowType; string logo; string image; - AngelCoreStruct.EndowmentStatus status; - bool depositApproved; // approved to receive donations & transact - bool withdrawApproved; // approved to withdraw funds uint256 maturityTime; // datetime int of endowment maturity //OG:AngelCoreStruct.AccountStrategies // uint256 strategies; // vaults and percentages for locked/liquid accounts donations where auto_invest == TRUE AngelCoreStruct.AccountStrategies strategies; AngelCoreStruct.OneOffVaults oneoffVaults; // vaults not covered in account startegies (more efficient tracking of vaults vs. looking up allll vaults) - AngelCoreStruct.RebalanceDetails rebalance; // parameters to guide rebalancing & harvesting of gains from locked/liquid accounts + LocalRegistrarLib.RebalanceParams rebalance; // parameters to guide rebalancing & harvesting of gains from locked/liquid accounts bool kycDonorsOnly; // allow owner to state a preference for receiving only kyc'd donations (where possible) //TODO: - uint256 pendingRedemptions; // number of vault redemptions currently pending for this endowment - uint256 copycatStrategy; // endowment ID to copy their strategy - uint256 proposalLink; // link back the CW3 Proposal that created an endowment + uint256 pendingRedemptions; // number of vault redemptions rently pending for this endowment + uint256 proposalLink; // link back the Applications Team Multisig Proposal that created an endowment (if a Charity) + address multisig; address dao; address daoToken; - bool donationMatchActive; //TODO: check this de we need to do this + bool donationMatchActive; address donationMatchContract; - address[] whitelistedBeneficiaries; - address[] whitelistedContributors; - address[] maturityWhitelist; - AngelCoreStruct.EndowmentFee earningsFee; //TODO: we can remove all this - AngelCoreStruct.EndowmentFee withdrawFee; //TODO: we can remove all this - AngelCoreStruct.EndowmentFee depositFee; //TODO: we can remove all this - AngelCoreStruct.EndowmentFee aumFee; //TODO: we can remove all this - AngelCoreStruct.SettingsController settingsController; //TODO: we can remove all this - uint256 parent; //TODO: not using this one also + address[] allowlistedBeneficiaries; + address[] allowlistedContributors; + address[] maturityAllowlist; + AngelCoreStruct.EndowmentFee earlyLockedWithdrawFee; + AngelCoreStruct.EndowmentFee withdrawFee; + AngelCoreStruct.EndowmentFee depositFee; + AngelCoreStruct.EndowmentFee balanceFee; + AngelCoreStruct.SettingsController settingsController; + uint32 parent; bool ignoreUserSplits; AngelCoreStruct.SplitDetails splitToLiquid; uint256 referralId; } - ///TODO: Have changed name from state to endowmentState to manage solidity code struct EndowmentState { AngelCoreStruct.DonationsReceived donationsReceived; AngelCoreStruct.BalanceInfo balances; bool closingEndowment; AngelCoreStruct.Beneficiary closingBeneficiary; - } - - struct AllowanceData { - uint256 height; - uint256 timestamp; - bool expires; - uint256 allowanceAmount; - bool configured; + mapping(bytes4 => bool) activeStrategies; } struct State { - mapping(uint256 => uint256) DAOTOKENBALANCE; - mapping(uint256 => EndowmentState) STATES; - mapping(uint256 => Endowment) ENDOWMENTS; - mapping(uint256 => AngelCoreStruct.Profile) PROFILES; - //owner -> spender -> token -> Allowance Struct - mapping(address => mapping(address => mapping(address => AllowanceData))) ALLOWANCES; + mapping(uint32 => uint256) DAOTOKENBALANCE; + mapping(uint32 => EndowmentState) STATES; + mapping(uint32 => Endowment) ENDOWMENTS; + // endow ID -> spender Addr -> token Addr -> amount + mapping(uint32 => mapping(address => mapping(address => uint256))) ALLOWANCES; Config config; - address subDao; - address gateway; - address gasRevicer; - bool reentrancyGuardLocked; - //1 => Locked => GOLDFINCH => 10000 - //endowmentId => accountType => vault => balance - mapping(bytes4 => string) stratagyId; - - mapping(uint256 => mapping(AngelCoreStruct.AccountType => mapping(string => uint256))) vaultBalance; + // mapping(bytes4 => string) stratagyId; + // mapping(uint32 => mapping(AngelCoreStruct.AccountType => mapping(string => uint256))) vaultBalance; } } diff --git a/contracts/core/index-fund/IndexFund.sol b/contracts/core/index-fund/IndexFund.sol index c619c95dc..771a23e9b 100644 --- a/contracts/core/index-fund/IndexFund.sol +++ b/contracts/core/index-fund/IndexFund.sol @@ -2,23 +2,21 @@ pragma solidity ^0.8.16; //Libraries +import "hardhat/console.sol"; import "./storage.sol"; -import {AngelCoreStruct} from "../struct.sol"; -import {Array} from "../../lib/array.sol"; -import {IRegistrar} from "../registrar/interface/IRegistrar.sol"; -import {RegistrarStorage} from "../registrar/storage.sol"; import "@openzeppelin/contracts/utils/math/SafeMath.sol"; +import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; +import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol"; import {IndexFundMessage} from "./message.sol"; -import {AccountMessages} from "../accounts/message.sol"; -import {Validator} from "../registrar/lib/validator.sol"; +import {AngelCoreStruct} from "../struct.sol"; +import {Array, Array32} from "../../lib/array.sol"; +import {Utils} from "../../lib/utils.sol"; import {AddressArray} from "../../lib/address/array.sol"; -import {Array} from "../../lib/array.sol"; +import {IRegistrar} from "../registrar/interfaces/IRegistrar.sol"; +import {RegistrarStorage} from "../registrar/storage.sol"; import {Validator} from "../registrar/lib/validator.sol"; -import {Utils} from "../../lib/utils.sol"; -import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol"; -import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; -import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import "hardhat/console.sol"; +import {AccountMessages} from "../accounts/message.sol"; // TODO: Edit Query functions with start and limit to optimise the size of data being returned @@ -33,12 +31,10 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { event OwnerUpdated(address newOwner); event RegistrarUpdated(address newRegistrar); event ConfigUpdated(IndexFundStorage.Config config); - event AllianceMemberAdded(address member); - event AllianceMemberRemoved(address member); event IndexFundCreated(uint256 id, AngelCoreStruct.IndexFund fund); event IndexFundRemoved(uint256 id); - event MemberRemoved(uint256 fundId, uint256 memberId); - event MemberAdded(uint256 fundId, uint256 memberId); + event MemberRemoved(uint256 fundId, uint32 memberId); + event MemberAdded(uint256 fundId, uint32 memberId); event DonationMessagesUpdated(IndexFundStorage.DonationMessages messages); event UpdateActiveFund(uint256 fundId); event UpdateIndexFundState(IndexFundStorage._State state); @@ -50,29 +46,25 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { /** * @notice Initializer function for index fund contract, to be called when proxy is deployed * @dev This function is called by deployer only once at the time of initialization - * @param curDetails IndexFundMessage.InstantiateMessage + * @param details IndexFundMessage.InstantiateMessage */ function initIndexFund( - IndexFundMessage.InstantiateMessage memory curDetails + IndexFundMessage.InstantiateMessage memory details ) public initializer { require( - curDetails.registrarContract != address(0), + details.registrarContract != address(0), "invalid registrar address" ); maxLimit = 30; defaultLimit = 10; - require(!state.initIndexFund, "AlreadyInitilized"); - state.initIndexFund = true; - state.config = IndexFundStorage.Config({ owner: msg.sender, - registrarContract: curDetails.registrarContract, - fundRotation: curDetails.fundRotation, - fundMemberLimit: curDetails.fundMemberLimit, - fundingGoal: curDetails.fundingGoal, - alliance_members: new address[](0) + registrarContract: details.registrarContract, + fundRotation: details.fundRotation, + fundMemberLimit: details.fundMemberLimit, + fundingGoal: details.fundingGoal }); emit ConfigUpdated(state.config); @@ -80,7 +72,7 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { totalFunds: 0, activeFund: 0, nextFundId: 1, - round_donations: 0, + roundDonations: 0, nextRotationBlock: block.number + state.config.fundRotation }); emit UpdateIndexFundState(state.state); @@ -88,7 +80,7 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { /** * @notice function to update ownder of the contract - * @dev can be called by current owner to set new owner + * @dev can be called by rent owner to set new owner * @param newOwner address of new owner */ function updateOwner(address newOwner) public nonReentrant returns (bool) { @@ -105,7 +97,7 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { /** * @notice function to update registrar contract address - * @dev can be called by current owner to set new registrar contract address + * @dev can be called by rent owner to set new registrar contract address * @param newRegistrar address of new registrar contract */ function updateRegistrar( @@ -124,84 +116,34 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { /** * @notice function to update config of index fund - * @dev can be called by current owner to set new config - * @param curDetails IndexFundMessage.UpdateConfigMessage + * @dev can be called by rent owner to set new config + * @param details IndexFundMessage.UpdateConfigMessage */ function updateConfig( - IndexFundMessage.UpdateConfigMessage memory curDetails + IndexFundMessage.UpdateConfigMessage memory details ) public nonReentrant returns (bool) { if (msg.sender != state.config.owner) { revert("Unauthorized"); } - if (curDetails.fundingGoal != 0) { - if (curDetails.fundingGoal < state.state.round_donations) { + if (details.fundingGoal != 0) { + if (details.fundingGoal < state.state.roundDonations) { revert("Invalid Inputs"); } - state.config.fundingGoal = curDetails.fundingGoal; + state.config.fundingGoal = details.fundingGoal; } else { state.config.fundingGoal = 0; } - state.config.fundRotation = curDetails.fundRotation; - state.config.fundMemberLimit = curDetails.fundMemberLimit; + state.config.fundRotation = details.fundRotation; + state.config.fundMemberLimit = details.fundMemberLimit; emit ConfigUpdated(state.config); return true; } - /** - * @notice function to update alliance member list - * @dev can be called by current owner to add/remove members from alliance member list - * @param addr address of member to be added/removed - * @param action string to indicate add/remove - */ - function updateAllianceMemberList( - address addr, - string memory action - ) public nonReentrant returns (bool) { - if (msg.sender != state.config.owner) { - revert("Unauthorized"); - } - - if (!Validator.addressChecker(addr)) { - revert("Invalid Address"); - } - - if (Validator.compareStrings(action, "add")) { - uint256 curNone; - bool indexFound; - (curNone, indexFound) = AddressArray.indexOf( - state.config.alliance_members, - addr - ); - if (!indexFound) { - state.config.alliance_members.push(addr); - emit AllianceMemberAdded(addr); - } - } else if (Validator.compareStrings(action, "remove")) { - uint256 delIndex; - bool indexFound; - (delIndex, indexFound) = AddressArray.indexOf( - state.config.alliance_members, - addr - ); - - if (indexFound) { - state.config.alliance_members = AddressArray.remove( - state.config.alliance_members, - delIndex - ); - emit AllianceMemberRemoved(addr); - } - } else { - revert("Invalid Action"); - } - return true; - } - /** * @notice function to create index fund - * @dev can be called by current owner to create index fund + * @dev can be called by rent owner to create index fund * @param name name of index fund * @param description description of index fund * @param members array of members of index fund @@ -213,7 +155,7 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { function createIndexFund( string memory name, string memory description, - uint256[] memory members, + uint32[] memory members, bool rotatingFund, uint256 splitToLiquid, uint256 expiryTime, @@ -225,28 +167,35 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { require(splitToLiquid <= 100, "invalid split"); - state.FUND[state.state.nextFundId] = AngelCoreStruct.IndexFund({ + state.FUNDS[state.state.nextFundId] = AngelCoreStruct.IndexFund({ id: state.state.nextFundId, name: name, description: description, members: members, - rotatingFund: rotatingFund, splitToLiquid: splitToLiquid, expiryTime: expiryTime, expiryHeight: expiryHeight }); + for (uint8 i = 0; i < members.length; i++) { + state.FUNDS_BY_ENDOWMENT[members[i]].push(state.state.nextFundId); + } + emit IndexFundCreated( state.state.nextFundId, - state.FUND[state.state.nextFundId] + state.FUNDS[state.state.nextFundId] ); - if (state.FUND_LIST.length == 0) { + // If there are no funds created or no active funds yet, set the new + // fund being created now to be the active fund + if (state.state.totalFunds == 0 || state.state.activeFund == 0) { state.state.activeFund = state.state.nextFundId; emit UpdateActiveFund(state.state.activeFund); } - state.FUND_LIST.push(state.state.nextFundId); + if (rotatingFund) { + state.rotatingFunds.push(state.state.nextFundId); + } state.state.totalFunds += 1; state.state.nextFundId += 1; @@ -256,15 +205,14 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { /** * @notice function to remove index fund - * @dev can be called by current owner to remove an index fund + * @dev can be called by rent owner to remove an index fund * @param fundId id of index fund to be removed */ function removeIndexFund( uint256 fundId ) public nonReentrant returns (bool) { - if (msg.sender != state.config.owner) { - revert("Unauthorized"); - } + require(msg.sender != state.config.owner, "Unauthorized"); + require(state.FUNDS[fundId].members.length >= 0, "Invalid Fund"); if (state.state.activeFund == fundId) { state.state.activeFund = rotateFund( @@ -274,31 +222,27 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { ); emit UpdateActiveFund(state.state.activeFund); } - state.state.totalFunds -= 1; - - uint256 index = state.FUND_LIST.length + 1; - for (uint256 i = 0; i < state.FUND_LIST.length; i++) { - if (state.FUND[state.FUND_LIST[i]].id == fundId) { - index = i; - } + // remove from rotating funds list + bool found; + uint256 index; + (index, found) = Array.indexOf(state.rotatingFunds, fundId); + if (found) { + Array.remove(state.rotatingFunds, index); } - require(index != state.FUND_LIST.length + 1, "Invalid fundId"); - - state.FUND_LIST = Array.remove(state.FUND_LIST, index); - delete state.FUND[fundId]; - + state.state.totalFunds -= 1; + delete state.FUNDS[fundId]; emit IndexFundRemoved(fundId); return true; } /** * @notice function to remove member from all the index funds - * @dev can be called by current owner to remove a member from all the index funds + * @dev can be called by rent owner to remove a member from all the index funds * @param member member to be removed from index fund */ - function removeMember(uint256 member) public nonReentrant returns (bool) { + function removeMember(uint32 member) public nonReentrant returns (bool) { RegistrarStorage.Config memory registrar_config = IRegistrar( state.config.registrarContract ).queryConfig(); @@ -307,88 +251,67 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { address(0) != registrar_config.accountsContract, "accounts contract not configured" ); - - // TODO: added owner for testing require( - msg.sender == registrar_config.accountsContract || - msg.sender == state.config.owner, + msg.sender == registrar_config.accountsContract, "Unauthorized" ); + require(state.FUNDS_BY_ENDOWMENT[member].length >= 0); - // check all funds and remove member if found - - for (uint256 i = 0; i < state.FUND_LIST.length; i++) { - bool found; - uint256 index; - (index, found) = Array.indexOf( - state.FUND[state.FUND_LIST[i]].members, - member - ); + // remove member from all involved funds if in their members array + bool found; + uint32 index; + for (uint32 i = 0; i < state.FUNDS_BY_ENDOWMENT[member].length; i++) { + uint256 fundId = state.FUNDS_BY_ENDOWMENT[member][i]; + (index, found) = Array32.indexOf(state.FUNDS[fundId].members, member); if (found) { - Array.remove(state.FUND[state.FUND_LIST[i]].members, index); - emit MemberRemoved(i, member); + Array32.remove(state.FUNDS[fundId].members, index); + emit MemberRemoved(fundId, member); } } + delete state.FUNDS_BY_ENDOWMENT[member]; return true; } /** * @notice function to update fund members - * @dev can be called by current owner to add/remove member to an index fund - * @param fundId id of index fund to be updated - * @param add array of members to be added to index fund - * @param remove array of members to be removed from index fund + * @dev can be called by rent owner to add/remove member to an index fund + * @param fundId the id of index fund to be updated + * @param members array of members to be set for the index fund */ function updateFundMembers( uint256 fundId, - uint256[] memory add, - uint256[] memory remove + uint32[] memory members ) public nonReentrant returns (bool) { - bool found; - uint256 index; require(msg.sender == state.config.owner, "Unauthorized"); + require(members.length < state.config.fundMemberLimit, "Fund member limit exceeded"); + require(!fundIsExpired(state.FUNDS[fundId], block.number, block.timestamp), "Index Fund Expired"); - if (fundIsExpired(state.FUND[fundId], block.number, block.timestamp)) { - revert("Index Fund Expired"); - } + // set members on fund + state.FUNDS[fundId].members = members; - // add members - for (uint256 i = 0; i < add.length; i++) { - (index, found) = Array.indexOf(state.FUND[fundId].members, add[i]); + // update members by endowment records + bool found; + uint256 index; + for (uint i = 0; i < members.length; i++) { + uint256[] memory funds = state.FUNDS_BY_ENDOWMENT[members[i]]; + (index, found) = Array.indexOf(funds, fundId); if (!found) { - state.FUND[fundId].members.push(add[i]); - emit MemberAdded(fundId, add[i]); - } - } - - // remove members - for (uint256 i = 0; i < remove.length; i++) { - (index, found) = Array.indexOf( - state.FUND[fundId].members, - remove[i] - ); - if (found) { - Array.remove(state.FUND[fundId].members, index); + state.FUNDS_BY_ENDOWMENT[members[i]].push(fundId); } - emit MemberRemoved(fundId, remove[i]); } - require( - state.FUND[fundId].members.length < state.config.fundMemberLimit, - "Fund member limit exceeded" - ); return true; } /** * @notice deposit function which can be called by user to add funds to index fund * @dev converted from rust implementation, handles donations by managing limits and rotating active fund - * @param curDetails deposit details + * @param details deposit details * @param fund fund to deposit to */ function depositERC20( address senderAddr, - IndexFundMessage.DepositMsg memory curDetails, + IndexFundMessage.DepositMsg memory details, AngelCoreStruct.AssetBase memory fund ) public nonReentrant returns (bool) { if (fund.info != AngelCoreStruct.AssetInfoBase.Cw20) { @@ -396,19 +319,10 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { } // validate fund - validateDepositFind(fund); + validateDepositFund(fund); - // check each of the currently allowed Alliance member addr - bool isAllianceMem = false; uint256 depositAmount = fund.amount; - for (uint256 i = 0; i < state.config.alliance_members.length; i++) { - if (senderAddr == state.config.alliance_members[i]) { - isAllianceMem = true; - break; - } - } - // check if block height limit is reached if (state.config.fundRotation != 0) { if (block.number >= state.state.nextRotationBlock) { @@ -419,7 +333,7 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { ); state.state.activeFund = newFundId; emit UpdateActiveFund(state.state.activeFund); - state.state.round_donations = 0; + state.state.roundDonations = 0; while (block.number >= state.state.nextRotationBlock) { state.state.nextRotationBlock += state.config.fundRotation; @@ -431,15 +345,15 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { state.config.registrarContract ).queryConfig(); - if (curDetails.fundId != 0) { + if (details.fundId != 0) { require( - state.FUND[curDetails.fundId].members.length != 0, + state.FUNDS[details.fundId].members.length != 0, "Empty Fund" ); require( !fundIsExpired( - state.FUND[curDetails.fundId], + state.FUNDS[details.fundId], block.number, block.timestamp ), @@ -447,14 +361,13 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { ); uint256 split = calculateSplit( - isAllianceMem, registrar_config.splitToLiquid, - state.FUND[curDetails.fundId].splitToLiquid, - curDetails.split + state.FUNDS[details.fundId].splitToLiquid, + details.split ); updateDonationMessages( - state.FUND[curDetails.fundId].members, + state.FUNDS[details.fundId].members, split, fund.amount, state.donationMessages @@ -466,26 +379,26 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { while (depositAmount > 0) { // This will revert the transaction and donation will fail. TODO: check with team require( - state.FUND[state.state.activeFund].members.length != 0, + state.FUNDS[state.state.activeFund].members.length != 0, "Empty Index Fund" ); require( !fundIsExpired( - state.FUND[state.state.activeFund], + state.FUNDS[state.state.activeFund], block.number, block.timestamp ), "Expired Fund" ); uint256 goalLeftover = state.config.fundingGoal - - state.state.round_donations; + state.state.roundDonations; - uint256 curActiveFund = state.state.activeFund; + uint256 activeFund = state.state.activeFund; if (depositAmount >= goalLeftover) { - state.state.round_donations = 0; + state.state.roundDonations = 0; // set state active fund to next fund for next loop iteration state.state.activeFund = rotateFund( @@ -497,19 +410,18 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { emit UpdateActiveFund(state.state.activeFund); loopDonation = goalLeftover; } else { - state.state.round_donations += depositAmount; + state.state.roundDonations += depositAmount; loopDonation = depositAmount; } uint256 split = calculateSplit( - isAllianceMem, registrar_config.splitToLiquid, - state.FUND[curActiveFund].splitToLiquid, - curDetails.split + state.FUNDS[activeFund].splitToLiquid, + details.split ); updateDonationMessages( - state.FUND[curActiveFund].members, + state.FUNDS[activeFund].members, split, loopDonation, state.donationMessages @@ -519,13 +431,13 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { } } else { require( - state.FUND[state.state.activeFund].members.length != 0, + state.FUNDS[state.state.activeFund].members.length != 0, "Empty Index Fund" ); require( !fundIsExpired( - state.FUND[state.state.activeFund], + state.FUNDS[state.state.activeFund], block.number, block.timestamp ), @@ -533,14 +445,13 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { ); uint256 split = calculateSplit( - isAllianceMem, registrar_config.splitToLiquid, - state.FUND[state.state.activeFund].splitToLiquid, - curDetails.split + state.FUNDS[state.state.activeFund].splitToLiquid, + details.split ); updateDonationMessages( - state.FUND[state.state.activeFund].members, + state.FUNDS[state.state.activeFund].members, split, fund.amount, state.donationMessages @@ -577,7 +488,7 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { fund.addr ); - Utils._execute(target, value, callData); + Utils._execute(target[0], value[0], callData[0]); // Clean up storage for next call delete state.donationMessages.member_ids; @@ -595,13 +506,13 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { * @param members Array of members * @param split Split to liquid * @param balance Balance of fund - * @param curDonationMessages Donation messages + * @param donationMessages Donation messages */ function updateDonationMessages( - uint256[] memory members, + uint32[] memory members, uint256 split, uint256 balance, - IndexFundStorage.DonationMessages storage curDonationMessages + IndexFundStorage.DonationMessages storage donationMessages ) internal { uint256 memberPortion = balance; @@ -618,10 +529,10 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { for ( uint256 j = 0; - j < curDonationMessages.member_ids.length; + j < donationMessages.member_ids.length; j++ ) { - if (curDonationMessages.member_ids[j] == members[i]) { + if (donationMessages.member_ids[j] == members[i]) { alreadyExists = true; index = j; break; @@ -629,41 +540,41 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { } if (alreadyExists) { - curDonationMessages.lockedSplit[index] = lockSplit; - curDonationMessages.liquidSplit[index] = split; - curDonationMessages.locked_donation_amount[index] += + donationMessages.lockedSplit[index] = lockSplit; + donationMessages.liquidSplit[index] = split; + donationMessages.locked_donation_amount[index] += (memberPortion * lockSplit) / 100; // avoid any over and under flows - curDonationMessages.liquid_donation_amount[index] += ( + donationMessages.liquid_donation_amount[index] += ( (memberPortion - ((memberPortion * lockSplit) / 100)) ); } else { - curDonationMessages.member_ids.push(members[i]); - curDonationMessages.lockedSplit.push(lockSplit); - curDonationMessages.liquidSplit.push(split); - curDonationMessages.locked_donation_amount.push( + donationMessages.member_ids.push(members[i]); + donationMessages.lockedSplit.push(lockSplit); + donationMessages.liquidSplit.push(split); + donationMessages.locked_donation_amount.push( (memberPortion * lockSplit) / 100 ); // avoid any over and under flows - curDonationMessages.liquid_donation_amount.push( + donationMessages.liquid_donation_amount.push( (memberPortion - ((memberPortion * lockSplit) / 100)) ); } } - emit DonationMessagesUpdated(curDonationMessages); + emit DonationMessagesUpdated(donationMessages); } /** * @dev Build donation messages - * @param curAccountscontract Accounts contract address - * @param curDonationMessages Donation messages - * @param curTokenaddress Token address + * @param accountscontract Accounts contract address + * @param donationMessages Donation messages + * @param tokenaddress Token address */ function buildDonationMessages( - address curAccountscontract, - IndexFundStorage.DonationMessages storage curDonationMessages, - address curTokenaddress + address accountscontract, + IndexFundStorage.DonationMessages storage donationMessages, + address tokenaddress ) internal view @@ -673,37 +584,35 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { bytes[] memory callData ) { - target = new address[](curDonationMessages.member_ids.length); - value = new uint256[](curDonationMessages.member_ids.length); - callData = new bytes[](curDonationMessages.member_ids.length); + target = new address[](donationMessages.member_ids.length); + value = new uint256[](donationMessages.member_ids.length); + callData = new bytes[](donationMessages.member_ids.length); // TODO: check with andrey for the split logic in index fund - for (uint256 i = 0; i < curDonationMessages.member_ids.length; i++) { - target[i] = curAccountscontract; + for (uint256 i = 0; i < donationMessages.member_ids.length; i++) { + target[i] = accountscontract; value[i] = 0; callData[i] = abi.encodeWithSignature( "depositERC20((uint256,uint256,uint256),address,uint256)", AccountMessages.DepositRequest({ - id: curDonationMessages.member_ids[i], - lockedPercentage: curDonationMessages.lockedSplit[i], - liquidPercentage: curDonationMessages.liquidSplit[i] + id: donationMessages.member_ids[i], + lockedPercentage: donationMessages.lockedSplit[i], + liquidPercentage: donationMessages.liquidSplit[i] }), - curTokenaddress, - curDonationMessages.locked_donation_amount[i] + - curDonationMessages.liquid_donation_amount[i] + tokenaddress, + donationMessages.locked_donation_amount[i] + + donationMessages.liquid_donation_amount[i] ); } } /** * @dev Calculate split - * @param tca True if this is a split for a TCA (Terra charity alliance) * @param registrar_split Registrar split * @param fundSplit Fund split (set on index fund contract) * @param userSplit User split */ function calculateSplit( - bool tca, AngelCoreStruct.SplitDetails memory registrar_split, uint256 fundSplit, uint256 userSplit @@ -711,16 +620,14 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { uint256 split = 0; if (fundSplit == 0) { - if (!tca) { - if (userSplit == 0) { - split = registrar_split.defaultSplit; - } else { - if ( - userSplit > registrar_split.min && - userSplit < registrar_split.max - ) { - split = userSplit; - } + if (userSplit == 0) { + split = registrar_split.defaultSplit; + } else { + if ( + userSplit > registrar_split.min && + userSplit < registrar_split.max + ) { + split = userSplit; } } } else { @@ -760,42 +667,11 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { IndexFundMessage.StateResponseMessage({ totalFunds: state.state.totalFunds, activeFund: state.state.activeFund, - round_donations: state.state.round_donations, + roundDonations: state.state.roundDonations, nextRotationBlock: state.state.nextRotationBlock }); } - /** - * @dev Query fund list - * @param startAfter Start after (Index after which to start getting values) - * @param limit Limit (total number of values to return) - * @return Fund details - */ - function queryFundsList( - uint256 startAfter, - uint256 limit - ) public view returns (AngelCoreStruct.IndexFund[] memory) { - if (limit == 0) { - limit = defaultLimit; - } - - if (limit > maxLimit) { - limit = maxLimit; - } - - AngelCoreStruct.IndexFund[] - memory resp = new AngelCoreStruct.IndexFund[](limit); - - for (uint256 i = 0; i < limit; i++) { - if (i + startAfter >= state.FUND_LIST.length) { - break; - } - resp[i] = state.FUND[state.FUND_LIST[i + startAfter]]; - } - - return resp; - } - /** * @dev Query fund details * @param fundId Fund id @@ -804,7 +680,7 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { function queryFundDetails( uint256 fundId ) public view returns (AngelCoreStruct.IndexFund memory) { - return state.FUND[fundId]; + return state.FUNDS[fundId]; } /** @@ -813,39 +689,14 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { * @return Fund details */ function queryInvolvedFunds( - uint256 endowmentId + uint32 endowmentId ) public view returns (AngelCoreStruct.IndexFund[] memory) { - uint256 counter = 0; - // check how many - for (uint256 i = 0; i < state.FUND_LIST.length; i++) { - bool found; - uint256 index; - (index, found) = Array.indexOf( - state.FUND[state.FUND_LIST[i]].members, - endowmentId - ); - if (found) { - counter++; - } - } // make memory and allocate to response object - AngelCoreStruct.IndexFund[] - memory resp = new AngelCoreStruct.IndexFund[](counter); + memory resp = new AngelCoreStruct.IndexFund[](state.FUNDS_BY_ENDOWMENT[endowmentId].length); - uint256 indexer = 0; - - for (uint256 i = 0; i < state.FUND_LIST.length; i++) { - bool found; - uint256 index; - (index, found) = Array.indexOf( - state.FUND[state.FUND_LIST[i]].members, - endowmentId - ); - if (found) { - resp[indexer] = state.FUND[state.FUND_LIST[i]]; - indexer++; - } + for (uint256 i = 0; i < state.FUNDS_BY_ENDOWMENT[endowmentId].length; i++) { + resp[i] = state.FUNDS[state.FUNDS_BY_ENDOWMENT[endowmentId][i]]; } return resp; @@ -860,60 +711,15 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { view returns (AngelCoreStruct.IndexFund memory) { - return state.FUND[state.state.activeFund]; - } - - // function queryAllianceMember(address wallet) - // public - // view - // returns (IndexFundMessage.AllianceMemberResponse memory) - // { - // return - // IndexFundMessage.AllianceMemberResponse({ - // wallet: wallet, - // name: state.config.alliance_members[wallet].name, - // logo: state.config.alliance_members[wallet].logo, - // website: state.config.alliance_members[wallet].website - // }); - // } - - /** - * @dev Query alliance members - * @param startAfter Start after (Index after which to start getting values) - * @param limit Limit (total number of values to return) - * @return Alliance members - */ - function queryAllianceMembers( - uint256 startAfter, - uint256 limit - ) public view returns (address[] memory) { - if (limit == 0) { - limit = defaultLimit; - } - - if (limit > maxLimit) { - limit = maxLimit; - } - - address[] memory resp = new address[](limit); - - for (uint256 i = 0; i < limit; i++) { - if (i + startAfter >= state.config.alliance_members.length) { - break; - } - - resp[i] = state.config.alliance_members[i + startAfter]; - } - - return resp; + return state.FUNDS[state.state.activeFund]; } // Internal functions /** * @dev Check if fund is expired * @param fund Fund - * @param envHeight Current block height - * @param envTime Current block time + * @param envHeight rent block height + * @param envTime rent block time * @return True if fund is expired */ function fundIsExpired( @@ -921,120 +727,65 @@ contract IndexFund is StorageIndexFund, ReentrancyGuard, Initializable { uint256 envHeight, uint256 envTime ) internal pure returns (bool) { - if ( + return ( (fund.expiryHeight != 0 && envHeight >= fund.expiryHeight) || (fund.expiryTime != 0 && envTime >= fund.expiryTime) - ) { - return true; - } - return false; + ); } /** - * @dev rotate active based if investment goal is fulfillef - * @param currFund Current Active fund - * @param envHeight Current block height - * @param envTime Current block time + * @dev rotate active based if investment goal is fulfilled + * @param rFund rent Active fund + * @param envHeight rent block height + * @param envTime rent block time * @return New active fund */ function rotateFund( - uint256 currFund, + uint256 rFund, uint256 envHeight, uint256 envTime ) internal view returns (uint256) { - uint256 activeFundCount = 0; - - // TODO: can be optimised by storing indexes of active funds in a memory array - - for (uint256 i = 0; i < state.FUND_LIST.length; i++) { - if ( - !fundIsExpired( - state.FUND[state.FUND_LIST[i]], - envHeight, - envTime - ) && state.FUND[state.FUND_LIST[i]].rotatingFund == true - ) { - activeFundCount++; - } - } - - uint256 indexer = 0; - AngelCoreStruct.IndexFund[] memory activeFunds = new AngelCoreStruct.IndexFund[]( - activeFundCount + state.rotatingFunds.length ); - for (uint256 i = 0; i < state.FUND_LIST.length; i++) { + for (uint256 i = 0; i < state.rotatingFunds.length; i++) { if ( !fundIsExpired( - state.FUND[state.FUND_LIST[i]], + state.FUNDS[state.rotatingFunds[i]], envHeight, envTime - ) && state.FUND[state.FUND_LIST[i]].rotatingFund == true + ) ) { - activeFunds[indexer] = state.FUND[state.FUND_LIST[i]]; - indexer++; + activeFunds[i] = state.FUNDS[state.rotatingFunds[i]]; } } - // default value outside of index range - uint256 currFundIndex = activeFunds.length + 1; - - for (uint256 i = 0; i < activeFunds.length; i++) { - if (activeFunds[i].id == currFund) { - currFundIndex = i; - } - } - - if (currFundIndex < state.FUND_LIST.length) { - if (currFundIndex == activeFunds.length - 1) { - return activeFunds[0].id; - } else { - return activeFunds[currFundIndex + 1].id; - } + // check if the rent active fund is in the rotation and not expired + bool found; + uint256 index; + (index, found) = Array.indexOf(state.rotatingFunds, rFund); + if (!found || index == activeFunds.length - 1) { + // set to the first fund in the list + return activeFunds[0].id; } else { - AngelCoreStruct.IndexFund memory filter_fund; - for (uint256 i = 0; i < activeFunds.length; i++) { - if (activeFunds[i].id > currFund) { - filter_fund = activeFunds[i]; - break; - } - } - - if (filter_fund.id != 0) { - return filter_fund.id; - } else { - return activeFunds[0].id; - } + return activeFunds[index + 1].id; } } /** - * @dev Validate deposit find (by querying registrar contract) + * @dev Validate deposit fund (by querying registrar contract) * @param fund Fund * @return True if fund is valid */ - function validateDepositFind( + function validateDepositFund( AngelCoreStruct.AssetBase memory fund ) internal view returns (bool) { - RegistrarStorage.Config memory registrar_config = IRegistrar( - state.config.registrarContract - ).queryConfig(); - if (fund.info == AngelCoreStruct.AssetInfoBase.Cw20) { - bool flag = false; - for ( - uint256 i = 0; - i < registrar_config.acceptedTokens.cw20.length; - i++ - ) { - if (registrar_config.acceptedTokens.cw20[i] == fund.addr) { - flag = true; - } - } - - require(flag, "Not accepted token"); + require(IRegistrar(state.config.registrarContract) + .isTokenAccepted(fund.addr), + "Not accepted token"); } else { revert(); } diff --git a/contracts/core/index-fund/message.sol b/contracts/core/index-fund/message.sol index dfcda9ab4..bcef81642 100644 --- a/contracts/core/index-fund/message.sol +++ b/contracts/core/index-fund/message.sol @@ -20,7 +20,7 @@ library IndexFundMessage { struct StateResponseMessage { uint256 totalFunds; uint256 activeFund; // index ID of the Active IndexFund - uint256 round_donations; // total donations given to active charity this round + uint256 roundDonations; // total donations given to active charity this round uint256 nextRotationBlock; // block height to perform next rotation on } @@ -29,13 +29,6 @@ library IndexFundMessage { uint256 totalUst; } - struct AllianceMemberResponse { - address wallet; - string name; - string logo; - string website; - } - struct DepositMsg { uint256 fundId; uint256 split; diff --git a/contracts/core/index-fund/scripts/deploy.ts b/contracts/core/index-fund/scripts/deploy.ts index 46bc16f8a..9d43a307a 100644 --- a/contracts/core/index-fund/scripts/deploy.ts +++ b/contracts/core/index-fund/scripts/deploy.ts @@ -2,7 +2,7 @@ const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000'; import { HardhatRuntimeEnvironment } from 'hardhat/types' import config from 'config' -import { saveFrontendFiles } from 'scripts/readWriteFile' +import { updateAddresses } from "utils" import { IndexFundMessage } from "typechain-types/contracts/core/index-fund/IndexFund" export async function deployIndexFund(initFactoryData: IndexFundMessage.InstantiateMessageStruct, verify_contracts: boolean, hre: HardhatRuntimeEnvironment) { @@ -35,10 +35,15 @@ export async function deployIndexFund(initFactoryData: IndexFundMessage.Instanti ); await IndexFundContractProxy.deployed(); - let indexFundAddress = { - indexFundProxy: IndexFundContractProxy.address, - indexFundImplementation: indexContract.address, - } + await updateAddresses( + { + indexFund: { + proxy: IndexFundContractProxy.address, + implementation: indexContract.address, + } + }, + hre + ); if(verify_contracts){ await run("verify:verify", { @@ -51,8 +56,6 @@ export async function deployIndexFund(initFactoryData: IndexFundMessage.Instanti }); } - await saveFrontendFiles({indexFundAddress}); - return Promise.resolve(IndexFundContractProxy.address); } catch (error) { console.log(error); diff --git a/contracts/core/index-fund/storage.sol b/contracts/core/index-fund/storage.sol index 04f8430c6..3e767bf18 100644 --- a/contracts/core/index-fund/storage.sol +++ b/contracts/core/index-fund/storage.sol @@ -10,19 +10,18 @@ library IndexFundStorage { uint256 fundRotation; // how many blocks are in a rotation cycle for the active IndexFund uint256 fundMemberLimit; // limit to number of members an IndexFund can have uint256 fundingGoal; // donation funding limit (in UUSD) to trigger early cycle of the Active IndexFund - address[] alliance_members; } struct _State { uint256 totalFunds; - uint256 activeFund; // index ID of the Active IndexFund - uint256 round_donations; // total donations given to active charity this round + uint256 activeFund; // ID of the Active IndexFund in the rent rotation set + uint256 roundDonations; // total donations given to active charity this round uint256 nextRotationBlock; // block height to perform next rotation on uint256 nextFundId; } struct DonationMessages { - uint256[] member_ids; + uint32[] member_ids; uint256[] locked_donation_amount; uint256[] liquid_donation_amount; uint256[] lockedSplit; @@ -32,13 +31,10 @@ library IndexFundStorage { struct State { Config config; _State state; - // mapping(address => AngelCoreStruct.GenericBalance) TCA_DONATIONS; - // mapping(address => AngelCoreStruct.AllianceMember) ALLIANCE_MEMBERS; - // address[] ALLIANCE_MEMBERS_LIST; - mapping(uint256 => AngelCoreStruct.IndexFund) FUND; - uint256[] FUND_LIST; + mapping(uint256 => AngelCoreStruct.IndexFund) FUNDS; + mapping(uint32 => uint256[]) FUNDS_BY_ENDOWMENT; // Endow ID >> [Fund IDs] + uint256[] rotatingFunds; // list of active, rotating funds (ex. 17 funds, 1 for each of the UNSDGs) DonationMessages donationMessages; - bool initIndexFund; } } diff --git a/contracts/core/proxy.sol b/contracts/core/proxy.sol index 2ab00bf93..5c05730f8 100644 --- a/contracts/core/proxy.sol +++ b/contracts/core/proxy.sol @@ -27,10 +27,10 @@ import "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.so contract ProxyContract is TransparentUpgradeableProxy { constructor( - address curImplementation, - address curAdmin, + address implementation, + address admin, bytes memory _data - ) TransparentUpgradeableProxy(curImplementation, curAdmin, _data) {} + ) TransparentUpgradeableProxy(implementation, admin, _data) {} function getAdmin() external view returns (address adm) { bytes32 slot = _ADMIN_SLOT; diff --git a/contracts/core/registrar/LocalRegistrar.sol b/contracts/core/registrar/LocalRegistrar.sol index 45cc80eb8..e9ce96e56 100644 --- a/contracts/core/registrar/LocalRegistrar.sol +++ b/contracts/core/registrar/LocalRegistrar.sol @@ -2,7 +2,7 @@ // author: @stevieraykatz pragma solidity >=0.8.0; -import { ILocalRegistrar } from "./interface/ILocalRegistrar.sol"; +import { ILocalRegistrar } from "./interfaces/ILocalRegistrar.sol"; import { LocalRegistrarLib } from "./lib/LocalRegistrarLib.sol"; import { IVault } from "../../interfaces/IVault.sol"; import { OwnableUpgradeable } from "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; @@ -22,8 +22,12 @@ contract LocalRegistrar is ILocalRegistrar, Initializable, OwnableUpgradeable { _disableInitializers(); } - function initialize() public initializer { - __Ownable_init_unchained(); + function __LocalRegistrar_init() internal onlyInitializing { + __Ownable_init(); + __LocalRegistrar_init_unchained(); + } + + function __LocalRegistrar_init_unchained() internal onlyInitializing { LocalRegistrarLib.LocalRegistrarStorage storage lrs = LocalRegistrarLib.localRegistrarStorage(); @@ -45,6 +49,11 @@ contract LocalRegistrar is ILocalRegistrar, Initializable, OwnableUpgradeable { ); } + function initialize() public initializer { + __LocalRegistrar_init(); + + } + /*//////////////////////////////////////////////// GETTER VIEW METHODS *///////////////////////////////////////////////// @@ -170,10 +179,7 @@ contract LocalRegistrar is ILocalRegistrar, Initializable, OwnableUpgradeable { } function setStrategyApprovalState(bytes4 _strategyId, LocalRegistrarLib.StrategyApprovalState _approvalState) - external - override - onlyOwner - { + public virtual override onlyOwner { LocalRegistrarLib.LocalRegistrarStorage storage lrs = LocalRegistrarLib.localRegistrarStorage(); @@ -186,7 +192,7 @@ contract LocalRegistrar is ILocalRegistrar, Initializable, OwnableUpgradeable { address _lockAddr, address _liqAddr, LocalRegistrarLib.StrategyApprovalState _approvalState - ) external override onlyOwner { + ) public virtual onlyOwner { LocalRegistrarLib.LocalRegistrarStorage storage lrs = LocalRegistrarLib.localRegistrarStorage(); @@ -215,7 +221,7 @@ contract LocalRegistrar is ILocalRegistrar, Initializable, OwnableUpgradeable { /*//////////////////////////////////////////////// GOLDFINCH *///////////////////////////////////////////////// - function getAPGoldfinchParams() external view returns (APGoldfinchConfigLib.APGoldfinchConfig memory) { + function getAPGoldfinchParams() external pure returns (APGoldfinchConfigLib.APGoldfinchConfig memory) { APGoldfinchConfigLib.APGoldfinchConfig storage grs = APGoldfinchConfigLib.goldfinchRegistrarStorage(); return grs; @@ -226,4 +232,4 @@ contract LocalRegistrar is ILocalRegistrar, Initializable, OwnableUpgradeable { APGoldfinchConfigLib.goldfinchRegistrarStorage(); grs.crvParams.allowedSlippage = _apGoldfinch.crvParams.allowedSlippage; } -} +} \ No newline at end of file diff --git a/contracts/core/registrar/README.md b/contracts/core/registrar/README.md new file mode 100644 index 000000000..0c014a3b2 --- /dev/null +++ b/contracts/core/registrar/README.md @@ -0,0 +1,11 @@ + +## Architecture +The Registrar architecture is split into two parts: +1. `Registrar.sol` which is deployed on any network where the `Accounts` Diamond lives. Currently planned strictly for the Polygon network +2. `LocalRegistrar.sol` which is inherited by `Registrar.sol` for the Polygon deployment but whcih can also be deployed to any chain where Angel Protocol leverages cross-chain yield sources. + + +It generally contains ecosystem contract addresses and global parameters related to fees andn rebalancing. + +### Local Registrar +![LocalRegistrar](https://user-images.githubusercontent.com/84420280/217927431-bff49264-1722-4132-ae36-65f05241198d.png) \ No newline at end of file diff --git a/contracts/core/registrar/interface/IRegistrar.sol b/contracts/core/registrar/interface/IRegistrar.sol deleted file mode 100644 index 61d518848..000000000 --- a/contracts/core/registrar/interface/IRegistrar.sol +++ /dev/null @@ -1,152 +0,0 @@ -// SPDX-License-Identifier: MIT -// pragma solidity ^0.8.16; -// import {RegistrarStorage} from "../storage.sol"; -// import {RegistrarMessages} from "../message.sol"; -// import {AngelCoreStruct} from "../../struct.sol"; - -// interface IRegistrar { -// function queryConfig() -// external -// view -// returns (RegistrarStorage.Config memory); - -// function queryNetworkConnection( -// uint256 chainId -// ) external view returns (AngelCoreStruct.NetworkInfo memory); - -// function queryVaultDetails( -// address vaultAddr -// ) external view returns (AngelCoreStruct.YieldVault memory); - -// function queryVaultList( -// uint256 network, -// AngelCoreStruct.EndowmentType endowmentType, -// AngelCoreStruct.AccountType accountType, -// AngelCoreStruct.VaultType vaultType, -// AngelCoreStruct.BoolOptional approved, -// uint256 startAfter, -// uint256 limit -// ) external view returns (AngelCoreStruct.YieldVault[] memory); - -// function updateConfig( -// RegistrarMessages.UpdateConfigRequest memory curDetails -// ) external returns (bool); - -// function updateNetworkConnections( -// AngelCoreStruct.NetworkInfo memory networkInfo, -// string memory action -// ) external returns (bool); - -// function updateOwner(address newOwner) external returns (bool); - -// function vaultAdd( -// RegistrarMessages.VaultAddRequest memory curDetails -// ) external returns (bool); - -// function vaultRemove(address vaultAddr) external returns (bool); - -// function vaultUpdate( -// address vaultAddr, -// bool approved, -// AngelCoreStruct.EndowmentType[] memory restrictedFrom -// ) external returns (bool); - -// function queryFee(string memory name) external returns (uint256); - -// function testQuery() external view returns (address[] memory); - -// function testQueryStruct() -// external -// view -// returns (AngelCoreStruct.YieldVault[] memory); - -// function queryVaultListBg( -// uint256 network, -// AngelCoreStruct.EndowmentType endowmentType, -// AngelCoreStruct.AccountType accountType, -// AngelCoreStruct.VaultType vaultType, -// AngelCoreStruct.BoolOptional approved, -// uint256 startAfter, -// uint256 limit -// ) external view returns (AngelCoreStruct.YieldVault[] memory); -// } - -pragma solidity ^0.8.16; -import {RegistrarStorage} from "../storage.sol"; -import {RegistrarMessages} from "../message.sol"; -import {AngelCoreStruct} from "../../struct.sol"; - -interface IRegistrar { - function updateConfig( - RegistrarMessages.UpdateConfigRequest memory curDetails - ) external; - - function updateOwner(address newOwner) external; - - function updateFees( - RegistrarMessages.UpdateFeeRequest memory curDetails - ) external; - - function vaultAdd( - RegistrarMessages.VaultAddRequest memory curDetails - ) external; - - function vaultRemove(string memory _stratagyName) external; - - function vaultUpdate( - string memory _stratagyName, - bool curApproved, - AngelCoreStruct.EndowmentType[] memory curRestrictedfrom - ) external; - - function updateNetworkConnections( - AngelCoreStruct.NetworkInfo memory networkInfo, - string memory action - ) external; - - // Query functions for contract - - function queryConfig() - external - view - returns (RegistrarStorage.Config memory); - - function testQuery() external view returns (string[] memory); - - function testQueryStruct() - external - view - returns (AngelCoreStruct.YieldVault[] memory); - - function queryVaultListDep( - uint256 network, - AngelCoreStruct.EndowmentType endowmentType, - AngelCoreStruct.AccountType accountType, - AngelCoreStruct.VaultType vaultType, - AngelCoreStruct.BoolOptional approved, - uint256 startAfter, - uint256 limit - ) external view returns (AngelCoreStruct.YieldVault[] memory); - - function queryVaultList( - uint256 network, - AngelCoreStruct.EndowmentType endowmentType, - AngelCoreStruct.AccountType accountType, - AngelCoreStruct.VaultType vaultType, - AngelCoreStruct.BoolOptional approved, - uint256 startAfter, - uint256 limit - ) external view returns (AngelCoreStruct.YieldVault[] memory); - - function queryVaultDetails( - string memory _stratagyName - ) external view returns (AngelCoreStruct.YieldVault memory response); - - function queryNetworkConnection( - uint256 chainId - ) external view returns (AngelCoreStruct.NetworkInfo memory response); - - function queryFee( - string memory name - ) external view returns (uint256 response); -} diff --git a/contracts/core/registrar/interface/ILocalRegistrar.sol b/contracts/core/registrar/interfaces/ILocalRegistrar.sol similarity index 100% rename from contracts/core/registrar/interface/ILocalRegistrar.sol rename to contracts/core/registrar/interfaces/ILocalRegistrar.sol diff --git a/contracts/core/registrar/interfaces/IRegistrar.sol b/contracts/core/registrar/interfaces/IRegistrar.sol new file mode 100644 index 000000000..621b2b952 --- /dev/null +++ b/contracts/core/registrar/interfaces/IRegistrar.sol @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: MIT + +pragma solidity ^0.8.16; +import {RegistrarStorage} from "../storage.sol"; +import {RegistrarMessages} from "../message.sol"; +import {AngelCoreStruct} from "../../struct.sol"; +import {ILocalRegistrar} from "./ILocalRegistrar.sol"; + +interface IRegistrar is ILocalRegistrar { + function updateConfig( + RegistrarMessages.UpdateConfigRequest memory details + ) external; + + function updateOwner(address newOwner) external; + + function updateFees( + RegistrarMessages.UpdateFeeRequest memory details + ) external; + + function vaultAdd( + RegistrarMessages.VaultAddRequest memory details + ) external; + + function vaultRemove(string memory _stratagyName) external; + + function vaultUpdate( + string memory _stratagyName, + bool approved, + AngelCoreStruct.EndowmentType[] memory restrictedfrom + ) external; + + function updateNetworkConnections( + AngelCoreStruct.NetworkInfo memory networkInfo, + string memory action + ) external; + + // Query functions for contract + + function queryConfig() + external + view + returns (RegistrarStorage.Config memory); + + function testQuery() external view returns (string[] memory); + + function queryAllStrategies() view external returns (bytes4[] memory allStrategies); + + // function testQueryStruct() + // external + // view + // returns (AngelCoreStruct.YieldVault[] memory); + + // function queryVaultListDep( + // uint256 network, + // AngelCoreStruct.EndowmentType endowmentType, + // AngelCoreStruct.AccountType accountType, + // AngelCoreStruct.VaultType vaultType, + // AngelCoreStruct.BoolOptional approved, + // uint256 startAfter, + // uint256 limit + // ) external view returns (AngelCoreStruct.YieldVault[] memory); + + // function queryVaultList( + // uint256 network, + // AngelCoreStruct.EndowmentType endowmentType, + // AngelCoreStruct.AccountType accountType, + // AngelCoreStruct.VaultType vaultType, + // AngelCoreStruct.BoolOptional approved, + // uint256 startAfter, + // uint256 limit + // ) external view returns (AngelCoreStruct.YieldVault[] memory); + + // function queryVaultDetails( + // string memory _stratagyName + // ) external view returns (AngelCoreStruct.YieldVault memory response); + + function queryNetworkConnection( + uint256 chainId + ) external view returns (AngelCoreStruct.NetworkInfo memory response); + + function queryFee( + string memory name + ) external view returns (uint256 response); + + function owner() external view returns (address); +} diff --git a/contracts/core/registrar/lib/RegistrarEventsLib.sol b/contracts/core/registrar/lib/RegistrarEventsLib.sol index d2f4c2460..72e194821 100644 --- a/contracts/core/registrar/lib/RegistrarEventsLib.sol +++ b/contracts/core/registrar/lib/RegistrarEventsLib.sol @@ -9,13 +9,6 @@ library RegistrarEventsLib { event UpdateRegistrarConfig(RegistrarStorage.Config details); event UpdateRegistrarOwner(address newOwner); event UpdateRegistrarFees(RegistrarMessages.UpdateFeeRequest details); - event AddVault(string strategyName, AngelCoreStruct.YieldVault vault); - event RemoveVault(string strategyName); - event UpdateVault( - string strategyName, - bool approved, - AngelCoreStruct.EndowmentType[] endowmentTypes - ); event PostNetworkConnection( uint256 chainId, AngelCoreStruct.NetworkInfo networkInfo diff --git a/contracts/core/registrar/lib/validator.sol b/contracts/core/registrar/lib/validator.sol index da6d2d7e7..d2446bc96 100644 --- a/contracts/core/registrar/lib/validator.sol +++ b/contracts/core/registrar/lib/validator.sol @@ -3,8 +3,8 @@ pragma solidity ^0.8.16; import {AngelCoreStruct} from "../../struct.sol"; library Validator { - function addressChecker(address curAddr1) internal pure returns (bool) { - if (curAddr1 == address(0)) { + function addressChecker(address addr1) internal pure returns (bool) { + if (addr1 == address(0)) { return false; } return true; @@ -13,13 +13,21 @@ library Validator { function splitChecker( AngelCoreStruct.SplitDetails memory split ) internal pure returns (bool) { - if ( + if( + (split.max > 100) || + (split.min > 100) || + (split.defaultSplit > 100) + ) { + return false; + } + else if ( !(split.max >= split.min && split.defaultSplit <= split.max && split.defaultSplit >= split.min) ) { return false; - } else { + } + else { return true; } } diff --git a/contracts/core/registrar/message.sol b/contracts/core/registrar/message.sol index 8dd33f67c..a6074e88b 100644 --- a/contracts/core/registrar/message.sol +++ b/contracts/core/registrar/message.sol @@ -6,33 +6,27 @@ import {AngelCoreStruct} from "../struct.sol"; library RegistrarMessages { struct InstantiateRequest { address treasury; - uint256 taxRate; - AngelCoreStruct.RebalanceDetails rebalance; + // uint256 taxRate; + // AngelCoreStruct.RebalanceDetails rebalance; AngelCoreStruct.SplitDetails splitToLiquid; - AngelCoreStruct.AcceptedTokens acceptedTokens; + // AngelCoreStruct.AcceptedTokens acceptedTokens; address router; - address axelerGateway; + address axelarGateway; + address axelarGasRecv; } struct UpdateConfigRequest { address accountsContract; - uint256 taxRate; - AngelCoreStruct.RebalanceDetails rebalance; + // uint256 taxRate; + // AngelCoreStruct.RebalanceDetails rebalance; string[] approved_charities; uint256 splitMax; uint256 splitMin; uint256 splitDefault; uint256 collectorShare; - AngelCoreStruct.AcceptedTokens acceptedTokens; - // WASM CODES -> EVM -> Solidity Implementation contract addresses - address subdaoGovCode; // subdao gov wasm code - address subdaoCw20TokenCode; // subdao gov token (basic CW20) wasm code - address subdaoBondingTokenCode; // subdao gov token (w/ bonding-curve) wasm code - address subdaoCw900Code; // subdao gov ve-CURVE contract for locked token voting - address subdaoDistributorCode; // subdao gov fee distributor wasm code - address subdaoEmitter; - address donationMatchCode; // donation matching contract wasm code - // CONTRACT ADSRESSES + // AngelCoreStruct.AcceptedTokens acceptedTokens; + + // CONTRACT ADDRESSES address indexFundContract; address govContract; address treasury; @@ -51,6 +45,13 @@ library RegistrarMessages { address proxyAdmin; address usdcAddress; address wethAddress; + address subdaoGovContract; + address subdaoTokenContract; + address subdaoBondingTokenContract; + address subdaoCw900Contract; + address subdaoDistributorContract; + address subdaoEmitter; + address donationMatchContract; address cw900lvAddress; } @@ -67,25 +68,22 @@ library RegistrarMessages { struct UpdateFeeRequest { string[] keys; - // TODO Change to decimal uint256[] values; } struct ConfigResponse { - address owner; uint256 version; address accountsContract; address treasury; - uint256 taxRate; - AngelCoreStruct.RebalanceDetails rebalance; + // uint256 taxRate; + // AngelCoreStruct.RebalanceDetails rebalance; address indexFund; - AngelCoreStruct.SplitDetails splitToLiquid; + // AngelCoreStruct.SplitDetails splitToLiquid; address haloToken; address govContract; address charitySharesContract; - uint256 cw3Code; - uint256 cw4Code; - AngelCoreStruct.AcceptedTokens acceptedTokens; + uint256 endowmentMultisigContract; + // AngelCoreStruct.AcceptedTokens acceptedTokens; address applicationsReview; address swapsRouter; } diff --git a/contracts/core/registrar/registrar.sol b/contracts/core/registrar/registrar.sol index c89d4490a..ca10262c0 100644 --- a/contracts/core/registrar/registrar.sol +++ b/contracts/core/registrar/registrar.sol @@ -10,145 +10,58 @@ import {StringArray} from "./../../lib/Strings/string.sol"; import "./storage.sol"; import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol"; - -/** - * @title Registrar Library - * @dev Library for Registrar for size fixes - */ -library RegistrarLib { - /* - * TODO: add doc string @badrik - */ - function filterVault( - AngelCoreStruct.YieldVault memory data, - uint256 network, - AngelCoreStruct.EndowmentType endowmentType, - AngelCoreStruct.AccountType accountType, - AngelCoreStruct.VaultType vaultType, - AngelCoreStruct.BoolOptional approved - ) public pure returns (bool) { - // check all conditions based on default null param if anyone of them is false return false - - if (approved != AngelCoreStruct.BoolOptional.None) { - if (approved == AngelCoreStruct.BoolOptional.True) { - if (data.approved != true) { - return false; - } - } - if (approved == AngelCoreStruct.BoolOptional.False) { - if (data.approved != false) { - return false; - } - } - } - - if (endowmentType != AngelCoreStruct.EndowmentType.None) { - // check if given endowment type is not in restricted from. if it is return false - bool found = false; - for (uint256 i = 0; i < data.restrictedFrom.length; i++) { - if (data.restrictedFrom[i] == endowmentType) { - found = true; - } - } - if (found) { - return false; - } - } - - if (accountType != AngelCoreStruct.AccountType.None) { - if (data.acctType != accountType) { - return false; - } - } - - if (vaultType != AngelCoreStruct.VaultType.None) { - if (data.vaultType != vaultType) { - return false; - } - } - - if (network != 0) { - if (data.network != network) { - return false; - } - } - - return true; - } -} +import {LocalRegistrar} from "./LocalRegistrar.sol"; +import {LocalRegistrarLib} from "./lib/LocalRegistrarLib.sol"; /** * @title Registrar Contract * @dev Contract for Registrar */ -contract Registrar is Storage, ReentrancyGuard { +contract Registrar is LocalRegistrar, Storage, ReentrancyGuard { event UpdateRegistrarConfig(RegistrarStorage.Config details); - event UpdateRegistrarOwner(address newOwner); event UpdateRegistrarFees(RegistrarMessages.UpdateFeeRequest details); - event AddVault(string strategyName, AngelCoreStruct.YieldVault vault); - event RemoveVault(string strategyName); - event UpdateVault( - string strategyName, - bool approved, - AngelCoreStruct.EndowmentType[] endowmentTypes - ); event PostNetworkConnection( uint256 chainId, AngelCoreStruct.NetworkInfo networkInfo ); event DeleteNetworkConnection(uint256 chainId); - modifier onlyOwner { - require(msg.sender == state.config.owner,"Unauthorized"); - _; + /// @custom:oz-upgrades-unsafe-allow constructor + constructor () { + _disableInitializers(); } /** * @notice intialize function for the contract * @dev initialize function for the contract only called once at the time of deployment - * @param curDetails details for the contract + * @param details details for the contract */ function initialize( - RegistrarMessages.InstantiateRequest memory curDetails - ) public { - require(!initilized, "E01"); //Already Initilized - require(curDetails.taxRate <= 100, "E02"); //Invalid tax rate input - // TODO check split details - // split check will be coming default from frontend - if (!Validator.splitChecker(curDetails.splitToLiquid)) { - revert("E03"); //Invalid Split Details Supplied - } - address treasuryAddr; - initilized = true; - if (Validator.addressChecker(curDetails.treasury)) { - treasuryAddr = curDetails.treasury; - } else { - treasuryAddr = address(0); - } + RegistrarMessages.InstantiateRequest memory details + ) public initializer { + __LocalRegistrar_init(); state.config = RegistrarStorage.Config({ - owner: msg.sender, applicationsReview: msg.sender, indexFundContract: address(0), accountsContract: address(0), - treasury: treasuryAddr, - subdaoGovCode: address(0), // Sub dao implementation - subdaoCw20TokenCode: address(0), // NewERC20 implementation - subdaoBondingTokenCode: address(0), // Continous Token implementation - subdaoCw900Code: address(0), - subdaoDistributorCode: address(0), + treasury: details.treasury, + subdaoGovContract: address(0), // Sub dao implementation + subdaoTokenContract: address(0), // NewERC20 implementation + subdaoBondingTokenContract: address(0), // Continous Token implementation + subdaoCw900Contract: address(0), + subdaoDistributorContract: address(0), subdaoEmitter: address(0), - donationMatchCode: address(0), - rebalance: curDetails.rebalance, - splitToLiquid: curDetails.splitToLiquid, + donationMatchContract: address(0), + // rebalance: details.rebalance, + splitToLiquid: details.splitToLiquid, haloToken: address(0), haloTokenLpContract: address(0), govContract: address(0), donationMatchCharitesContract: address(0), donationMatchEmitter: address(0), - collectorAddr: address(0), collectorShare: 50, charitySharesContract: address(0), - acceptedTokens: curDetails.acceptedTokens, + // acceptedTokens: details.acceptedTokens, fundraisingContract: address(0), swapsRouter: address(0), multisigFactory: address(0), @@ -162,34 +75,32 @@ contract Registrar is Storage, ReentrancyGuard { }); emit UpdateRegistrarConfig(state.config); - // TODO change how decimals are represented - state.FEES["vault_harvest"] = curDetails.taxRate; - // TODO this is not 2 percent this should be 0.2 percent - state.FEES["accounts_withdraw"] = 2; - string[] memory feeKeys = new string[](2); - feeKeys[0] = "vault_harvest"; - feeKeys[1] = "accounts_withdraw"; - - uint256[] memory feeValues = new uint256[](2); - feeValues[0] = curDetails.taxRate; - feeValues[1] = 2; - emit UpdateRegistrarFees( - RegistrarMessages.UpdateFeeRequest({ - keys: feeKeys, - values: feeValues - }) - ); + // TODO everything about FEEs is rently broken. The rates are wrong and they arent unified with + // the way we can track basis points for clean division. Rework needed + // state.FEES["accounts_withdraw"] = 2; + // string[] memory feeKeys = new string[](2); + // feeKeys[0] = "vault_harvest"; + // feeKeys[1] = "accounts_withdraw"; + + // uint256[] memory feeValues = new uint256[](2); + // feeValues[0] = details.taxRate; + // feeValues[1] = 2; + // emit UpdateRegistrarFees( + // RegistrarMessages.UpdateFeeRequest({ + // keys: feeKeys, + // values: feeValues + // }) + // ); - //TODO: we cannot specify polygon chain id to ethereum chain id state.NETWORK_CONNECTIONS[block.chainid] = AngelCoreStruct.NetworkInfo({ name: "Polygon", chainId: block.chainid, ibcChannel: "", transferChannel: "", - gasReceiver: address(0), + gasReceiver: details.axelarGasRecv, gasLimit: 0, - router: curDetails.router, - axelerGateway: curDetails.axelerGateway + router: details.router, + axelarGateway: details.axelarGateway }); emit PostNetworkConnection( block.chainid, @@ -202,267 +113,153 @@ contract Registrar is Storage, ReentrancyGuard { /** * @notice update config function for the contract * @dev update config function for the contract - * @param curDetails details for the contract + * @param details details for the contract */ function updateConfig( - RegistrarMessages.UpdateConfigRequest memory curDetails + RegistrarMessages.UpdateConfigRequest memory details ) public onlyOwner nonReentrant { // Set applications review - if (Validator.addressChecker(curDetails.applicationsReview)) { - state.config.applicationsReview = curDetails.applicationsReview; + if (Validator.addressChecker(details.applicationsReview)) { + state.config.applicationsReview = details.applicationsReview; } - if (Validator.addressChecker(curDetails.accountsContract)) { - state.config.accountsContract = curDetails.accountsContract; + if (Validator.addressChecker(details.accountsContract)) { + state.config.accountsContract = details.accountsContract; } - if (Validator.addressChecker(curDetails.swapsRouter)) { - state.config.swapsRouter = curDetails.swapsRouter; + if (Validator.addressChecker(details.swapsRouter)) { + state.config.swapsRouter = details.swapsRouter; } - if (Validator.addressChecker(curDetails.charitySharesContract)) { - state.config.charitySharesContract = curDetails + if (Validator.addressChecker(details.charitySharesContract)) { + state.config.charitySharesContract = details .charitySharesContract; } - if (Validator.addressChecker(curDetails.indexFundContract)) { - state.config.indexFundContract = curDetails.indexFundContract; + if (Validator.addressChecker(details.indexFundContract)) { + state.config.indexFundContract = details.indexFundContract; } - if (Validator.addressChecker(curDetails.treasury)) { - state.config.treasury = curDetails.treasury; + if (Validator.addressChecker(details.treasury)) { + state.config.treasury = details.treasury; } - require(curDetails.taxRate <= 100, "E06"); //Invalid tax rate input - // change taxRate from optional to required field because theres no way to map default value to tax rate - // since this is an update call, frontend will always send rebalance details - state.config.rebalance = curDetails.rebalance; + // require(details.taxRate <= 100, "E06"); //Invalid tax rate input + // // change taxRate from optional to required field because theres no way to map default value to tax rate + // // since this is an update call, frontend will always send rebalance details + // state.config.rebalance = details.rebalance; // check splits - require(curDetails.splitMax <= 100, "E07"); //Invalid Max Split Input - require(curDetails.splitMin < 100, "E08"); //Invalid Min Split Input - require(curDetails.splitDefault <= 100, "E09"); //Invalid Default Split Input - AngelCoreStruct.SplitDetails memory split_details = AngelCoreStruct .SplitDetails({ - max: curDetails.splitMax, - min: curDetails.splitMin, - defaultSplit: curDetails.splitDefault + max: details.splitMax, + min: details.splitMin, + defaultSplit: details.splitDefault }); - if (Validator.splitChecker(split_details)) { - state.config.splitToLiquid = split_details; - } else { - revert("e10"); //Invalid Split Details Supplied - } + require(Validator.splitChecker(split_details), "Invalid Splits"); + state.config.splitToLiquid = split_details; if ( - Validator.addressChecker(curDetails.donationMatchCharitesContract) + Validator.addressChecker(details.donationMatchCharitesContract) ) { - state.config.donationMatchCharitesContract = curDetails + state.config.donationMatchCharitesContract = details .donationMatchCharitesContract; } - if (Validator.addressChecker(curDetails.donationMatchEmitter)) { - state.config.donationMatchEmitter = curDetails.donationMatchEmitter; + if (Validator.addressChecker(details.donationMatchEmitter)) { + state.config.donationMatchEmitter = details.donationMatchEmitter; } - // TODO Accepted token set - - state.config.acceptedTokens = curDetails.acceptedTokens; + // state.config.acceptedTokens = details.acceptedTokens; - if (Validator.addressChecker(curDetails.fundraisingContract)) { - state.config.fundraisingContract = curDetails.fundraisingContract; + if (Validator.addressChecker(details.fundraisingContract)) { + state.config.fundraisingContract = details.fundraisingContract; } - // TODO send update config message to collector contract - // state.config.collectorAddr - // TODO update decimal logic - if (curDetails.collectorShare != 0) { - state.config.collectorShare = curDetails.collectorShare; + if (details.collectorShare != 0) { + state.config.collectorShare = details.collectorShare; } - if (Validator.addressChecker(curDetails.govContract)) { - state.config.govContract = curDetails.govContract; + if (Validator.addressChecker(details.govContract)) { + state.config.govContract = details.govContract; } - if (Validator.addressChecker(curDetails.subdaoGovCode)) { - state.config.subdaoGovCode = curDetails.subdaoGovCode; + if (Validator.addressChecker(details.subdaoGovContract)) { + state.config.subdaoGovContract = details.subdaoGovContract; } - if (Validator.addressChecker(curDetails.subdaoBondingTokenCode)) { - state.config.subdaoBondingTokenCode = curDetails - .subdaoBondingTokenCode; + if (Validator.addressChecker(details.subdaoBondingTokenContract)) { + state.config.subdaoBondingTokenContract = details + .subdaoBondingTokenContract; } - if (Validator.addressChecker(curDetails.subdaoCw20TokenCode)) { - state.config.subdaoCw20TokenCode = curDetails.subdaoCw20TokenCode; + if (Validator.addressChecker(details.subdaoTokenContract)) { + state.config.subdaoTokenContract = details.subdaoTokenContract; } - if (Validator.addressChecker(curDetails.subdaoCw900Code)) { - state.config.subdaoCw900Code = curDetails.subdaoCw900Code; + if (Validator.addressChecker(details.subdaoCw900Contract)) { + state.config.subdaoCw900Contract = details.subdaoCw900Contract; } - if (Validator.addressChecker(curDetails.subdaoDistributorCode)) { - state.config.subdaoDistributorCode = curDetails - .subdaoDistributorCode; + if (Validator.addressChecker(details.subdaoDistributorContract)) { + state.config.subdaoDistributorContract = details + .subdaoDistributorContract; } - if (Validator.addressChecker(curDetails.subdaoEmitter)) { - state.config.subdaoEmitter = curDetails.subdaoEmitter; + if (Validator.addressChecker(details.subdaoEmitter)) { + state.config.subdaoEmitter = details.subdaoEmitter; } - if (Validator.addressChecker(curDetails.donationMatchCode)) { - state.config.donationMatchCode = curDetails.donationMatchCode; + if (Validator.addressChecker(details.donationMatchContract)) { + state.config.donationMatchContract = details.donationMatchContract; } - if (Validator.addressChecker(curDetails.haloToken)) { - state.config.haloToken = curDetails.haloToken; + if (Validator.addressChecker(details.haloToken)) { + state.config.haloToken = details.haloToken; } - if (Validator.addressChecker(curDetails.haloTokenLpContract)) { - state.config.haloTokenLpContract = curDetails.haloTokenLpContract; + if (Validator.addressChecker(details.haloTokenLpContract)) { + state.config.haloTokenLpContract = details.haloTokenLpContract; } - if (Validator.addressChecker(curDetails.multisigEmitter)) { - state.config.multisigEmitter = curDetails.multisigEmitter; + if (Validator.addressChecker(details.multisigEmitter)) { + state.config.multisigEmitter = details.multisigEmitter; } - if (Validator.addressChecker(curDetails.multisigFactory)) { - state.config.multisigFactory = curDetails.multisigFactory; + if (Validator.addressChecker(details.multisigFactory)) { + state.config.multisigFactory = details.multisigFactory; } - if (Validator.addressChecker(curDetails.charityProposal)) { - state.config.charityProposal = curDetails.charityProposal; + if (Validator.addressChecker(details.charityProposal)) { + state.config.charityProposal = details.charityProposal; } - if (Validator.addressChecker(curDetails.lockedWithdrawal)) { - state.config.lockedWithdrawal = curDetails.lockedWithdrawal; + if (Validator.addressChecker(details.lockedWithdrawal)) { + state.config.lockedWithdrawal = details.lockedWithdrawal; } - if (Validator.addressChecker(curDetails.proxyAdmin)) { - state.config.proxyAdmin = curDetails.proxyAdmin; + if (Validator.addressChecker(details.proxyAdmin)) { + state.config.proxyAdmin = details.proxyAdmin; } - if (Validator.addressChecker(curDetails.usdcAddress)) { - state.config.usdcAddress = curDetails.usdcAddress; + if (Validator.addressChecker(details.usdcAddress)) { + state.config.usdcAddress = details.usdcAddress; } - if (Validator.addressChecker(curDetails.wethAddress)) { - state.config.wethAddress = curDetails.wethAddress; + if (Validator.addressChecker(details.wethAddress)) { + state.config.wethAddress = details.wethAddress; } - if (Validator.addressChecker(curDetails.cw900lvAddress)) { - state.config.cw900lvAddress = curDetails.cw900lvAddress; + if (Validator.addressChecker(details.cw900lvAddress)) { + state.config.cw900lvAddress = details.cw900lvAddress; } // state.config.acceptedTokens = AngelCoreStruct.AcceptedTokens({ - // native: curDetails.accepted_tokens_native, - // cw20: curDetails.accepted_tokens_cw20 + // native: details.accepted_tokens_native, + // cw20: details.accepted_tokens_cw20 // }); emit UpdateRegistrarConfig(state.config); } - - /** - * @dev Update the owner of the registrar - * @param newOwner The new owner of the registrar - */ - function updateOwner(address newOwner) public nonReentrant onlyOwner { - require(Validator.addressChecker(newOwner), "Invalid New Owner"); - - state.config.owner = newOwner; - emit UpdateRegistrarOwner(newOwner); - } - - function updateFees( - RegistrarMessages.UpdateFeeRequest memory curDetails - ) public nonReentrant onlyOwner { - require( - curDetails.keys.length == curDetails.values.length, - "Invalid input" - ); - - for (uint256 i = 0; i < curDetails.keys.length; i++) { - require(curDetails.values[i] < 100, "invalid percentage value"); - state.FEES[curDetails.keys[i]] = curDetails.values[i]; - } - emit UpdateRegistrarFees(curDetails); - } - - /** - * @dev Add a new vault to the registrar - * @param curDetails The details of the vault to add - */ - function vaultAdd( - RegistrarMessages.VaultAddRequest memory curDetails - ) public nonReentrant onlyOwner { - - uint256 vaultNetwork; - if (curDetails.network == 0) { - vaultNetwork = block.chainid; - } else { - vaultNetwork = curDetails.network; - } - - if (!(Validator.addressChecker(curDetails.yieldToken))) { - revert("Failed to validate yield token address"); - } - - state.VAULTS[curDetails.stratagyName] = AngelCoreStruct.YieldVault({ - network: vaultNetwork, - addr: curDetails.stratagyName, - inputDenom: curDetails.inputDenom, - yieldToken: curDetails.yieldToken, - approved: true, - restrictedFrom: curDetails.restrictedFrom, - acctType: curDetails.acctType, - vaultType: curDetails.vaultType - }); - state.VAULT_POINTERS.push(curDetails.stratagyName); - emit AddVault( - curDetails.stratagyName, - state.VAULTS[curDetails.stratagyName] - ); - } - - /** - * @dev Remove a vault from the registrar - * @param _stratagyName The name of the vault to remove - */ - function vaultRemove(string memory _stratagyName) public nonReentrant onlyOwner { - - delete state.VAULTS[_stratagyName]; - uint256 delIndex; - bool indexFound; - (delIndex, indexFound) = StringArray.stringIndexOf( - state.VAULT_POINTERS, - _stratagyName - ); - - if (indexFound) { - state.VAULT_POINTERS = StringArray.stringRemove( - state.VAULT_POINTERS, - delIndex - ); - } - emit RemoveVault(_stratagyName); - } - - /** - * @dev Update a vault in the registrar - * @param _stratagyName The name of the vault to update - * @param curApproved Whether the vault is approved or not - * @param curRestrictedfrom The list of endowments that are restricted from using this vault - */ - function vaultUpdate( - string memory _stratagyName, - bool curApproved, - AngelCoreStruct.EndowmentType[] memory curRestrictedfrom - ) public nonReentrant onlyOwner { - - state.VAULTS[_stratagyName].approved = curApproved; - state.VAULTS[_stratagyName].restrictedFrom = curRestrictedfrom; - emit UpdateVault(_stratagyName, curApproved, curRestrictedfrom); - } - + /** * @dev update network connections in the registrar * @param networkInfo The network info to update @@ -483,6 +280,17 @@ contract Registrar is Storage, ReentrancyGuard { revert("Invalid inputs"); } } + + /** + * @dev Query the network connection in registrar + * @param chainId The chain id of the network to query + * @return response The network connection + */ + function queryNetworkConnection( + uint256 chainId + ) public view returns (AngelCoreStruct.NetworkInfo memory response) { + response = state.NETWORK_CONNECTIONS[chainId]; + } // Query functions for contract @@ -497,162 +305,305 @@ contract Registrar is Storage, ReentrancyGuard { { return state.config; } + + function updateFees( + RegistrarMessages.UpdateFeeRequest memory details + ) public nonReentrant onlyOwner { + require( + details.keys.length == details.values.length, + "Invalid input" + ); + for (uint256 i = 0; i < details.keys.length; i++) { + require(details.values[i] < AngelCoreStruct.FEE_BASIS, "invalid fee value"); + state.FEES[details.keys[i]] = details.values[i]; + } + emit UpdateRegistrarFees(details); + } + /** - * @dev Query the vaults in the registrar - * @param network The network to query - * @param endowmentType The endowment type to query - * @param accountType The account type to query - * @param vaultType The vault type to query - * @param approved Whether the vault is approved or not - * @param startAfter The index to start the query from - * @param limit The number of vaults to return - * @return The list of vaults + * @dev Query the fee in registrar + * @param name The name of the fee to query + * @return response The fee */ - function queryVaultListDep( - uint256 network, - AngelCoreStruct.EndowmentType endowmentType, - AngelCoreStruct.AccountType accountType, - AngelCoreStruct.VaultType vaultType, - AngelCoreStruct.BoolOptional approved, - uint256 startAfter, - uint256 limit - ) public view returns (AngelCoreStruct.YieldVault[] memory) { - uint256 lengthResponse = 0; - if (limit != 0) { - lengthResponse = limit; - } else { - lengthResponse = state.VAULT_POINTERS.length; - } - AngelCoreStruct.YieldVault[] - memory response = new AngelCoreStruct.YieldVault[](lengthResponse); - - if (startAfter >= state.VAULT_POINTERS.length) { - revert("Invalid start value"); - } - - for (uint256 i = startAfter; i < state.VAULT_POINTERS.length; i++) { - //check filters here - if ( - RegistrarLib.filterVault( - state.VAULTS[state.VAULT_POINTERS[i]], - network, - endowmentType, - accountType, - vaultType, - approved - ) - ) { - response[i] = state.VAULTS[state.VAULT_POINTERS[i]]; - } + function queryFee( + string memory name + ) public view returns (uint256 response) { + response = state.FEES[name]; + } - if (limit != 0) { - if (response.length == limit) { - break; - } - } + // STRATEGY ARRAY HANDLING + function queryAllStrategies() view external returns (bytes4[] memory allStrategies) { + allStrategies = new bytes4[](state.STRATEGIES.length); + for(uint256 i; i < allStrategies.length; i++) { + allStrategies[i] = state.STRATEGIES[i]; } - return response; } - /** - * @dev Query the vaults in the registrar - * @param network The network to query - * @param endowmentType The endowment type to query - * @param accountType The account type to query - * @param vaultType The vault type to query - * @param approved Whether the vault is approved or not - * @param startAfter The index to start the query from - * @param limit The number of vaults to return - * @return The list of vaults - */ - function queryVaultList( - uint256 network, - AngelCoreStruct.EndowmentType endowmentType, - AngelCoreStruct.AccountType accountType, - AngelCoreStruct.VaultType vaultType, - AngelCoreStruct.BoolOptional approved, - uint256 startAfter, - uint256 limit - ) public view returns (AngelCoreStruct.YieldVault[] memory) { - uint256 lengthResponse = 0; - - if (limit != 0) { - lengthResponse = limit; - } else { - lengthResponse = state.VAULT_POINTERS.length; - } - - AngelCoreStruct.YieldVault[] - memory response = new AngelCoreStruct.YieldVault[](lengthResponse); - - if (startAfter >= state.VAULT_POINTERS.length) { - revert("Invalid start value"); - } - - uint256 count = 0; - string[] memory indexArr = new string[](state.VAULT_POINTERS.length); - - for (uint256 i = startAfter; i < state.VAULT_POINTERS.length; i++) { - //check filters here - if ( - RegistrarLib.filterVault( - state.VAULTS[state.VAULT_POINTERS[i]], - network, - endowmentType, - accountType, - vaultType, - approved - ) - ) { - response[i] = state.VAULTS[state.VAULT_POINTERS[i]]; - indexArr[count] = state.VAULT_POINTERS[i]; - count++; - } + function setStrategyParams( + bytes4 _strategyId, + address _lockAddr, + address _liqAddr, + LocalRegistrarLib.StrategyApprovalState _approvalState + ) public override onlyOwner { + if (_approvalState == LocalRegistrarLib.StrategyApprovalState.DEPRECATED) { + _removeStrategy(_strategyId); } - - AngelCoreStruct.YieldVault[] - memory responseFinal = new AngelCoreStruct.YieldVault[](count); - - for (uint256 i = 0; i < count; i++) { - responseFinal[i] = state.VAULTS[indexArr[i]]; + else { + _maybeAddStrategy(_strategyId); } - - return responseFinal; + super.setStrategyParams(_strategyId, _lockAddr, _liqAddr, _approvalState); } - /** - * @dev Query the vaults in the registrar - * @param _stratagyName The name of the vault to query - * @return response The vault - */ - function queryVaultDetails( - string memory _stratagyName - ) public view returns (AngelCoreStruct.YieldVault memory response) { - response = state.VAULTS[_stratagyName]; + function setStrategyApprovalState(bytes4 _strategyId, LocalRegistrarLib.StrategyApprovalState _approvalState) + public + override + onlyOwner + { + if (_approvalState == LocalRegistrarLib.StrategyApprovalState.DEPRECATED) { + _removeStrategy(_strategyId); + } + super.setStrategyApprovalState(_strategyId, _approvalState); } - /** - * @dev Query the network connection in registrar - * @param chainId The chain id of the network to query - * @return response The network connection - */ - function queryNetworkConnection( - uint256 chainId - ) public view returns (AngelCoreStruct.NetworkInfo memory response) { - response = state.NETWORK_CONNECTIONS[chainId]; + function _maybeAddStrategy(bytes4 _strategyId) internal { + bool inList; + for (uint256 i = 0; i < state.STRATEGIES.length; i++) { + if (state.STRATEGIES[i] == _strategyId) { + inList = true; + } + } + if (!inList) { + state.STRATEGIES.push(_strategyId); + } } - /** - * @dev Query the fee in registrar - * @param name The name of the fee to query - * @return response The fee - */ - function queryFee( - string memory name - ) public view returns (uint256 response) { - response = state.FEES[name]; + function _removeStrategy(bytes4 _strategyId) internal { + uint256 delIndex; + bool indexFound; + for (uint256 i = 0; i < state.STRATEGIES.length; i++) { + if (state.STRATEGIES[i] == _strategyId) { + delIndex = i; + indexFound =true; + break; + } + } + if (indexFound) { + state.STRATEGIES[delIndex] = state.STRATEGIES[state.STRATEGIES.length - 1]; + state.STRATEGIES.pop(); + } } + + // /** + // * @dev Add a new vault to the registrar + // * @param details The details of the vault to add + // */ + // function vaultAdd( + // RegistrarMessages.VaultAddRequest memory details + // ) public nonReentrant onlyOwner { + + // uint256 vaultNetwork; + // if (details.network == 0) { + // vaultNetwork = block.chainid; + // } else { + // vaultNetwork = details.network; + // } + + // if (!(Validator.addressChecker(details.yieldToken))) { + // revert("Failed to validate yield token address"); + // } + + // state.VAULTS[details.stratagyName] = AngelCoreStruct.YieldVault({ + // network: vaultNetwork, + // addr: details.stratagyName, + // inputDenom: details.inputDenom, + // yieldToken: details.yieldToken, + // approved: true, + // restrictedFrom: details.restrictedFrom, + // acctType: details.acctType, + // vaultType: details.vaultType + // }); + // state.VAULT_POINTERS.push(details.stratagyName); + // emit AddVault( + // details.stratagyName, + // state.VAULTS[details.stratagyName] + // ); + // } + + // /** + // * @dev Remove a vault from the registrar + // * @param _stratagyName The name of the vault to remove + // */ + // function vaultRemove(string memory _stratagyName) public nonReentrant onlyOwner { + + // delete state.VAULTS[_stratagyName]; + // uint256 delIndex; + // bool indexFound; + // (delIndex, indexFound) = StringArray.stringIndexOf( + // state.VAULT_POINTERS, + // _stratagyName + // ); + + // if (indexFound) { + // state.VAULT_POINTERS = StringArray.stringRemove( + // state.VAULT_POINTERS, + // delIndex + // ); + // } + // emit RemoveVault(_stratagyName); + // } + + // /** + // * @dev Update a vault in the registrar + // * @param _stratagyName The name of the vault to update + // * @param approved Whether the vault is approved or not + // * @param restrictedfrom The list of endowments that are restricted from using this vault + // */ + // function vaultUpdate( + // string memory _stratagyName, + // bool approved, + // AngelCoreStruct.EndowmentType[] memory restrictedfrom + // ) public nonReentrant onlyOwner { + + // state.VAULTS[_stratagyName].approved = approved; + // state.VAULTS[_stratagyName].restrictedFrom = restrictedfrom; + // emit UpdateVault(_stratagyName, approved, restrictedfrom); + // } + + // /** + // * @dev Query the vaults in the registrar + // * @param network The network to query + // * @param endowmentType The endowment type to query + // * @param accountType The account type to query + // * @param vaultType The vault type to query + // * @param approved Whether the vault is approved or not + // * @param startAfter The index to start the query from + // * @param limit The number of vaults to return + // * @return The list of vaults + // */ + // function queryVaultListDep( + // uint256 network, + // AngelCoreStruct.EndowmentType endowmentType, + // AngelCoreStruct.AccountType accountType, + // AngelCoreStruct.VaultType vaultType, + // AngelCoreStruct.BoolOptional approved, + // uint256 startAfter, + // uint256 limit + // ) public view returns (AngelCoreStruct.YieldVault[] memory) { + // uint256 lengthResponse = 0; + // if (limit != 0) { + // lengthResponse = limit; + // } else { + // lengthResponse = state.VAULT_POINTERS.length; + // } + // AngelCoreStruct.YieldVault[] + // memory response = new AngelCoreStruct.YieldVault[](lengthResponse); + + // if (startAfter >= state.VAULT_POINTERS.length) { + // revert("Invalid start value"); + // } + + // for (uint256 i = startAfter; i < state.VAULT_POINTERS.length; i++) { + // //check filters here + // if ( + // RegistrarLib.filterVault( + // state.VAULTS[state.VAULT_POINTERS[i]], + // network, + // endowmentType, + // accountType, + // vaultType, + // approved + // ) + // ) { + // response[i] = state.VAULTS[state.VAULT_POINTERS[i]]; + // } + + // if (limit != 0) { + // if (response.length == limit) { + // break; + // } + // } + // } + // return response; + // } + + // /** + // * @dev Query the vaults in the registrar + // * @param network The network to query + // * @param endowmentType The endowment type to query + // * @param accountType The account type to query + // * @param vaultType The vault type to query + // * @param approved Whether the vault is approved or not + // * @param startAfter The index to start the query from + // * @param limit The number of vaults to return + // * @return The list of vaults + // */ + // function queryVaultList( + // uint256 network, + // AngelCoreStruct.EndowmentType endowmentType, + // AngelCoreStruct.AccountType accountType, + // AngelCoreStruct.VaultType vaultType, + // AngelCoreStruct.BoolOptional approved, + // uint256 startAfter, + // uint256 limit + // ) public view returns (AngelCoreStruct.YieldVault[] memory) { + // uint256 lengthResponse = 0; + + // if (limit != 0) { + // lengthResponse = limit; + // } else { + // lengthResponse = state.VAULT_POINTERS.length; + // } + + // AngelCoreStruct.YieldVault[] + // memory response = new AngelCoreStruct.YieldVault[](lengthResponse); + + // if (startAfter >= state.VAULT_POINTERS.length) { + // revert("Invalid start value"); + // } + + // uint256 count = 0; + // string[] memory indexArr = new string[](state.VAULT_POINTERS.length); + + // for (uint256 i = startAfter; i < state.VAULT_POINTERS.length; i++) { + // //check filters here + // if ( + // RegistrarLib.filterVault( + // state.VAULTS[state.VAULT_POINTERS[i]], + // network, + // endowmentType, + // accountType, + // vaultType, + // approved + // ) + // ) { + // response[i] = state.VAULTS[state.VAULT_POINTERS[i]]; + // indexArr[count] = state.VAULT_POINTERS[i]; + // count++; + // } + // } + + // AngelCoreStruct.YieldVault[] + // memory responseFinal = new AngelCoreStruct.YieldVault[](count); + + // for (uint256 i = 0; i < count; i++) { + // responseFinal[i] = state.VAULTS[indexArr[i]]; + // } + + // return responseFinal; + // } + + // /** + // * @dev Query the vaults in the registrar + // * @param _stratagyName The name of the vault to query + // * @return response The vault + // */ + // function queryVaultDetails( + // string memory _stratagyName + // ) public view returns (AngelCoreStruct.YieldVault memory response) { + // response = state.VAULTS[_stratagyName]; + // } + // returns true if the vault satisfies the given conditions } diff --git a/contracts/core/registrar/scripts/deploy.ts b/contracts/core/registrar/scripts/deploy.ts index 99d6423b4..3833dd4dc 100644 --- a/contracts/core/registrar/scripts/deploy.ts +++ b/contracts/core/registrar/scripts/deploy.ts @@ -1,14 +1,10 @@ // This is a script for deploying your contracts. You can adapt it to deploy // yours, or create new ones. -import path from 'path' -import config from 'config' -import { saveFrontendFiles } from 'scripts/readWriteFile' +import { updateAddresses } from "utils" import { HardhatRuntimeEnvironment } from 'hardhat/types' import { RegistrarMessages } from "typechain-types/contracts/core/registrar/registrar.sol/Registrar" -const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000'; - export async function deployRegistrar(STRING_LIBRARY: string,registrarData: RegistrarMessages.InstantiateRequestStruct,verify_contracts: boolean, hre: HardhatRuntimeEnvironment) { try { @@ -19,17 +15,11 @@ export async function deployRegistrar(STRING_LIBRARY: string,registrarData: Regi // const [deployer] = await ethers.getSigners(); // Deploy registrar implementation first - const registrarLib = await ethers.getContractFactory('RegistrarLib'); - const registrarLibInstance = await registrarLib.deploy(); - await registrarLibInstance.deployed(); + // const registrarLib = await ethers.getContractFactory('RegistrarLib'); + // const registrarLibInstance = await registrarLib.deploy(); + // await registrarLibInstance.deployed(); - const Registrar = await ethers.getContractFactory('Registrar', - { - libraries: { - StringArray: STRING_LIBRARY, - RegistrarLib: registrarLibInstance.address - } - }); + const Registrar = await ethers.getContractFactory('Registrar') const registrarImplementation = await Registrar.deploy(); await registrarImplementation.deployed(); @@ -40,7 +30,10 @@ export async function deployRegistrar(STRING_LIBRARY: string,registrarData: Regi // Initialise registrar - const registrarProxyData = registrarImplementation.interface.encodeFunctionData('initialize', [registrarData]); + const registrarProxyData = registrarImplementation.interface.encodeFunctionData( + "initialize((address,(uint256,uint256,uint256),address,address,address))", + [registrarData] + ); const registrarProxy = await ProxyContract.deploy(registrarImplementation.address, proxyAdmin.address, registrarProxyData); @@ -57,12 +50,15 @@ export async function deployRegistrar(STRING_LIBRARY: string,registrarData: Regi }); } - let registrar = { - registrarImplementation: registrarImplementation.address, - registrarProxy: registrarProxy.address - }; - - await saveFrontendFiles({registrar}); + await updateAddresses( + { + registrar: { + implementation: registrarImplementation.address, + proxy: registrarProxy.address + } + }, + hre + ); console.log('Registrar Address (Proxy):', registrarProxy.address); diff --git a/contracts/core/registrar/storage.sol b/contracts/core/registrar/storage.sol index 4033cb1f4..206166ad7 100644 --- a/contracts/core/registrar/storage.sol +++ b/contracts/core/registrar/storage.sol @@ -5,19 +5,18 @@ import {AngelCoreStruct} from "../struct.sol"; library RegistrarStorage { struct Config { - address owner; // AP TEAM MULTISIG //Application review multisig - address applicationsReview; // Endowment application review team's CW3 (set as owner to start). Owner can set and change/revoke. + address applicationsReview; // Endowment application review team's multisig (set as owner to start). Owner can set and change/revoke. address indexFundContract; address accountsContract; address treasury; - address subdaoGovCode; // subdao gov wasm code - address subdaoCw20TokenCode; // subdao gov cw20 token wasm code - address subdaoBondingTokenCode; // subdao gov bonding curve token wasm code - address subdaoCw900Code; // subdao gov ve-CURVE contract for locked token voting - address subdaoDistributorCode; // subdao gov fee distributor wasm code + address subdaoGovContract; // subdao gov wasm code + address subdaoTokenContract; // subdao gov cw20 token wasm code + address subdaoBondingTokenContract; // subdao gov bonding ve token wasm code + address subdaoCw900Contract; // subdao gov ve-vE contract for locked token voting + address subdaoDistributorContract; // subdao gov fee distributor wasm code address subdaoEmitter; - address donationMatchCode; // donation matching contract wasm code + address donationMatchContract; // donation matching contract wasm code address donationMatchCharitesContract; // donation matching contract address for "Charities" endowments address donationMatchEmitter; AngelCoreStruct.SplitDetails splitToLiquid; // set of max, min, and default Split paramenters to check user defined split input against @@ -25,13 +24,12 @@ library RegistrarStorage { address haloToken; // TerraSwap HALO token addr address haloTokenLpContract; address govContract; // AP governance contract - address collectorAddr; // Collector address for new fee //SHARED uint256 collectorShare; address charitySharesContract; - AngelCoreStruct.AcceptedTokens acceptedTokens; // list of approved native and CW20 coins can accept inward + // AngelCoreStruct.AcceptedTokens acceptedTokens; // list of approved native and CW20 coins can accept inward //PROTOCOL LEVEL address fundraisingContract; - AngelCoreStruct.RebalanceDetails rebalance; + // AngelCoreStruct.RebalanceDetails rebalance; address swapsRouter; address multisigFactory; address multisigEmitter; @@ -45,14 +43,12 @@ library RegistrarStorage { struct State { Config config; - mapping(string => AngelCoreStruct.YieldVault) VAULTS; - string[] VAULT_POINTERS; + bytes4[] STRATEGIES; + mapping(string => uint256) FEES; mapping(uint256 => AngelCoreStruct.NetworkInfo) NETWORK_CONNECTIONS; - mapping(string => uint256) FEES; // SHARED } } contract Storage { RegistrarStorage.State state; - bool initilized = false; } diff --git a/contracts/core/router/IRouter.sol b/contracts/core/router/IRouter.sol index 4a899a99e..bdfcafb01 100644 --- a/contracts/core/router/IRouter.sol +++ b/contracts/core/router/IRouter.sol @@ -5,7 +5,7 @@ pragma solidity >=0.8.0; import {IAxelarExecutable} from "@axelar-network/axelar-gmp-sdk-solidity/contracts/interfaces/IAxelarExecutable.sol"; import {IVault} from "../../interfaces/IVault.sol"; -abstract contract IRouter is IAxelarExecutable { +interface IRouter is IAxelarExecutable { /*//////////////////////////////////////////////// EVENTS *///////////////////////////////////////////////// @@ -40,66 +40,27 @@ abstract contract IRouter is IAxelarExecutable { address token; uint256 lockAmt; uint256 liqAmt; + VaultActionStatus status; } - - /*//////////////////////////////////////////////// - METHODS - *///////////////////////////////////////////////// - - // Internal data packing methods - function _unpackCalldata(bytes memory _calldata) - internal - virtual - returns (VaultActionData memory) - { - ( - string memory destinationChain, - bytes4 strategyId, - bytes4 selector, - uint32[] memory accountIds, - address token, - uint256 lockAmt, - uint256 liqAmt - ) = abi.decode( - _calldata, - (string, bytes4, bytes4, uint32[], address, uint256, uint256) - ); - - return - VaultActionData( - destinationChain, - strategyId, - selector, - accountIds, - token, - lockAmt, - liqAmt - ); + enum VaultActionStatus { + UNPROCESSED, // INIT state + SUCCESS, // Ack + POSITION_EXITED, // Position fully exited + FAIL_TOKENS_RETURNED, // Tokens returned to accounts contract + FAIL_TOKENS_FALLBACK // Tokens failed to be returned to accounts contract } - function _packCallData(VaultActionData memory _calldata) - internal - virtual - returns (bytes memory) - { - return - abi.encode( - _calldata.destinationChain, - _calldata.strategyId, - _calldata.selector, - _calldata.accountIds, - _calldata.token, - _calldata.lockAmt, - _calldata.liqAmt - ); + struct RedemptionResponse { + uint256 amount; + VaultActionStatus status; } function executeLocal( string calldata sourceChain, string calldata sourceAddress, bytes calldata payload - ) external virtual returns (VaultActionData memory); + ) external returns (VaultActionData memory); function executeWithTokenLocal( string calldata sourceChain, @@ -107,5 +68,5 @@ abstract contract IRouter is IAxelarExecutable { bytes calldata payload, string calldata tokenSymbol, uint256 amount - ) external virtual returns (VaultActionData memory); + ) external returns (VaultActionData memory); } diff --git a/contracts/core/router/README.md b/contracts/core/router/README.md new file mode 100644 index 000000000..6fdcaf21e --- /dev/null +++ b/contracts/core/router/README.md @@ -0,0 +1,6 @@ + +## Architecture +This Router architecture allows an Angel Protocol deployed Router to act as an intermediary between the Accounts contract and Angel Protocol yield integrations. It supports interfacing with cross-chain yield solutions via the Axelar GMP. The Router is deployed as an upgradable proxies and is manageable by a single, specified Owner/Admin account. + +### Router +![router](https://user-images.githubusercontent.com/84420280/217927446-36e6ebe0-13ed-4e7a-aff5-00250bb4ac25.png) \ No newline at end of file diff --git a/contracts/core/router/Router.sol b/contracts/core/router/Router.sol index 326ab2933..3df74e218 100644 --- a/contracts/core/router/Router.sol +++ b/contracts/core/router/Router.sol @@ -3,10 +3,11 @@ pragma solidity >=0.8.8; import {IRouter} from "./IRouter.sol"; +import {RouterLib} from "./RouterLib.sol"; import {IVault} from "../../interfaces/IVault.sol"; import {IVaultLiquid} from "../../interfaces/IVaultLiquid.sol"; import {IVaultLocked} from "../../interfaces/IVaultLocked.sol"; -import {ILocalRegistrar} from "../registrar/interface/ILocalRegistrar.sol"; +import {ILocalRegistrar} from "../registrar/interfaces/ILocalRegistrar.sol"; import {LocalRegistrarLib} from "../registrar/lib/LocalRegistrarLib.sol"; import {StringToAddress} from "../../lib/StringAddressUtils.sol"; import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol"; @@ -177,7 +178,7 @@ contract Router is IRouter, OwnableUpgradeable, AxelarExecutable { IVaultLiquid liquidVault = IVaultLiquid(_params.Liquid.vaultAddr); // Redeem tokens from vaults which sends them from the vault to this contract - uint256 _redeemedLockAmt = lockedVault.redeem( + RedemptionResponse memory _redemptionLock = lockedVault.redeem( _action.accountIds[0], _action.token, _action.lockAmt @@ -186,11 +187,11 @@ contract Router is IRouter, OwnableUpgradeable, AxelarExecutable { IERC20Metadata(_action.token).transferFrom( _params.Locked.vaultAddr, address(this), - _redeemedLockAmt + _redemptionLock.amount ) ); - uint256 _redeemedLiqAmt = liquidVault.redeem( + RedemptionResponse memory _redemptionLiquid = liquidVault.redeem( _action.accountIds[0], _action.token, _action.liqAmt @@ -199,16 +200,23 @@ contract Router is IRouter, OwnableUpgradeable, AxelarExecutable { IERC20Metadata(_action.token).transferFrom( _params.Liquid.vaultAddr, address(this), - _redeemedLiqAmt + _redemptionLiquid.amount ) ); - // Pack and send the tokens back through GMP - uint256 _redeemedAmt = _redeemedLockAmt + _redeemedLiqAmt; - _action.lockAmt = _redeemedLockAmt; - _action.liqAmt = _redeemedLiqAmt; + // Pack and send the tokens back to Accounts contract + uint256 _redeemedAmt = _redemptionLock.amount + _redemptionLiquid.amount; + _action.lockAmt = _redemptionLock.amount; + _action.liqAmt = _redemptionLiquid.amount; _action = _prepareToSendTokens(_action, _redeemedAmt); emit Redemption(_action, _redeemedAmt); + if ((_redemptionLock.status == VaultActionStatus.POSITION_EXITED) && + (_redemptionLiquid.status == VaultActionStatus.POSITION_EXITED)) { + _action.status = VaultActionStatus.POSITION_EXITED; + } + else { + _action.status = VaultActionStatus.SUCCESS; + } return _action; } @@ -252,6 +260,7 @@ contract Router is IRouter, OwnableUpgradeable, AxelarExecutable { uint256 _redeemedAmt = _redeemedLockAmt + _redeemedLiqAmt; _action = _prepareToSendTokens(_action, _redeemedAmt); emit Redemption(_action, _redeemedAmt); + _action.status = VaultActionStatus.POSITION_EXITED; return _action; } @@ -378,7 +387,7 @@ contract Router is IRouter, OwnableUpgradeable, AxelarExecutable { _action.liqAmt -= liqGas; _action.lockAmt -= lockGas; - bytes memory payload = _packCallData(_action); + bytes memory payload = RouterLib.packCallData(_action); try this.sendTokens( _action.destinationChain, @@ -400,6 +409,7 @@ contract Router is IRouter, OwnableUpgradeable, AxelarExecutable { _sendAmt ); emit FallbackRefund(_action, _sendAmt); + _action.status = VaultActionStatus.FAIL_TOKENS_FALLBACK; } catch (bytes memory data) { emit LogErrorBytes(_action, data); IERC20Metadata(_action.token).transfer( @@ -407,6 +417,7 @@ contract Router is IRouter, OwnableUpgradeable, AxelarExecutable { _sendAmt ); emit FallbackRefund(_action, _sendAmt); + _action.status = VaultActionStatus.FAIL_TOKENS_FALLBACK; } return _action; } @@ -464,17 +475,20 @@ contract Router is IRouter, OwnableUpgradeable, AxelarExecutable { returns (VaultActionData memory) { // decode payload - VaultActionData memory action = _unpackCalldata(payload); + VaultActionData memory action = RouterLib.unpackCalldata(payload); // Leverage this.call() to enable try/catch logic try this.deposit(action, tokenSymbol, amount) { emit Deposit(action); + action.status = VaultActionStatus.SUCCESS; return action; } catch Error(string memory reason) { emit LogError(action, reason); + action.status = VaultActionStatus.FAIL_TOKENS_RETURNED; // Optimistically set to RETURN status, FALLBACK changes if necessary return _prepareToSendTokens(action, amount); } catch (bytes memory data) { emit LogErrorBytes(action, data); + action.status = VaultActionStatus.FAIL_TOKENS_RETURNED; return _prepareToSendTokens(action, amount); } } @@ -491,7 +505,7 @@ contract Router is IRouter, OwnableUpgradeable, AxelarExecutable { returns (VaultActionData memory) { // decode payload - VaultActionData memory action = _unpackCalldata(payload); + VaultActionData memory action = RouterLib.unpackCalldata(payload); LocalRegistrarLib.StrategyParams memory params = registrar .getStrategyParamsById(action.strategyId); diff --git a/contracts/core/router/RouterLib.sol b/contracts/core/router/RouterLib.sol new file mode 100644 index 000000000..f0926d97a --- /dev/null +++ b/contracts/core/router/RouterLib.sol @@ -0,0 +1,60 @@ +// SPDX-License-Identifier: UNLICENSED +// author: @stevieraykatz +pragma solidity >=0.8.0; +import {IRouter} from "./IRouter.sol"; + +library RouterLib { + + /*//////////////////////////////////////////////// + METHODS + *///////////////////////////////////////////////// + + // Data packing methods + function unpackCalldata(bytes memory _calldata) + internal pure + returns (IRouter.VaultActionData memory) + { + ( + string memory destinationChain, + bytes4 strategyId, + bytes4 selector, + uint32[] memory accountIds, + address token, + uint256 lockAmt, + uint256 liqAmt, + IRouter.VaultActionStatus status + ) = abi.decode( + _calldata, + (string, bytes4, bytes4, uint32[], address, uint256, uint256, IRouter.VaultActionStatus) + ); + + return + IRouter.VaultActionData( + destinationChain, + strategyId, + selector, + accountIds, + token, + lockAmt, + liqAmt, + status + ); + } + + function packCallData(IRouter.VaultActionData memory _calldata) + internal pure + returns (bytes memory) + { + return + abi.encode( + _calldata.destinationChain, + _calldata.strategyId, + _calldata.selector, + _calldata.accountIds, + _calldata.token, + _calldata.lockAmt, + _calldata.liqAmt, + _calldata.status + ); + } +} \ No newline at end of file diff --git a/contracts/core/struct.sol b/contracts/core/struct.sol index e10b7fd2b..7cf85e76c 100644 --- a/contracts/core/struct.sol +++ b/contracts/core/struct.sol @@ -6,8 +6,7 @@ import "@openzeppelin/contracts/utils/math/SafeMath.sol"; library AngelCoreStruct { enum AccountType { Locked, - Liquid, - None + Liquid } enum Tier { @@ -47,18 +46,14 @@ library AngelCoreStruct { uint256[] general; } - ///TODO: by default are not internal need to create a custom internal function for this refer :- https://ethereum.stackexchange.com/questions/21155/how-to-expose-enum-in-solidity-contract enum EndowmentType { Charity, - Normal, - None + Normal } - enum EndowmentStatus { - Inactive, - Approved, - Frozen, - Closed + enum AllowanceAction { + Add, + Remove } struct AccountStrategies { @@ -147,51 +142,51 @@ library AngelCoreStruct { } function checkTokenInOffVault( - string[] storage curAvailible, + string[] storage availible, uint256[] storage cerAvailibleAmount, - string memory curToken + string memory token ) public { bool check = true; - for (uint8 j = 0; j < curAvailible.length; j++) { + for (uint8 j = 0; j < availible.length; j++) { if ( - keccak256(abi.encodePacked(curAvailible[j])) == - keccak256(abi.encodePacked(curToken)) + keccak256(abi.encodePacked(availible[j])) == + keccak256(abi.encodePacked(token)) ) { check = false; } } if (check) { - curAvailible.push(curToken); + availible.push(token); cerAvailibleAmount.push(0); } } - // SHARED - struct RebalanceDetails { - bool rebalanceLiquidInvestedProfits; // should invested portions of the liquid account be rebalanced? - bool lockedInterestsToLiquid; // should Locked acct interest earned be distributed to the Liquid Acct? - ///TODO: Should be decimal type insted of uint256 - uint256 interest_distribution; // % of Locked acct interest earned to be distributed to the Liquid Acct - bool lockedPrincipleToLiquid; // should Locked acct principle be distributed to the Liquid Acct? - ///TODO: Should be decimal type insted of uint256 - uint256 principle_distribution; // % of Locked acct principle to be distributed to the Liquid Acct - } - - function rebalanceDetailsDefaut() - public - pure - returns (RebalanceDetails memory) - { - RebalanceDetails memory _tempRebalanceDetails = RebalanceDetails({ - rebalanceLiquidInvestedProfits: false, - lockedInterestsToLiquid: false, - interest_distribution: 20, - lockedPrincipleToLiquid: false, - principle_distribution: 0 - }); + // SHARED -- now defined by LocalRegistrar + // struct RebalanceDetails { + // bool rebalanceLiquidInvestedProfits; // should invested portions of the liquid account be rebalanced? + // bool lockedInterestsToLiquid; // should Locked acct interest earned be distributed to the Liquid Acct? + // ///TODO: Should be decimal type insted of uint256 + // uint256 interest_distribution; // % of Locked acct interest earned to be distributed to the Liquid Acct + // bool lockedPrincipleToLiquid; // should Locked acct principle be distributed to the Liquid Acct? + // ///TODO: Should be decimal type insted of uint256 + // uint256 principle_distribution; // % of Locked acct principle to be distributed to the Liquid Acct + // } - return _tempRebalanceDetails; - } + // function rebalanceDetailsDefaut() + // public + // pure + // returns (RebalanceDetails memory) + // { + // RebalanceDetails memory _tempRebalanceDetails = RebalanceDetails({ + // rebalanceLiquidInvestedProfits: false, + // lockedInterestsToLiquid: false, + // interest_distribution: 20, + // lockedPrincipleToLiquid: false, + // principle_distribution: 0 + // }); + + // return _tempRebalanceDetails; + // } struct DonationsReceived { uint256 locked; @@ -212,208 +207,178 @@ library AngelCoreStruct { uint128 amount; } - struct Cw20CoinVerified { + struct CoinVerified { uint128 amount; address addr; } struct GenericBalance { uint256 coinNativeAmount; - // Coin[] native; - uint256[] Cw20CoinVerified_amount; - address[] Cw20CoinVerified_addr; - // Cw20CoinVerified[] cw20; + mapping(address => uint256) balancesByToken; } function addToken( - GenericBalance storage curTemp, - address curTokenaddress, - uint256 curAmount + GenericBalance storage temp, + address tokenAddress, + uint256 amount ) public { - bool notFound = true; - for (uint8 i = 0; i < curTemp.Cw20CoinVerified_addr.length; i++) { - if (curTemp.Cw20CoinVerified_addr[i] == curTokenaddress) { - notFound = false; - curTemp.Cw20CoinVerified_amount[i] += curAmount; - } - } - if (notFound) { - curTemp.Cw20CoinVerified_addr.push(curTokenaddress); - curTemp.Cw20CoinVerified_amount.push(curAmount); - } - } - - function addTokenMem( - GenericBalance memory curTemp, - address curTokenaddress, - uint256 curAmount - ) public pure returns (GenericBalance memory) { - bool notFound = true; - for (uint8 i = 0; i < curTemp.Cw20CoinVerified_addr.length; i++) { - if (curTemp.Cw20CoinVerified_addr[i] == curTokenaddress) { - notFound = false; - curTemp.Cw20CoinVerified_amount[i] += curAmount; - } - } - if (notFound) { - GenericBalance memory new_temp = GenericBalance({ - coinNativeAmount: curTemp.coinNativeAmount, - Cw20CoinVerified_amount: new uint256[]( - curTemp.Cw20CoinVerified_amount.length + 1 - ), - Cw20CoinVerified_addr: new address[]( - curTemp.Cw20CoinVerified_addr.length + 1 - ) - }); - for (uint256 i = 0; i < curTemp.Cw20CoinVerified_addr.length; i++) { - new_temp.Cw20CoinVerified_addr[i] = curTemp - .Cw20CoinVerified_addr[i]; - new_temp.Cw20CoinVerified_amount[i] = curTemp - .Cw20CoinVerified_amount[i]; - } - new_temp.Cw20CoinVerified_addr[ - curTemp.Cw20CoinVerified_addr.length - ] = curTokenaddress; - new_temp.Cw20CoinVerified_amount[ - curTemp.Cw20CoinVerified_amount.length - ] = curAmount; - return new_temp; - } else return curTemp; - } + temp.balancesByToken[tokenAddress] += amount; + } + + // function addTokenMem( + // GenericBalance memory temp, + // address tokenaddress, + // uint256 amount + // ) public pure returns (GenericBalance memory) { + // bool notFound = true; + // for (uint8 i = 0; i < temp.CoinVerified_addr.length; i++) { + // if (temp.CoinVerified_addr[i] == tokenaddress) { + // notFound = false; + // temp.CoinVerified_amount[i] += amount; + // } + // } + // if (notFound) { + // GenericBalance memory new_temp = GenericBalance({ + // coinNativeAmount: temp.coinNativeAmount, + // CoinVerified_amount: new uint256[]( + // temp.CoinVerified_amount.length + 1 + // ), + // CoinVerified_addr: new address[]( + // temp.CoinVerified_addr.length + 1 + // ) + // }); + // for (uint256 i = 0; i < temp.CoinVerified_addr.length; i++) { + // new_temp.CoinVerified_addr[i] = temp + // .CoinVerified_addr[i]; + // new_temp.CoinVerified_amount[i] = temp + // .CoinVerified_amount[i]; + // } + // new_temp.CoinVerified_addr[ + // temp.CoinVerified_addr.length + // ] = tokenaddress; + // new_temp.CoinVerified_amount[ + // temp.CoinVerified_amount.length + // ] = amount; + // return new_temp; + // } else return temp; + // } function subToken( - GenericBalance storage curTemp, - address curTokenaddress, - uint256 curAmount + GenericBalance storage temp, + address tokenAddress, + uint256 amount ) public { - for (uint8 i = 0; i < curTemp.Cw20CoinVerified_addr.length; i++) { - if (curTemp.Cw20CoinVerified_addr[i] == curTokenaddress) { - curTemp.Cw20CoinVerified_amount[i] -= curAmount; - } - } - } - - function subTokenMem( - GenericBalance memory curTemp, - address curTokenaddress, - uint256 curAmount - ) public pure returns (GenericBalance memory) { - for (uint8 i = 0; i < curTemp.Cw20CoinVerified_addr.length; i++) { - if (curTemp.Cw20CoinVerified_addr[i] == curTokenaddress) { - curTemp.Cw20CoinVerified_amount[i] -= curAmount; - } - } - return curTemp; - } + temp.balancesByToken[tokenAddress] -= amount; + } + + // function subTokenMem( + // GenericBalance memory temp, + // address tokenaddress, + // uint256 amount + // ) public pure returns (GenericBalance memory) { + // for (uint8 i = 0; i < temp.CoinVerified_addr.length; i++) { + // if (temp.CoinVerified_addr[i] == tokenaddress) { + // temp.CoinVerified_amount[i] -= amount; + // } + // } + // return temp; + // } - function splitBalance( - uint256[] storage cw20Coin, - uint256 splitFactor - ) public view returns (uint256[] memory) { - uint256[] memory curTemp = new uint256[](cw20Coin.length); - for (uint8 i = 0; i < cw20Coin.length; i++) { - uint256 result = SafeMath.div(cw20Coin[i], splitFactor); - curTemp[i] = result; - } + // function splitBalance( + // uint256[] storage Coin, + // uint256 splitFactor + // ) public view returns (uint256[] memory) { + // uint256[] memory temp = new uint256[](Coin.length); + // for (uint8 i = 0; i < Coin.length; i++) { + // uint256 result = SafeMath.div(Coin[i], splitFactor); + // temp[i] = result; + // } - return curTemp; - } + // return temp; + // } function receiveGenericBalance( - address[] storage curReceiveaddr, - uint256[] storage curReceiveamount, - address[] storage curSenderaddr, - uint256[] storage curSenderamount + address[] storage receiveaddr, + uint256[] storage receiveamount, + address[] storage senderaddr, + uint256[] storage senderamount ) public { - uint256 a = curSenderaddr.length; - uint256 b = curReceiveaddr.length; + uint256 a = senderaddr.length; + uint256 b = receiveaddr.length; for (uint8 i = 0; i < a; i++) { bool flag = true; for (uint8 j = 0; j < b; j++) { - if (curSenderaddr[i] == curReceiveaddr[j]) { + if (senderaddr[i] == receiveaddr[j]) { flag = false; - curReceiveamount[j] += curSenderamount[i]; + receiveamount[j] += senderamount[i]; } } if (flag) { - curReceiveaddr.push(curSenderaddr[i]); - curReceiveamount.push(curSenderamount[i]); + receiveaddr.push(senderaddr[i]); + receiveamount.push(senderamount[i]); } } } function receiveGenericBalanceModified( - address[] storage curReceiveaddr, - uint256[] storage curReceiveamount, - address[] storage curSenderaddr, - uint256[] memory curSenderamount + address[] storage receiveaddr, + uint256[] storage receiveamount, + address[] storage senderaddr, + uint256[] memory senderamount ) public { - uint256 a = curSenderaddr.length; - uint256 b = curReceiveaddr.length; + uint256 a = senderaddr.length; + uint256 b = receiveaddr.length; for (uint8 i = 0; i < a; i++) { bool flag = true; for (uint8 j = 0; j < b; j++) { - if (curSenderaddr[i] == curReceiveaddr[j]) { + if (senderaddr[i] == receiveaddr[j]) { flag = false; - curReceiveamount[j] += curSenderamount[i]; + receiveamount[j] += senderamount[i]; } } if (flag) { - curReceiveaddr.push(curSenderaddr[i]); - curReceiveamount.push(curSenderamount[i]); + receiveaddr.push(senderaddr[i]); + receiveamount.push(senderamount[i]); } } } function deductTokens( - address[] memory curAddress, - uint256[] memory curAmount, - address curDeducttokenfor, - uint256 curDeductamount - ) public pure returns (uint256[] memory) { - for (uint8 i = 0; i < curAddress.length; i++) { - if (curAddress[i] == curDeducttokenfor) { - require(curAmount[i] > curDeductamount, "Insufficient Funds"); - curAmount[i] -= curDeductamount; - } - } - - return curAmount; + uint256 amount, + uint256 deductamount + ) public pure returns (uint256) { + require(amount > deductamount, "Insufficient Funds"); + amount -= deductamount; + return amount; } function getTokenAmount( - address[] memory curAddress, - uint256[] memory curAmount, - address curTokenaddress + address[] memory addresses, + uint256[] memory amounts, + address token ) public pure returns (uint256) { uint256 amount = 0; - for (uint8 i = 0; i < curAddress.length; i++) { - if (curAddress[i] == curTokenaddress) { - amount = curAmount[i]; + for (uint8 i = 0; i < addresses.length; i++) { + if (addresses[i] == token) { + amount = amounts[i]; } } return amount; } - struct AllianceMember { - string name; - string logo; - string website; - } - - function genericBalanceDefault() - public - pure - returns (GenericBalance memory) - { - GenericBalance memory empty; - return empty; - } + // function genericBalanceDefault() + // public + // pure + // returns (GenericBalance memory) + // { + // GenericBalance memory empty; + // return empty; + // } struct BalanceInfo { GenericBalance locked; @@ -422,15 +387,14 @@ library AngelCoreStruct { ///TODO: need to test this same names already declared in other libraries struct EndowmentId { - uint256 id; + uint32 id; } struct IndexFund { uint256 id; string name; string description; - uint256[] members; - bool rotatingFund; // set a fund as a rotating fund + uint32[] members; //Fund Specific: over-riding SC level setting to handle a fixed split value // Defines the % to split off into liquid account, and if defined overrides all other splits uint256 splitToLiquid; @@ -444,7 +408,8 @@ library AngelCoreStruct { } struct BeneficiaryData { - uint256 id; + uint32 endowId; + uint256 fundId; address addr; } @@ -461,87 +426,48 @@ library AngelCoreStruct { } function beneficiaryDefault() public pure returns (Beneficiary memory) { - Beneficiary memory curTemp = Beneficiary({ + Beneficiary memory temp = Beneficiary({ enumData: BeneficiaryEnum.None, - data: BeneficiaryData({id: 0, addr: address(0)}) + data: BeneficiaryData({endowId: 0, fundId: 0, addr: address(0)}) }); - return curTemp; + return temp; } - struct SocialMedialUrls { - string facebook; - string twitter; - string linkedin; - } - - struct Profile { - string overview; - string url; - string registrationNumber; - string countryOfOrigin; - string streetAddress; - string contactEmail; - SocialMedialUrls socialMediaUrls; - uint16 numberOfEmployees; - string averageAnnualBudget; - string annualRevenue; - string charityNavigatorRating; - } - - ///CHanges made for registrar contract - struct SplitDetails { uint256 max; uint256 min; - uint256 defaultSplit; // for when a split parameter is not provided + uint256 defaultSplit; // for when a user splits are not used } function checkSplits( - SplitDetails memory registrarSplits, + SplitDetails memory splits, uint256 userLocked, uint256 userLiquid, bool userOverride ) public pure returns (uint256, uint256) { - // check that the split provided by a non-TCA address meets the default - // requirements for splits that is set in the Registrar contract - if ( - userLiquid > registrarSplits.max || - userLiquid < registrarSplits.min || - userOverride == true - ) { - return ( - 100 - registrarSplits.defaultSplit, - registrarSplits.defaultSplit - ); + // check that the split provided by a user meets the endowment's + // requirements for splits (set per Endowment) + if (userOverride) { + // ignore user splits and use the endowment's default split + return (100 - splits.defaultSplit, splits.defaultSplit); + } else if (userLiquid > splits.max) { + // adjust upper range up within the max split threshold + return (splits.max, 100 - splits.max); + } else if (userLiquid < splits.min) { + // adjust lower range up within the min split threshold + return (100 - splits.min, splits.min); } else { + // use the user entered split as is return (userLocked, userLiquid); } } - struct AcceptedTokens { - address[] cw20; - } - - function cw20Valid( - address[] memory cw20, - address token - ) public pure returns (bool) { - bool check = false; - for (uint8 i = 0; i < cw20.length; i++) { - if (cw20[i] == token) { - check = true; - } - } - - return check; - } - struct NetworkInfo { string name; uint256 chainId; address router; //SHARED - address axelerGateway; + address axelarGateway; string ibcChannel; // Should be removed string transferChannel; address gasReceiver; // Should be removed @@ -566,16 +492,16 @@ library AngelCoreStruct { None } - struct YieldVault { - string addr; // vault's contract address on chain where the Registrar lives/?? - uint256 network; // Points to key in NetworkConnections storage map - address inputDenom; //? - address yieldToken; //? - bool approved; - EndowmentType[] restrictedFrom; - AccountType acctType; - VaultType vaultType; - } + // struct YieldVault { + // string addr; // vault's contract address on chain where the Registrar lives/?? + // uint256 network; // Points to key in NetworkConnections storage map + // address inputDenom; //? + // address yieldToken; //? + // bool approved; + // EndowmentType[] restrictedFrom; + // AccountType acctType; + // VaultType vaultType; + // } struct Member { address addr; @@ -597,35 +523,6 @@ library AngelCoreStruct { DurationData data; } - //TODO: remove if not needed - // function durationAfter(Duration memory data) - // public - // view - // returns (Expiration memory) - // { - // if (data.enumData == DurationEnum.Height) { - // return - // Expiration({ - // enumData: ExpirationEnum.atHeight, - // data: ExpirationData({ - // height: block.number + data.data.height, - // time: 0 - // }) - // }); - // } else if (data.enumData == DurationEnum.Time) { - // return - // Expiration({ - // enumData: ExpirationEnum.atTime, - // data: ExpirationData({ - // height: 0, - // time: block.timestamp + data.data.time - // }) - // }); - // } else { - // revert("Duration not configured"); - // } - // } - enum ExpirationEnum { atHeight, atTime, @@ -642,57 +539,42 @@ library AngelCoreStruct { ExpirationData data; } - enum CurveTypeEnum { + enum veTypeEnum { Constant, Linear, SquarRoot } - //TODO: remove if unused - // function getReserveRatio(CurveTypeEnum curCurveType) - // public - // pure - // returns (uint256) - // { - // if (curCurveType == CurveTypeEnum.Linear) { - // return 500000; - // } else if (curCurveType == CurveTypeEnum.SquarRoot) { - // return 660000; - // } else { - // return 1000000; - // } - // } - - struct CurveTypeData { + struct veTypeData { uint128 value; uint256 scale; uint128 slope; uint128 power; } - struct CurveType { - CurveTypeEnum curve_type; - CurveTypeData data; + struct veType { + veTypeEnum ve_type; + veTypeData data; } enum TokenType { - ExistingCw20, - NewCw20, - BondingCurve + Existing, + New, + VeBonding } struct DaoTokenData { - address existingCw20Data; - uint256 newCw20InitialSupply; - string newCw20Name; - string newCw20Symbol; - CurveType bondingCurveCurveType; - string bondingCurveName; - string bondingCurveSymbol; - uint256 bondingCurveDecimals; - address bondingCurveReserveDenom; - uint256 bondingCurveReserveDecimals; - uint256 bondingCurveUnbondingPeriod; + address existingData; + uint256 newInitialSupply; + string newName; + string newSymbol; + veType veBondingType; + string veBondingName; + string veBondingSymbol; + uint256 veBondingDecimals; + address veBondingReserveDenom; + uint256 veBondingReserveDecimals; + uint256 veBondingPeriod; } struct DaoToken { @@ -712,105 +594,56 @@ library AngelCoreStruct { } struct Delegate { - address Addr; + address addr; uint256 expires; // datetime int of delegation expiry } + + enum DelegateAction { + Set, + Revoke + } function canTakeAction( - Delegate storage self, + Delegate storage delegate, address sender, uint256 envTime ) public view returns (bool) { - if ( - sender == self.Addr && - (self.expires == 0 || envTime <= self.expires) - ) { - return true; - } else { - return false; - } - } - - struct EndowmentFee { - address payoutAddress; - uint256 feePercentage; - bool active; - } - - struct SettingsPermission { - bool ownerControlled; - bool govControlled; - bool modifiableAfterInit; - Delegate delegate; - } - - function setDelegate( - SettingsPermission storage self, - address sender, - address owner, - address gov, - address delegateAddr, - uint256 delegateExpiry - ) public { - if ( - (sender == owner && self.ownerControlled) || - (gov != address(0) && self.govControlled && sender == gov) - ) { - self.delegate = Delegate({ - Addr: delegateAddr, - expires: delegateExpiry - }); - } - } - - function revokeDelegate( - SettingsPermission storage self, - address sender, - address owner, - address gov, - uint256 envTime - ) public { - if ( - (sender == owner && self.ownerControlled) || - (gov != address(0) && self.govControlled && sender == gov) || - (self.delegate.Addr != address(0) && - canTakeAction(self.delegate, sender, envTime)) - ) { - self.delegate = Delegate({Addr: address(0), expires: 0}); - } + return ( + delegate.addr != address(0) && + sender == delegate.addr && + (delegate.expires == 0 || envTime <= delegate.expires) + ); } function canChange( - SettingsPermission storage self, + SettingsPermission storage permissions, address sender, address owner, - address gov, uint256 envTime ) public view returns (bool) { - if ( - (sender == owner && self.ownerControlled) || - (gov != address(0) && self.govControlled && sender == gov) || - (self.delegate.Addr != address(0) && - canTakeAction(self.delegate, sender, envTime)) - ) { - return self.modifiableAfterInit; - } - return false; + // can be changed if: + // 1. sender is a valid delegate address and their powers have not expired + // 2. sender is the endow owner && (no set delegate || an expired delegate) (ie. owner must first revoke their delegation) + return !permissions.locked || canTakeAction(permissions.delegate, sender, envTime) || sender == owner; + } + + struct SettingsPermission { + bool locked; + Delegate delegate; } struct SettingsController { - SettingsPermission endowmentController; SettingsPermission strategies; - SettingsPermission whitelistedBeneficiaries; - SettingsPermission whitelistedContributors; - SettingsPermission maturityWhitelist; + SettingsPermission lockedInvestmentManagement; + SettingsPermission liquidInvestmentManagement; + SettingsPermission allowlistedBeneficiaries; + SettingsPermission allowlistedContributors; + SettingsPermission maturityAllowlist; SettingsPermission maturityTime; - SettingsPermission profile; - SettingsPermission earningsFee; + SettingsPermission earlyLockedWithdrawFee; SettingsPermission withdrawFee; SettingsPermission depositFee; - SettingsPermission aumFee; - SettingsPermission kycDonorsOnly; + SettingsPermission balanceFee; SettingsPermission name; SettingsPermission image; SettingsPermission logo; @@ -819,106 +652,34 @@ library AngelCoreStruct { SettingsPermission ignoreUserSplits; } - function getPermissions( - SettingsController storage _tempObject, - string memory name - ) public view returns (SettingsPermission storage) { - if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("endowmentController")) - ) { - return _tempObject.endowmentController; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("maturityWhitelist")) - ) { - return _tempObject.maturityWhitelist; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("splitToLiquid")) - ) { - return _tempObject.splitToLiquid; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("ignoreUserSplits")) - ) { - return _tempObject.ignoreUserSplits; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("strategies")) - ) { - return _tempObject.strategies; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("whitelistedBeneficiaries")) - ) { - return _tempObject.whitelistedBeneficiaries; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("whitelistedContributors")) - ) { - return _tempObject.whitelistedContributors; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("maturityTime")) - ) { - return _tempObject.maturityTime; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("profile")) - ) { - return _tempObject.profile; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("earningsFee")) - ) { - return _tempObject.earningsFee; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("withdrawFee")) - ) { - return _tempObject.withdrawFee; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("depositFee")) - ) { - return _tempObject.depositFee; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("aumFee")) - ) { - return _tempObject.aumFee; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("kycDonorsOnly")) - ) { - return _tempObject.kycDonorsOnly; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("name")) - ) { - return _tempObject.name; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("image")) - ) { - return _tempObject.image; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("logo")) - ) { - return _tempObject.logo; - } else if ( - keccak256(abi.encodePacked(name)) == - keccak256(abi.encodePacked("categories")) - ) { - return _tempObject.categories; - } else { - revert("InvalidInputs"); - } + enum ControllerSettingOption { + Strategies, + lockedInvestmentManagement, + liquidInvestmentManagement, + AllowlistedBeneficiaries, + AllowlistedContributors, + MaturityAllowlist, + EarlyLockedWithdrawFee, + MaturityTime, + WithdrawFee, + DepositFee, + BalanceFee, + Name, + Image, + Logo, + Categories, + SplitToLiquid, + IgnoreUserSplits } - // None at the start as pending starts at 1 in ap rust contracts (in cw3 core) + struct EndowmentFee { + address payoutAddress; + uint256 percentage; + } + + uint256 constant FEE_BASIS = 1000; // gives 0.1% precision for fees + uint256 constant PERCENT_BASIS = 100; // gives 1% precision for declared percentages + enum Status { None, Pending, @@ -933,4 +694,4 @@ library AngelCoreStruct { Abstain, Veto } -} +} \ No newline at end of file diff --git a/contracts/core/swap-router/Interface/ISwappingV3.sol b/contracts/core/swap-router/interfaces/ISwappingV3.sol similarity index 70% rename from contracts/core/swap-router/Interface/ISwappingV3.sol rename to contracts/core/swap-router/interfaces/ISwappingV3.sol index 6e4acbe94..3cc7245c1 100644 --- a/contracts/core/swap-router/Interface/ISwappingV3.sol +++ b/contracts/core/swap-router/interfaces/ISwappingV3.sol @@ -6,8 +6,8 @@ import {AngelCoreStruct} from "./../../struct.sol"; interface ISwappingV3 { function swapTokenToUsdc( - address curTokena, - uint256 curAmountin + address tokena, + uint256 amountin ) external returns (uint256); function swapEthToToken() external payable returns (uint256); @@ -17,9 +17,9 @@ interface ISwappingV3 { ) external payable returns (uint256); function executeSwapOperations( - address[] memory curTokenin, - address curTokenout, - uint256[] memory curAmountin, - uint256 curAmountout + address tokenIn, + address tokenOut, + uint256 amountIn, + uint256 amountOut ) external returns (uint256); } diff --git a/contracts/core/swap-router/Interface/Ipool.sol b/contracts/core/swap-router/interfaces/Ipool.sol similarity index 100% rename from contracts/core/swap-router/Interface/Ipool.sol rename to contracts/core/swap-router/interfaces/Ipool.sol diff --git a/contracts/core/swap-router/scripts/deploy.ts b/contracts/core/swap-router/scripts/deploy.ts index a33f7f1a8..608dcc09b 100644 --- a/contracts/core/swap-router/scripts/deploy.ts +++ b/contracts/core/swap-router/scripts/deploy.ts @@ -1,10 +1,8 @@ // This is a script for deploying your contracts. You can adapt it to deploy // yours, or create new ones. -import path from 'path' -import config from 'config' -import { saveFrontendFiles } from 'scripts/readWriteFile' import { HardhatRuntimeEnvironment } from 'hardhat/types' +import { logger, updateAddresses } from "utils" const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000'; @@ -44,10 +42,16 @@ export async function deploySwapRouter( await swapRouterProxy.deployed(); - let swapRouterAddress2 = { - swapRouterProxy: swapRouterProxy.address, - swapRouterImplementation: swapRouterInstance.address, - } + logger.out("Saving addresses to contract-address.json...") + await updateAddresses( + { + swapRouter: { + proxy: swapRouterProxy.address, + implementation: swapRouterInstance.address, + } + }, + hre + ); if(verify_contracts){ await run(`verify:verify`, { @@ -60,8 +64,6 @@ export async function deploySwapRouter( }); } - await saveFrontendFiles({swapRouterAddress2}); - console.log('Swap Router Address (Proxy):', swapRouterProxy.address); return Promise.resolve(swapRouterProxy.address); diff --git a/contracts/core/swap-router/swapping.sol b/contracts/core/swap-router/swapping.sol index 3015ed7b3..b17930ccb 100644 --- a/contracts/core/swap-router/swapping.sol +++ b/contracts/core/swap-router/swapping.sol @@ -4,18 +4,18 @@ pragma solidity ^0.8.16; //Libraries import {SwapRouterMessages} from "./message.sol"; import {AngelCoreStruct} from "../struct.sol"; -import {IRegistrar} from "../registrar/interface/IRegistrar.sol"; +import {IRegistrar} from "../registrar/interfaces/IRegistrar.sol"; import {RegistrarStorage} from "../registrar/storage.sol"; -// import {IUniswapV2Router, IUniswapV2Pair, IUniswapV2Factory} from "./Interface/ISwapping.sol"; +// import {IUniswapV2Router, IUniswapV2Pair, IUniswapV2Factory} from "./interfaces/ISwapping.sol"; import "@openzeppelin/contracts/utils/Address.sol"; import "@openzeppelin/contracts/utils/math/SafeMath.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.sol"; -import {IPool} from "./Interface/Ipool.sol"; +import {IPool} from "./interfaces/Ipool.sol"; // Interface -// import "./Interface/ISwapping.sol"; +// import "./interfaces/ISwapping.sol"; //Storage import "./storage.sol"; @@ -30,18 +30,18 @@ contract SwapRouter is Storage { /** * @dev Initialize contract - * @param curDetails SwapRouterMessages.InstantiateMsg used to initialize contract + * @param details SwapRouterMessages.InstantiateMsg used to initialize contract */ function intiSwapRouter( - SwapRouterMessages.InstantiateMsg memory curDetails + SwapRouterMessages.InstantiateMsg memory details ) public { require(!initSwapRouterFlag, "Already Initilized"); initSwapRouterFlag = true; - config.registrarContract = curDetails.registrarContract; - config.accountsContract = curDetails.accountsContract; - swapRouter = curDetails.swapRouter; - swapFactory = curDetails.swapFactory; + config.registrarContract = details.registrarContract; + config.accountsContract = details.accountsContract; + swapRouter = details.swapRouter; + swapFactory = details.swapFactory; swappingFees.push(500); swappingFees.push(3000); @@ -66,26 +66,26 @@ contract SwapRouter is Storage { /** * @dev This function checks the pool and returns the fee for a swap between the two given tokens. - * @param curTokena address - * @param curTokenb address + * @param tokena address + * @param tokenb address * @return fees Retruns the fee for swapping */ function checkPoolAndReturFee( - address curTokena, - address curTokenb + address tokena, + address tokenb ) internal view returns (uint24) { - require(curTokena != address(0), "Invalid Token A"); - require(curTokenb != address(0), "Invalid Token B"); + require(tokena != address(0), "Invalid Token A"); + require(tokenb != address(0), "Invalid Token B"); //sort Token - (curTokena, curTokenb) = sortTokens(curTokena, curTokenb); + (tokena, tokenb) = sortTokens(tokena, tokenb); uint24 fees = 0; address tempAddress = address(0); for (uint256 i = 0; i < 3; i++) { tempAddress = IPool(swapFactory).getPool( - curTokena, - curTokenb, + tokena, + tokenb, swappingFees[i] ); if (tempAddress != address(0)) { @@ -99,34 +99,34 @@ contract SwapRouter is Storage { /** * @dev This function swaps the given amount of tokenA for tokenB and transfers it to the specified recipient address. - * @param curTokena address - * @param curTokenb address - * @param curAmount uint256 - * @param curTo address + * @param tokena address + * @param tokenb address + * @param amount uint256 + * @param to address * @return amountOut Returns the amount of token received fom pool after swapping to specific address */ function swap( - address curTokena, - address curTokenb, - uint256 curAmount, - address curTo + address tokena, + address tokenb, + uint256 amount, + address to ) internal returns (uint256) { //Get pool - uint24 fees = checkPoolAndReturFee(curTokena, curTokenb); + uint24 fees = checkPoolAndReturFee(tokena, tokenb); require(fees > 0, "Invalid Token Send to swap"); require( - IERC20(curTokena).transferFrom( + IERC20(tokena).transferFrom( msg.sender, address(this), - curAmount + amount ), "TransferFrom failed" ); require( - IERC20(curTokena).approve(swapRouter, curAmount), + IERC20(tokena).approve(swapRouter, amount), "Approve failed" ); @@ -134,12 +134,12 @@ contract SwapRouter is Storage { // We also set the sqrtPriceLimitx96 to be 0 to ensure we swap our exact input amount. ISwapRouter.ExactInputSingleParams memory params = ISwapRouter .ExactInputSingleParams({ - tokenIn: curTokena, - tokenOut: curTokenb, + tokenIn: tokena, + tokenOut: tokenb, fee: fees, - recipient: curTo, + recipient: to, deadline: block.timestamp + 600, - amountIn: curAmount, + amountIn: amount, amountOutMinimum: 0, sqrtPriceLimitX96: 0 }); @@ -151,41 +151,37 @@ contract SwapRouter is Storage { } /** - * @dev This function swaps multiple tokens for the specified output token and returns the amount obtained. - * @param curTokenin address[] - * @param curTokenout address[] - * @param curAmountin uint256 - * @param curAmountout uint256[] + * @dev This function swaps a token for the specified output token and returns the amount obtained. + * @param tokenIn address + * @param tokenOut address + * @param amountIn uint256 + * @param amountOut uint256 * @return amountPossible Returns the amount of token obtained after swapping the tokens. */ function executeSwapOperations( - address[] memory curTokenin, - address curTokenout, - uint256[] memory curAmountin, - uint256 curAmountout + address tokenIn, + address tokenOut, + uint256 amountIn, + uint256 amountOut ) public returns (uint256) { - uint256 callLength = curTokenin.length; - require(callLength > 0, "Invalid callToken length"); - - uint256 amountPossible = 0; + uint256 amountPossible; + + amountPossible += swap( + tokenIn, + tokenOut, + amountIn, + address(this) + ); - for (uint8 i = 0; i < callLength; i++) { - amountPossible += swap( - curTokenin[i], - curTokenout, - curAmountin[i], - address(this) - ); - } require( - amountPossible >= curAmountout, + amountPossible >= amountOut, "Output funds less than the minimum funds" ); require( - IERC20(curTokenout).transfer(msg.sender, amountPossible), + IERC20(tokenOut).transfer(msg.sender, amountPossible), "Transfer failed" ); @@ -194,13 +190,13 @@ contract SwapRouter is Storage { /** * @dev This function swaps the given amount of the specified token for USDC. This function can only be called by the registrar contract or the accounts contract. - * @param curTokena address - * @param curAmountin uint256 + * @param tokena address + * @param amountin uint256 * @return account Returns the amount of token after swapping specified USDC token. */ function swapTokenToUsdc( - address curTokena, - uint256 curAmountin + address tokena, + uint256 amountin ) public returns (uint256) { require( msg.sender == config.registrarContract || @@ -213,9 +209,9 @@ contract SwapRouter is Storage { ).queryConfig(); uint256 account = swap( - curTokena, + tokena, registrar_config.usdcAddress, - curAmountin, + amountin, msg.sender ); diff --git a/contracts/halo/airdrop/Airdrop.sol b/contracts/halo/airdrop/Airdrop.sol index 6eb86571d..6d5173140 100644 --- a/contracts/halo/airdrop/Airdrop.sol +++ b/contracts/halo/airdrop/Airdrop.sol @@ -23,17 +23,17 @@ contract Airdrop is Storage, Initializable, ReentrancyGuard { /** * @dev Initialize contract - * @param curDetails AirdropMessage.InstantiateMsg used to initialize contract + * @param details AirdropMessage.InstantiateMsg used to initialize contract */ function initialize( - AirdropMessage.InstantiateMsg memory curDetails + AirdropMessage.InstantiateMsg memory details ) public initializer { state.config = AirdropStorage.Config({ - owner: curDetails.owner, - haloToken: curDetails.haloToken + owner: details.owner, + haloToken: details.haloToken }); state.latestStage = 0; - emit AirdropInitialized(curDetails.owner, curDetails.haloToken); + emit AirdropInitialized(details.owner, details.haloToken); } /** diff --git a/contracts/halo/collector/Collector.sol b/contracts/halo/collector/Collector.sol index d43f60333..355d5d236 100644 --- a/contracts/halo/collector/Collector.sol +++ b/contracts/halo/collector/Collector.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.16; import {CollectorMessage} from "./message.sol"; import "./storage.sol"; import {IERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20/IERC20Upgradeable.sol"; -import {ISwappingV3} from "../../core/swap-router/Interface/ISwappingV3.sol"; +import {ISwappingV3} from "../../core/swap-router/interfaces/ISwappingV3.sol"; import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; /** @@ -25,24 +25,24 @@ contract Collector is Storage { /** * @dev Initialize contract - * @param curDetails CollectorMessage.InstantiateMsg used to initialize contract + * @param details CollectorMessage.InstantiateMsg used to initialize contract */ function initialize( - CollectorMessage.InstantiateMsg memory curDetails + CollectorMessage.InstantiateMsg memory details ) public { require(!initialized, "Contract instance has already been initialized"); initialized = true; state.config = CollectorStorage.Config({ owner: msg.sender, - rewardFactor: curDetails.rewardFactor, - timelockContract: curDetails.timelockContract, - govContract: curDetails.govContract, - swapFactory: curDetails.swapFactory, - distributorContract: curDetails.distributorContract, - haloToken: curDetails.haloToken + rewardFactor: details.rewardFactor, + timelockContract: details.timelockContract, + govContract: details.govContract, + swapFactory: details.swapFactory, + distributorContract: details.distributorContract, + haloToken: details.haloToken }); - token = IERC20Upgradeable(curDetails.haloToken); - emit CollecterInitialized(curDetails); + token = IERC20Upgradeable(details.haloToken); + emit CollecterInitialized(details); } /** diff --git a/contracts/halo/collector/storage.sol b/contracts/halo/collector/storage.sol index 1eb20712d..4ef292d19 100644 --- a/contracts/halo/collector/storage.sol +++ b/contracts/halo/collector/storage.sol @@ -16,12 +16,12 @@ library CollectorStorage { string demo; address contractAddr; } - enum CurAssetInfo { + enum assetInfo { Token, NativeToken } struct PairInfo { - CurAssetInfo enumType; + assetInfo enumType; AssetInfo enumData; address contractAddr; string liquidyToken; diff --git a/contracts/halo/community/Community.sol b/contracts/halo/community/Community.sol index 131d01bb6..a7c1bd00f 100644 --- a/contracts/halo/community/Community.sol +++ b/contracts/halo/community/Community.sol @@ -15,7 +15,7 @@ import {IERC20Upgradeable} from "@openzeppelin/contracts-upgradeable/token/ERC20 * @dev Community contract * The `Community` contract serves as a management system for a community of token holders. * It provides functions to initialize the contract, update its configuration, transfer tokens, - * and retrieve the current configuration. + * and retrieve the rent configuration. */ contract Community is Storage, Initializable, ReentrancyGuard { event CommunityConfigUpdated(CommunityStorage.Config config); @@ -23,15 +23,15 @@ contract Community is Storage, Initializable, ReentrancyGuard { /** * @dev Initialize contract - * @param curDetails CommunityMessage.InstantiateMsg used to initialize contract + * @param details CommunityMessage.InstantiateMsg used to initialize contract */ function initialize( - CommunityMessage.InstantiateMsg memory curDetails + CommunityMessage.InstantiateMsg memory details ) public initializer { state.config = CommunityStorage.Config({ - timelockContract: curDetails.timelockContract, - spendLimit: curDetails.spendLimit, - haloToken: curDetails.haloToken + timelockContract: details.timelockContract, + spendLimit: details.spendLimit, + haloToken: details.haloToken }); emit CommunityConfigUpdated(state.config); } diff --git a/contracts/halo/distributor/Distributor.sol b/contracts/halo/distributor/Distributor.sol index dcc41bdc8..4bccf4751 100644 --- a/contracts/halo/distributor/Distributor.sol +++ b/contracts/halo/distributor/Distributor.sol @@ -23,16 +23,16 @@ contract Distributor is Storage, Initializable, ReentrancyGuard { /** * @dev Initialize contract - * @param curDetails DistributorMessage.InstantiateMsg used to initialize contract + * @param details DistributorMessage.InstantiateMsg used to initialize contract */ function initialize( - DistributorMessage.InstantiateMsg memory curDetails + DistributorMessage.InstantiateMsg memory details ) public initializer { state.config = DistributorStorage.Config({ - timelockContract: curDetails.timelockContract, - whitelist: curDetails.whitelist, - spendLimit: curDetails.spendLimit, - haloToken: curDetails.haloToken + timelockContract: details.timelockContract, + allowlist: details.allowlist, + spendLimit: details.spendLimit, + haloToken: details.haloToken }); emit DistributorConfigUpdated(state.config); } @@ -53,38 +53,38 @@ contract Distributor is Storage, Initializable, ReentrancyGuard { } /** - * @dev Adds a distributor to the whitelist. Only the government contract is authorized to perform this action. + * @dev Adds a distributor to the allowlist. Only the government contract is authorized to perform this action. * @param distributor address */ function addDistributor(address distributor) public nonReentrant { require(state.config.timelockContract == msg.sender, "Unauthorized"); - // require(state.config.whitelist.length > 0 && state.config.whitelist.indexOf(distributor) != -1, "Distributor already registered"); + // require(state.config.allowlist.length > 0 && state.config.allowlist.indexOf(distributor) != -1, "Distributor already registered"); (, bool found) = AddressArray.indexOf( - state.config.whitelist, + state.config.allowlist, distributor ); if (!found) { - state.config.whitelist.push(distributor); + state.config.allowlist.push(distributor); emit DistributorAdded(distributor); } } /** - * @dev Removes a distributor to the whitelist. Only the government contract is authorized to perform this action. + * @dev Removes a distributor to the allowlist. Only the government contract is authorized to perform this action. * @param distributor address */ function removeDistributor(address distributor) public nonReentrant { require(state.config.timelockContract == msg.sender, "Unauthorized"); (uint256 index, bool found) = AddressArray.indexOf( - state.config.whitelist, + state.config.allowlist, distributor ); if (found) { - state.config.whitelist = AddressArray.remove( - state.config.whitelist, + state.config.allowlist = AddressArray.remove( + state.config.allowlist, index ); emit DistributorRemoved(distributor); @@ -98,7 +98,7 @@ contract Distributor is Storage, Initializable, ReentrancyGuard { */ function spend(address recipient, uint256 amount) public nonReentrant { (, bool found) = AddressArray.indexOf( - state.config.whitelist, + state.config.allowlist, msg.sender ); require(found, "Unauthorized"); @@ -127,7 +127,7 @@ contract Distributor is Storage, Initializable, ReentrancyGuard { return DistributorMessage.ConfigResponse({ timelockContract: state.config.timelockContract, - whitelist: state.config.whitelist, + allowlist: state.config.allowlist, spendLimit: state.config.spendLimit, haloToken: state.config.haloToken }); diff --git a/contracts/halo/distributor/message.sol b/contracts/halo/distributor/message.sol index a864bc654..07ac6367a 100644 --- a/contracts/halo/distributor/message.sol +++ b/contracts/halo/distributor/message.sol @@ -5,14 +5,14 @@ library DistributorMessage { struct InstantiateMsg { address timelockContract; address haloToken; - address[] whitelist; + address[] allowlist; uint spendLimit; } struct ConfigResponse { address timelockContract; address haloToken; - address[] whitelist; + address[] allowlist; uint spendLimit; } } diff --git a/contracts/halo/distributor/storage.sol b/contracts/halo/distributor/storage.sol index 57424bf5c..9c3426851 100644 --- a/contracts/halo/distributor/storage.sol +++ b/contracts/halo/distributor/storage.sol @@ -5,7 +5,7 @@ library DistributorStorage { struct Config { address timelockContract; address haloToken; - address[] whitelist; + address[] allowlist; uint spendLimit; } diff --git a/contracts/halo/gov-hodler/GovHodler.sol b/contracts/halo/gov-hodler/GovHodler.sol index a9ba465a9..4f73ead9f 100644 --- a/contracts/halo/gov-hodler/GovHodler.sol +++ b/contracts/halo/gov-hodler/GovHodler.sol @@ -21,15 +21,15 @@ contract GovHodler is Storage, Initializable, ReentrancyGuard { /** * @dev Initialize contract - * @param curDetails GovHodlerMessage.InstantiateMsg used to initialize contract + * @param details GovHodlerMessage.InstantiateMsg used to initialize contract */ function initialiaze( - GovHodlerMessage.InstantiateMsg memory curDetails + GovHodlerMessage.InstantiateMsg memory details ) public initializer { state.config = GovHodlerStorage.Config({ - owner: curDetails.owner, - timelockContract: curDetails.timelockContract, - haloToken: curDetails.haloToken + owner: details.owner, + timelockContract: details.timelockContract, + haloToken: details.haloToken }); emit GovHolderConfigUpdated(state.config); } @@ -50,7 +50,7 @@ contract GovHodler is Storage, Initializable, ReentrancyGuard { } /** - * @dev Claims `amount` of Halo tokens and transfers them to `recipient`. The caller of this function must be the current government contract. + * @dev Claims `amount` of Halo tokens and transfers them to `recipient`. The caller of this function must be the rent government contract. * @param amount uint * @param recipient address */ diff --git a/contracts/halo/gov/Gov.sol b/contracts/halo/gov/Gov.sol index 4196c9d97..61cfadae4 100644 --- a/contracts/halo/gov/Gov.sol +++ b/contracts/halo/gov/Gov.sol @@ -27,8 +27,8 @@ contract Gov is // bool initialized = false; function initialize( - IVotesUpgradeable curToken, - TimelockControllerUpgradeable curTimelock, + IVotesUpgradeable token, + TimelockControllerUpgradeable timelock, uint256 initialVotingDelay, uint256 initialVotingPeriod, uint256 initialProposalThreshold, @@ -43,9 +43,9 @@ contract Gov is initialProposalThreshold ); __GovernorCountingSimple_init(); - __GovernorVotes_init(curToken); + __GovernorVotes_init(token); __GovernorVotesQuorumFraction_init(quorumNumeratorValue); // this is the % of people's approval required to pass the proposal - __GovernorTimelockControl_init(curTimelock); + __GovernorTimelockControl_init(timelock); } // The following functions are overrides required by Solidity. diff --git a/contracts/halo/gov/scripts/deploy.ts b/contracts/halo/gov/scripts/deploy.ts index 4f0e5191c..931280fba 100644 --- a/contracts/halo/gov/scripts/deploy.ts +++ b/contracts/halo/gov/scripts/deploy.ts @@ -7,7 +7,7 @@ import { HardhatRuntimeEnvironment } from "hardhat/types" const ADDRESS_ZERO = "0x0000000000000000000000000000000000000000"; -export async function deployGov(proxyAdmin = ADDRESS_ZERO, haloTokenAddress: string, curTimelock: string, verify_contracts: boolean, hre: HardhatRuntimeEnvironment) { // TODO: remove param curTimelock +export async function deployGov(proxyAdmin = ADDRESS_ZERO, haloTokenAddress: string, verify_contracts: boolean, hre: HardhatRuntimeEnvironment) { // TODO: remove param timelock try { const { ethers, run, network } = hre; @@ -16,6 +16,8 @@ export async function deployGov(proxyAdmin = ADDRESS_ZERO, haloTokenAddress: str const TimeLockInstance = await TimeLock.deploy(); await TimeLockInstance.deployed(); + console.log('TimeLock Address (Implementation):', TimeLockInstance.address); + const VotingERC20 = await ethers.getContractFactory('VotingERC20'); const VotingERC20Instance = await VotingERC20.deploy(); await VotingERC20Instance.deployed(); diff --git a/contracts/halo/scripts/deploy.ts b/contracts/halo/scripts/deploy.ts index bb5130adf..253208245 100644 --- a/contracts/halo/scripts/deploy.ts +++ b/contracts/halo/scripts/deploy.ts @@ -14,6 +14,7 @@ import { Collector } from '../collector/scripts/deploy' // const ethers = hre.ethers; import config from 'config' import { HardhatRuntimeEnvironment } from 'hardhat/types' +import { envConfig } from 'utils' const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000'; @@ -61,11 +62,10 @@ export async function deployHaloImplementation( try { const { - curTimelock, GovHodlerOwner, airdropOwner, CommunitySpendLimit, - distributorWhitelist, + distributorAllowlist, distributorSpendLimit, } = config.HALO_IMPLEMENTATION_DATA; @@ -75,11 +75,11 @@ export async function deployHaloImplementation( let halo = await deployERC20(proxyAdmin.address,verify_contracts,hre); - let gov = await deployGov(proxyAdmin.address, halo, curTimelock, verify_contracts,hre); + let gov = await deployGov(proxyAdmin.address, halo, verify_contracts,hre); let halo_code = await ethers.getContractAt('ERC20Upgrade', halo); - if (!config.PROD) { + if (network.config.chainId !== envConfig.PROD_NETWORK_ID) { await halo_code.mint(deployer.address, ethers.utils.parseEther('100000000000000000000000000')); } @@ -88,7 +88,7 @@ export async function deployHaloImplementation( const distributorAddress = await distributor(proxyAdmin.address, { timelockContract: gov.TimeLock, haloToken: halo, - whitelist: [...distributorWhitelist], + allowlist: [...distributorAllowlist], spendLimit: distributorSpendLimit, }, hre); var response = { diff --git a/contracts/halo/staking/Staking.sol b/contracts/halo/staking/Staking.sol index 5c5de3509..826a72aa6 100644 --- a/contracts/halo/staking/Staking.sol +++ b/contracts/halo/staking/Staking.sol @@ -9,7 +9,7 @@ import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; import {Initializable} from "@openzeppelin/contracts/proxy/utils/Initializable.sol"; interface IStakingHalo { - function updateInterestRate(uint256 curInterestRate) external; + function updateInterestRate(uint256 interestRate) external; function stake( uint256 amount, @@ -102,16 +102,16 @@ contract Staking is Initializable, ERC20, Pausable, ReentrancyGuard, Ownable { /** * @dev Allows the contract owner to update the interest rate applied to staked tokens. - * @param curInterestRate uint256 + * @param interestRate uint256 */ function updateInterestRate( - uint256 curInterestRate + uint256 interestRate ) public nonReentrant onlyOwner { require( - 0 <= curInterestRate && curInterestRate <= 100, + 0 <= interestRate && interestRate <= 100, "Invalid interest rate" ); - interestRate = curInterestRate; + interestRate = interestRate; } /** diff --git a/contracts/halo/vesting/Vesting.sol b/contracts/halo/vesting/Vesting.sol index ef28d6ab5..a10865d62 100644 --- a/contracts/halo/vesting/Vesting.sol +++ b/contracts/halo/vesting/Vesting.sol @@ -33,16 +33,16 @@ contract Vesting is Ownable, ReentrancyGuard { /** * @dev Initialize contract - * @param curDetails instantiate message containing halo token address + * @param details instantiate message containing halo token address */ function initialize( - VestingMessage.InstantiateMsg memory curDetails + VestingMessage.InstantiateMsg memory details ) public { require(haloToken == address(0), "Already initialized"); - haloToken = curDetails.haloToken; + haloToken = details.haloToken; totalVested = 0; - emit VestingInitialized(curDetails.haloToken); + emit VestingInitialized(details.haloToken); } /** @@ -111,13 +111,13 @@ contract Vesting is Ownable, ReentrancyGuard { /** * @dev Allows the owner of the contract to modify the vesting duration. - * @param curVestingduration uint + * @param vestingduration uint */ function modifyVestingDuration( - uint256 curVestingduration + uint256 vestingduration ) public onlyOwner { - vestingDuration = curVestingduration; - emit VestingDurationModified(curVestingduration); + vestingDuration = vestingduration; + emit VestingDurationModified(vestingduration); } function min(uint256 a, uint256 b) internal pure returns (uint256) { diff --git a/contracts/integrations/goldfinch/GoldfinchVault.sol b/contracts/integrations/goldfinch/GoldfinchVault.sol index 735d99b07..3e8809b4c 100644 --- a/contracts/integrations/goldfinch/GoldfinchVault.sol +++ b/contracts/integrations/goldfinch/GoldfinchVault.sol @@ -4,13 +4,14 @@ pragma solidity >=0.8.0; // Angel Protocol import {IVault} from "../../interfaces/IVault.sol"; +import {IRouter} from "../../core/router/IRouter.sol"; import {IRegistrarGoldfinch} from "./IRegistrarGoldfinch.sol"; import {APGoldfinchConfigLib} from "./APGoldfinchConfig.sol"; import {LocalRegistrarLib} from "../../core/registrar/lib/LocalRegistrarLib.sol"; // Integrations import {IStakingRewards} from "./IStakingRewards.sol"; -import {ICurveLP} from "./ICurveLP.sol"; +import {IveLP} from "./ICurveLP.sol"; // Token import {IERC721Receiver} from "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol"; @@ -28,7 +29,7 @@ contract GoldfinchVault is IVault, IERC721Receiver { address public GFI; // 0xdab396cCF3d84Cf2D07C4454e10C8A6F5b008D2b IRegistrarGoldfinch registrar; - ICurveLP crvPool; + IveLP crvPool; IStakingRewards stakingPool; mapping(uint32 => uint256) public tokenIdByAccountId; @@ -46,7 +47,7 @@ contract GoldfinchVault is IVault, IERC721Receiver { vaultType = _vaultType; registrar = IRegistrarGoldfinch(_registrar); stakingPool = IStakingRewards(_stakingPool); - crvPool = ICurveLP(_crvPool); + crvPool = IveLP(_crvPool); USDC = _usdc; FIDU = _fidu; GFI = _gfi; @@ -153,7 +154,14 @@ contract GoldfinchVault is IVault, IERC721Receiver { uint32 accountId, address token, uint256 amt - ) external payable override approvedRouterOnly onlyUSDC(token) nonzeroPositionOnly(accountId) returns (uint256) { + ) + external + payable + override + approvedRouterOnly + onlyUSDC(token) + nonzeroPositionOnly(accountId) + returns (IRouter.RedemptionResponse memory) { LocalRegistrarLib.AngelProtocolParams memory apParams = registrar.getAngelProtocolParams(); IStakingRewards.StakedPosition memory position = stakingPool.getPosition(tokenIdByAccountId[accountId]); @@ -167,7 +175,15 @@ contract GoldfinchVault is IVault, IERC721Receiver { _updatePrinciples(accountId, redeemedFIDU); IERC20(USDC).approve(apParams.routerAddr, redeemedUSDC); - return redeemedUSDC; + IRouter.RedemptionResponse memory response = IRouter.RedemptionResponse({ + amount: redeemedUSDC, + status: IRouter.VaultActionStatus.SUCCESS + }); + + if (principleByAccountId[accountId].usdcP == 0) { + response.status = IRouter.VaultActionStatus.POSITION_EXITED; + } + return response; } /// @notice redeem all of the value from the vault contract @@ -344,7 +360,7 @@ contract GoldfinchVault is IVault, IERC721Receiver { } function _getExchageRate_withPrecision(uint256 i, uint256 j, uint256 amt) internal view returns (uint256) { - uint256 dy = crvPool.get_dy(i, j, amt); // get current expected dy + uint256 dy = crvPool.get_dy(i, j, amt); // get rent expected dy require(dy > 0, "Invalid exchange rate"); return (dy * PRECISION / amt); } diff --git a/contracts/integrations/goldfinch/ICurveLP.sol b/contracts/integrations/goldfinch/ICurveLP.sol index 66643998f..0e05f6955 100644 --- a/contracts/integrations/goldfinch/ICurveLP.sol +++ b/contracts/integrations/goldfinch/ICurveLP.sol @@ -2,7 +2,7 @@ pragma solidity >=0.8.0; -interface ICurveLP { +interface IveLP { function coins(uint256) external view returns (address); function token() external view returns (address); diff --git a/contracts/integrations/goldfinch/IRegistrarGoldfinch.sol b/contracts/integrations/goldfinch/IRegistrarGoldfinch.sol index fd8c72cfa..a421059cb 100644 --- a/contracts/integrations/goldfinch/IRegistrarGoldfinch.sol +++ b/contracts/integrations/goldfinch/IRegistrarGoldfinch.sol @@ -2,7 +2,7 @@ // author: @stevieraykatz pragma solidity >=0.8.0; -import {ILocalRegistrar} from "../../core/registrar/interface/ILocalRegistrar.sol"; +import {ILocalRegistrar} from "../../core/registrar/interfaces/ILocalRegistrar.sol"; import {APGoldfinchConfigLib} from "./APGoldfinchConfig.sol"; interface IRegistrarGoldfinch is ILocalRegistrar { diff --git a/contracts/integrations/goldfinch/IStakingRewards.sol b/contracts/integrations/goldfinch/IStakingRewards.sol index 2be11b8c4..360966e8d 100644 --- a/contracts/integrations/goldfinch/IStakingRewards.sol +++ b/contracts/integrations/goldfinch/IStakingRewards.sol @@ -9,7 +9,7 @@ interface IStakingRewards { /// @notice Indicates which ERC20 is staked enum StakedPositionType { Fidu, - CurveLP + veLP } struct StakedPosition { @@ -43,7 +43,7 @@ interface IStakingRewards { function stakedBalanceOf(uint256 tokenId) external view returns (uint256); - function depositToCurveAndStakeFrom( + function depositToveAndStakeFrom( address nftRecipient, uint256 fiduAmount, uint256 usdcAmount diff --git a/contracts/integrations/goldfinch/StakingRewardsVesting.sol b/contracts/integrations/goldfinch/StakingRewardsVesting.sol index 361627dfc..3c84ab7bb 100644 --- a/contracts/integrations/goldfinch/StakingRewardsVesting.sol +++ b/contracts/integrations/goldfinch/StakingRewardsVesting.sol @@ -34,12 +34,12 @@ library StakingRewardsVesting { return rewards.totalVested.add(rewards.totalPreviouslyVested).sub(rewards.totalClaimed); } - function currentGrant(Rewards storage rewards) internal view returns (uint256) { + function rentGrant(Rewards storage rewards) internal view returns (uint256) { return rewards.totalUnvested.add(rewards.totalVested); } function checkpoint(Rewards storage rewards) internal { - uint256 newTotalVested = totalVestedAt(rewards.startTime, rewards.endTime, block.timestamp, rewards.currentGrant()); + uint256 newTotalVested = totalVestedAt(rewards.startTime, rewards.endTime, block.timestamp, rewards.rentGrant()); if (newTotalVested > rewards.totalVested) { uint256 difference = newTotalVested.sub(rewards.totalVested); diff --git a/contracts/integrations/goldfinch/test/DummyCRVLP.sol b/contracts/integrations/goldfinch/test/DummyCRVLP.sol index 46af4f44d..41914bef2 100644 --- a/contracts/integrations/goldfinch/test/DummyCRVLP.sol +++ b/contracts/integrations/goldfinch/test/DummyCRVLP.sol @@ -2,10 +2,10 @@ // author: @stevieraykatz pragma solidity >=0.8.0; -import {ICurveLP} from "../ICurveLP.sol"; +import {IveLP} from "../ICurveLP.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; -contract DummyCRVLP is ICurveLP { +contract DummyCRVLP is IveLP { uint256 dy_for_get_dy; uint256 dy_for_exchange; diff --git a/contracts/integrations/goldfinch/test/DummyStakingRewards.sol b/contracts/integrations/goldfinch/test/DummyStakingRewards.sol index 2e68331c8..5569beaae 100644 --- a/contracts/integrations/goldfinch/test/DummyStakingRewards.sol +++ b/contracts/integrations/goldfinch/test/DummyStakingRewards.sol @@ -58,7 +58,7 @@ contract DummyStakingRewards is ERC721, IStakingRewards { return balanceByTokenId[tokenId]; } - function depositToCurveAndStakeFrom( + function depositToveAndStakeFrom( address nftRecipient, uint256 fiduAmount, uint256 usdcAmount diff --git a/contracts/interfaces/IVault.sol b/contracts/interfaces/IVault.sol index 0166d1266..eec8cff2b 100644 --- a/contracts/interfaces/IVault.sol +++ b/contracts/interfaces/IVault.sol @@ -2,6 +2,8 @@ // author: @stevieraykatz pragma solidity >=0.8.0; +import "../core/router/IRouter.sol"; + abstract contract IVault { /// @notice Angel Protocol Vault Type @@ -61,7 +63,7 @@ abstract contract IVault { /// @param amt the amount of the deposited token /// @return redemptionAmt returns the number of tokens redeemed by the call; this may differ from /// the called `amt` due to slippage/trading/fees - function redeem(uint32 accountId, address token, uint256 amt) payable external virtual returns (uint256); + function redeem(uint32 accountId, address token, uint256 amt) payable external virtual returns (IRouter.RedemptionResponse memory); /// @notice redeem all of the value from the vault contract /// @dev allows an Account to redeem all of its staked value. Good for rebasing tokens wherein the value isn't diff --git a/contracts/lib/Strings/string.sol b/contracts/lib/Strings/string.sol index 3ba934962..303b76b83 100644 --- a/contracts/lib/Strings/string.sol +++ b/contracts/lib/Strings/string.sol @@ -35,9 +35,9 @@ library StringArray { result = (keccak256(abi.encodePacked(s1)) == keccak256(abi.encodePacked(s2))); } - function addressToString(address curAddr) public pure returns(string memory) + function addressToString(address addr) public pure returns(string memory) { - bytes32 value = bytes32(uint256(uint160(curAddr))); + bytes32 value = bytes32(uint256(uint160(addr))); bytes memory alphabet = "0123456789abcdef"; bytes memory str = new bytes(51); diff --git a/contracts/lib/array.sol b/contracts/lib/array.sol index f455c68c4..0001e15d9 100644 --- a/contracts/lib/array.sol +++ b/contracts/lib/array.sol @@ -37,25 +37,25 @@ library Array { } function max(uint256[] memory data) internal pure returns (uint256) { - uint256 curMax = data[0]; + uint256 maxVal = data[0]; for (uint256 i = 1; i < data.length; i++) { - if (curMax < data[i]) { - curMax = data[i]; + if (maxVal < data[i]) { + maxVal = data[i]; } } - return curMax; + return maxVal; } // function min(uint256[] memory data) internal pure returns (uint256) { - // uint256 curMin = data[0]; + // uint256 min = data[0]; // for (uint256 i = 1; i < data.length; i++) { - // if (curMin > data[i]) { - // curMin = data[i]; + // if (min > data[i]) { + // min = data[i]; // } // } - // return curMin; + // return min; // } function indexOf(uint256[] memory arr, uint256 searchFor) @@ -87,3 +87,35 @@ library Array { return data; } } + + +library Array32 { + function indexOf(uint32[] memory arr, uint32 searchFor) + internal + pure + returns (uint32, bool) + { + for (uint32 i = 0; i < arr.length; i++) { + if (arr[i] == searchFor) { + return (i, true); + } + } + // not found + return (0, false); + } + + function remove(uint32[] storage data, uint32 index) + internal + returns (uint32[] memory) + { + if (index >= data.length) { + revert("Error in remove: internal"); + } + + for (uint32 i = index; i < data.length - 1; i++) { + data[i] = data[i + 1]; + } + data.pop(); + return data; + } +} diff --git a/contracts/lib/utils.sol b/contracts/lib/utils.sol index 3e7541c2c..0abaf3613 100644 --- a/contracts/lib/utils.sol +++ b/contracts/lib/utils.sol @@ -4,19 +4,6 @@ pragma solidity ^0.8.16; import "@openzeppelin/contracts/utils/Address.sol"; library Utils { - function _execute( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas - ) internal { - string memory errorMessage = "call reverted without message"; - for (uint256 i = 0; i < targets.length; ++i) { - (bool success, bytes memory returndata) = targets[i].call{ - value: values[i] - }(calldatas[i]); - Address.verifyCallResult(success, returndata, errorMessage); - } - } function _execute( address target, uint256 value, diff --git a/contracts/mock/DummyGateway.sol b/contracts/mock/DummyGateway.sol index 801106428..602e9872f 100644 --- a/contracts/mock/DummyGateway.sol +++ b/contracts/mock/DummyGateway.sol @@ -49,7 +49,7 @@ contract DummyGateway is IAxelarGateway { string calldata, address, bytes32 - ) external view returns (bool){ + ) external pure returns (bool){ return _testParser(commandId); } @@ -61,7 +61,7 @@ contract DummyGateway is IAxelarGateway { bytes32, string calldata, uint256 - ) external view returns (bool){ + ) external pure returns (bool){ return _testParser(commandId); } @@ -70,7 +70,7 @@ contract DummyGateway is IAxelarGateway { string calldata, string calldata, bytes32 - ) external returns (bool){ + ) external pure returns (bool){ return _testParser(commandId); } @@ -81,7 +81,7 @@ contract DummyGateway is IAxelarGateway { bytes32, string calldata, uint256 - ) external returns (bool){ + ) external pure returns (bool){ return _testParser(commandId); } diff --git a/contracts/mock/MockERC20.sol b/contracts/mock/MockERC20.sol index 4d80b1dbd..8947cca20 100644 --- a/contracts/mock/MockERC20.sol +++ b/contracts/mock/MockERC20.sol @@ -7,10 +7,10 @@ import "@openzeppelin/contracts/access/Ownable.sol"; contract MockERC20 is ERC20, ERC20Burnable, Ownable { constructor( - string memory curName, - string memory curSymbol, + string memory name, + string memory symbol, uint256 supply - ) ERC20(curName, curSymbol) { + ) ERC20(name, symbol) { _mint(msg.sender, supply * 10**decimals()); } diff --git a/contracts/mock/MockUSDC.sol b/contracts/mock/MockUSDC.sol index 0cb26a200..ed1df8cb5 100644 --- a/contracts/mock/MockUSDC.sol +++ b/contracts/mock/MockUSDC.sol @@ -7,10 +7,10 @@ import "@openzeppelin/contracts/access/Ownable.sol"; contract MockUSDC is ERC20, ERC20Burnable, Ownable { constructor( - string memory curName, - string memory curSymbol, + string memory name, + string memory symbol, uint256 supply - ) ERC20(curName, curSymbol) { + ) ERC20(name, symbol) { _mint(msg.sender, supply * 10**decimals()); } diff --git a/contracts/mock/uniswapUtils.sol b/contracts/mock/uniswapUtils.sol index 04b9c85db..343121da3 100644 --- a/contracts/mock/uniswapUtils.sol +++ b/contracts/mock/uniswapUtils.sol @@ -3,9 +3,9 @@ pragma solidity ^0.8.16; pragma abicoder v2; import {RegistrarStorage} from "../core/registrar/storage.sol"; -import {IRegistrar} from "../core/registrar/interface/IRegistrar.sol"; +import {IRegistrar} from "../core/registrar/interfaces/IRegistrar.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; -import {IPool} from "../core/swap-router/Interface/Ipool.sol"; +import {IPool} from "../core/swap-router/interfaces/Ipool.sol"; import "./INonfungiblePositionManager.sol"; import "hardhat/console.sol"; diff --git a/contracts/multisigs/MultiSigGeneric.sol b/contracts/multisigs/MultiSigGeneric.sol index 0ba9006c6..2696c6163 100644 --- a/contracts/multisigs/MultiSigGeneric.sol +++ b/contracts/multisigs/MultiSigGeneric.sol @@ -23,13 +23,13 @@ contract MultiSigGeneric is _; } - modifier ownerDoesNotExist(address owner) { - require(!isOwner[owner]); + modifier ownerDoesNotExist(address _owner) { + require(!isOwner[_owner]); _; } - modifier ownerExists(address owner) { - require(isOwner[owner]); + modifier ownerExists(address _owner) { + require(isOwner[_owner]); _; } @@ -38,13 +38,13 @@ contract MultiSigGeneric is _; } - modifier confirmed(uint256 transactionId, address owner) { - require(confirmations[transactionId][owner]); + modifier confirmed(uint256 transactionId, address _owner) { + require(confirmations[transactionId][_owner]); _; } - modifier notConfirmed(uint256 transactionId, address owner) { - require(!confirmations[transactionId][owner]); + modifier notConfirmed(uint256 transactionId, address _owner) { + require(!confirmations[transactionId][_owner]); _; } @@ -53,17 +53,17 @@ contract MultiSigGeneric is _; } - modifier notNull(address curAddress) { - require(curAddress != address(0)); + modifier notNull(address addr) { + require(addr != address(0)); _; } - modifier validRequirement(uint256 ownerCount, uint256 curRequired) { + modifier validRequirement(uint256 _ownerCount, uint256 _required) { require( - ownerCount <= MAX_OWNER_COUNT && - curRequired <= ownerCount && - curRequired != 0 && - ownerCount != 0 + _ownerCount <= MAX_OWNER_COUNT && + _required <= _ownerCount && + _required != 0 && + _ownerCount != 0 ); _; } @@ -82,92 +82,93 @@ contract MultiSigGeneric is * Public functions */ /// @dev Contract constructor sets initial owners and required number of confirmations. - /// @param curOwners List of initial owners. - /// @param curRequired Number of required confirmations. + /// @param _owners List of initial owners. + /// @param _required Number of required confirmations. + /// @param _requireExecution setting for if an explicit execution call is required function initialize( - address[] memory curOwners, - uint256 curRequired, - bool curRequireexecution - ) public virtual initializer validRequirement(curOwners.length, curRequired) { - for (uint256 i = 0; i < curOwners.length; i++) { - require(!isOwner[curOwners[i]] && curOwners[i] != address(0)); - isOwner[curOwners[i]] = true; + address[] memory _owners, + uint256 _required, + bool _requireExecution + ) public virtual initializer validRequirement(_owners.length, _required) { + for (uint256 i = 0; i < _owners.length; i++) { + require(!isOwner[_owners[i]] && _owners[i] != address(0)); + isOwner[_owners[i]] = true; } - owners = curOwners; - required = curRequired; - requireExecution = curRequireexecution; + owners = _owners; + required = _required; + requireExecution = _requireExecution; } /// @dev Allows to add a new owner. Transaction has to be sent by wallet. - /// @param owner Address of new owner. - function addOwner(address owner) + /// @param _owner Address of new owner. + function addOwner(address _owner) public virtual override onlyWallet - ownerDoesNotExist(owner) - notNull(owner) + ownerDoesNotExist(_owner) + notNull(_owner) validRequirement(owners.length + 1, required) { - isOwner[owner] = true; - owners.push(owner); - emit OwnerAddition(owner); + isOwner[_owner] = true; + owners.push(_owner); + emit OwnerAddition(_owner); } /// @dev Allows to remove an owner. Transaction has to be sent by wallet. - /// @param owner Address of owner. - function removeOwner(address owner) + /// @param _owner Address of owner. + function removeOwner(address _owner) public virtual override onlyWallet - ownerExists(owner) + ownerExists(_owner) { - isOwner[owner] = false; + isOwner[_owner] = false; for (uint256 i = 0; i < owners.length - 1; i++) - if (owners[i] == owner) { + if (owners[i] == _owner) { owners[i] = owners[owners.length - 1]; break; } // TODO check if pops from back owners.pop(); if (required > owners.length) changeRequirement(owners.length); - emit OwnerRemoval(owner); + emit OwnerRemoval(_owner); } /// @dev Allows to replace an owner with a new owner. Transaction has to be sent by wallet. - /// @param owner Address of owner to be replaced. - /// @param newOwner Address of new owner. - function replaceOwner(address owner, address newOwner) + /// @param _owner Address of owner to be replaced. + /// @param _newOwner Address of new owner. + function replaceOwner(address _owner, address _newOwner) public virtual override onlyWallet - ownerExists(owner) - ownerDoesNotExist(newOwner) + ownerExists(_owner) + ownerDoesNotExist(_newOwner) { for (uint256 i = 0; i < owners.length; i++) - if (owners[i] == owner) { - owners[i] = newOwner; + if (owners[i] == _owner) { + owners[i] = _newOwner; break; } - isOwner[owner] = false; - isOwner[newOwner] = true; - emit OwnerRemoval(owner); - emit OwnerAddition(newOwner); + isOwner[_owner] = false; + isOwner[_newOwner] = true; + emit OwnerRemoval(_owner); + emit OwnerAddition(_newOwner); } /// @dev Allows to change the number of required confirmations. Transaction has to be sent by wallet. - /// @param curRequired Number of required confirmations. - function changeRequirement(uint256 curRequired) + /// @param _required Number of required confirmations. + function changeRequirement(uint256 _required) public virtual override onlyWallet - validRequirement(owners.length, curRequired) + validRequirement(owners.length, _required) { - required = curRequired; - emit RequirementChange(curRequired); + required = _required; + emit RequirementChange(_required); } /// @dev Allows an owner to submit and confirm a transaction. @@ -352,12 +353,12 @@ contract MultiSigGeneric is /// @dev Returns array with owner addresses, which confirmed transaction. /// @param transactionId Transaction ID. - /// @return curConfirmations Returns array of owner addresses. + /// @return ownerConfirmations Returns array of owner addresses. function getConfirmations(uint256 transactionId) public view override - returns (address[] memory curConfirmations) + returns (address[] memory ownerConfirmations) { address[] memory confirmationsTemp = new address[](owners.length); uint256 count = 0; @@ -367,8 +368,8 @@ contract MultiSigGeneric is confirmationsTemp[count] = owners[i]; count += 1; } - curConfirmations = new address[](count); - for (i = 0; i < count; i++) curConfirmations[i] = confirmationsTemp[i]; + ownerConfirmations = new address[](count); + for (i = 0; i < count; i++) ownerConfirmations[i] = confirmationsTemp[i]; } /// @dev Returns list of transaction IDs in defined range. @@ -376,13 +377,13 @@ contract MultiSigGeneric is /// @param to Index end position of transaction array. /// @param pending Include pending transactions. /// @param executed Include executed transactions. - /// @return curTransactionids Returns array of transaction IDs. + /// @return transactionIds Returns array of transaction IDs. function getTransactionIds( uint256 from, uint256 to, bool pending, bool executed - ) public view override returns (uint256[] memory curTransactionids) { + ) public view override returns (uint256[] memory transactionIds) { uint256[] memory transactionIdsTemp = new uint256[](transactionCount); uint256 count = 0; uint256 i; @@ -394,8 +395,8 @@ contract MultiSigGeneric is transactionIdsTemp[count] = i; count += 1; } - curTransactionids = new uint256[](to - from); + transactionIds = new uint256[](to - from); for (i = from; i < to; i++) - curTransactionids[i - from] = transactionIdsTemp[i]; + transactionIds[i - from] = transactionIdsTemp[i]; } } diff --git a/contracts/multisigs/charity_applications/CharityApplication.sol b/contracts/multisigs/charity_applications/CharityApplication.sol index 20737a24d..0156634a8 100644 --- a/contracts/multisigs/charity_applications/CharityApplication.sol +++ b/contracts/multisigs/charity_applications/CharityApplication.sol @@ -1,15 +1,15 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.16; import "./storage.sol"; -import {ICharityApplication} from "./interface/ICharityApplication.sol"; +import {ICharityApplication} from "./interfaces/ICharityApplication.sol"; import "@openzeppelin/contracts/utils/introspection/ERC165.sol"; import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol"; import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {AngelCoreStruct} from "../../core/struct.sol"; -import {IAccountsCreateEndowment} from "../../core/accounts/interface/IAccountsCreateEndowment.sol"; -import {IAccountsQuery} from "../../core/accounts/interface/IAccountsQuery.sol"; -import {IAccountsDepositWithdrawEndowments} from "../../core/accounts/interface/IAccountsDepositWithdrawEndowments.sol"; +import {IAccountsCreateEndowment} from "../../core/accounts/interfaces/IAccountsCreateEndowment.sol"; +import {IAccountsQuery} from "../../core/accounts/interfaces/IAccountsQuery.sol"; +import {IAccountsDepositWithdrawEndowments} from "../../core/accounts/interfaces/IAccountsDepositWithdrawEndowments.sol"; import {AccountStorage} from "../../core/accounts/storage.sol"; import {AccountMessages} from "../../core/accounts/message.sol"; @@ -31,7 +31,7 @@ library CharityApplicationLib { CharityApplicationsStorage.Config storage config ) public { require(proposals[proposalCounter].proposer == address(0), "Proposal already exists"); - require(charityApplication.endow_type == AngelCoreStruct.EndowmentType.Charity, "Unauthorized"); + require(charityApplication.endowType == AngelCoreStruct.EndowmentType.Charity, "Unauthorized"); require(charityApplication.categories.sdgs.length > 0, "No UN SDGs given"); // check all sdgs id @@ -130,41 +130,41 @@ contract CharityApplication is * where people can send applications to open a charity endowment on AP * @dev seed asset will always be USDC * @dev Initialize the contract - * @param curExpiry Proposal expiry time in seconds - * @param curApplicationmultisig AP Team multisig address - * @param curAccountscontract Accounts contract address - * @param curSeedsplittoliquid Seed split to liquid - * @param curNewendowgasmoney New endow gas money - * @param curGasamount Gas amount - * @param curFundseedasset Fund seed asset - * @param curSeedasset Seed asset - * @param curSeedassetamount Seed asset amount + * @param expiry Proposal expiry time in seconds + * @param applicationmultisig AP Team multisig address + * @param accountscontract Accounts contract address + * @param seedsplittoliquid Seed split to liquid + * @param newendowgasmoney New endow gas money + * @param gasamount Gas amount + * @param fundseedasset Fund seed asset + * @param seedasset Seed asset + * @param seedassetamount Seed asset amount */ function initialize( - uint256 curExpiry, - address curApplicationmultisig, - address curAccountscontract, - uint256 curSeedsplittoliquid, - bool curNewendowgasmoney, - uint256 curGasamount, - bool curFundseedasset, - address curSeedasset, - uint256 curSeedassetamount + uint256 expiry, + address applicationmultisig, + address accountscontract, + uint256 seedsplittoliquid, + bool newendowgasmoney, + uint256 gasamount, + bool fundseedasset, + address seedasset, + uint256 seedassetamount ) public { require(!initialized, "already initialized"); initialized = true; proposalCounter = 1; - config.applicationMultisig = curApplicationmultisig; - config.accountsContract = curAccountscontract; - config.seedSplitToLiquid = curSeedsplittoliquid; - config.newEndowGasMoney = curNewendowgasmoney; - config.gasAmount = curGasamount; - config.fundSeedAsset = curFundseedasset; - config.seedAsset = curSeedasset; - config.seedAssetAmount = curSeedassetamount; - if (curExpiry == 0) + config.applicationMultisig = applicationmultisig; + config.accountsContract = accountscontract; + config.seedSplitToLiquid = seedsplittoliquid; + config.newEndowGasMoney = newendowgasmoney; + config.gasAmount = gasamount; + config.fundSeedAsset = fundseedasset; + config.seedAsset = seedasset; + config.seedAssetAmount = seedassetamount; + if (expiry == 0) config.proposalExpiry = 4 * 24 * 60 * 60; // 4 days in seconds - else config.proposalExpiry = curExpiry; + else config.proposalExpiry = expiry; emit InitilizedCharityApplication(config); } @@ -215,7 +215,7 @@ contract CharityApplication is .Status .Approved; - uint256 endowmentId = _executeCharity(proposalId); + uint32 endowmentId = _executeCharity(proposalId); emit CharityApproved(proposalId, endowmentId); } @@ -250,8 +250,8 @@ contract CharityApplication is */ function _executeCharity( uint256 proposalId - ) internal isApproved(proposalId) notExpired(proposalId) returns (uint256) { - uint256 endowmentId = IAccountsCreateEndowment(config.accountsContract) + ) internal isApproved(proposalId) notExpired(proposalId) returns (uint32) { + uint32 endowmentId = IAccountsCreateEndowment(config.accountsContract) .createEndowment(proposals[proposalId].charityApplication); if (config.newEndowGasMoney) { @@ -327,43 +327,43 @@ contract CharityApplication is /** * @notice update config function which updates config if the supplied input parameter is not null or 0 * @dev update config function which updates config if the supplied input parameter is not null or 0 - * @param curExpiry expiry time for proposals - * @param curApplicationmultisig address of AP Team multisig - * @param curAccountscontract address of accounts contract - * @param curSeedsplittoliquid percentage of seed asset to be sent to liquid - * @param curNewendowgasmoney boolean to check if gas money is to be sent - * @param curGasamount amount of gas to be sent - * @param curFundseedasset boolean to check if seed asset is to be sent - * @param curSeedasset address of seed asset - * @param curSeedassetamount amount of seed asset to be sent + * @param expiry expiry time for proposals + * @param applicationmultisig address of AP Team multisig + * @param accountscontract address of accounts contract + * @param seedsplittoliquid percentage of seed asset to be sent to liquid + * @param newendowgasmoney boolean to check if gas money is to be sent + * @param gasamount amount of gas to be sent + * @param fundseedasset boolean to check if seed asset is to be sent + * @param seedasset address of seed asset + * @param seedassetamount amount of seed asset to be sent */ function updateConfig( - uint256 curExpiry, - address curApplicationmultisig, - address curAccountscontract, - uint256 curSeedsplittoliquid, - bool curNewendowgasmoney, - uint256 curGasamount, - bool curFundseedasset, - address curSeedasset, - uint256 curSeedassetamount + uint256 expiry, + address applicationmultisig, + address accountscontract, + uint256 seedsplittoliquid, + bool newendowgasmoney, + uint256 gasamount, + bool fundseedasset, + address seedasset, + uint256 seedassetamount ) public override nonReentrant onlyApplicationsMultisig { - if (curExpiry != 0) config.proposalExpiry = curExpiry; - if (curApplicationmultisig != address(0)) - config.applicationMultisig = curApplicationmultisig; - if (curAccountscontract != address(0)) - config.accountsContract = curAccountscontract; - if (curSeedsplittoliquid != 0 && curSeedsplittoliquid <= 100) - config.seedSplitToLiquid = curSeedsplittoliquid; + if (expiry != 0) config.proposalExpiry = expiry; + if (applicationmultisig != address(0)) + config.applicationMultisig = applicationmultisig; + if (accountscontract != address(0)) + config.accountsContract = accountscontract; + if (seedsplittoliquid != 0 && seedsplittoliquid <= 100) + config.seedSplitToLiquid = seedsplittoliquid; if ( - curNewendowgasmoney || - (curNewendowgasmoney == false && config.newEndowGasMoney == true) - ) config.newEndowGasMoney = curNewendowgasmoney; - if (curGasamount != 0) config.gasAmount = curGasamount; - if (curFundseedasset) config.fundSeedAsset = curFundseedasset; - if (curSeedasset != address(0)) config.seedAsset = curSeedasset; - if (curSeedassetamount != 0) - config.seedAssetAmount = curSeedassetamount; + newendowgasmoney || + (newendowgasmoney == false && config.newEndowGasMoney == true) + ) config.newEndowGasMoney = newendowgasmoney; + if (gasamount != 0) config.gasAmount = gasamount; + if (fundseedasset) config.fundSeedAsset = fundseedasset; + if (seedasset != address(0)) config.seedAsset = seedasset; + if (seedassetamount != 0) + config.seedAssetAmount = seedassetamount; } function queryConfig() diff --git a/contracts/multisigs/charity_applications/interface/ICharityApplication.sol b/contracts/multisigs/charity_applications/interfaces/ICharityApplication.sol similarity index 86% rename from contracts/multisigs/charity_applications/interface/ICharityApplication.sol rename to contracts/multisigs/charity_applications/interfaces/ICharityApplication.sol index 912837287..f64aa176d 100644 --- a/contracts/multisigs/charity_applications/interface/ICharityApplication.sol +++ b/contracts/multisigs/charity_applications/interfaces/ICharityApplication.sol @@ -62,14 +62,14 @@ abstract contract ICharityApplication is IERC165 { function rejectCharity(uint256 proposalId) public virtual; function updateConfig( - uint256 curExpiry, - address curApteammultisig, - address curAccountscontract, - uint256 curSeedsplittoliquid, - bool curNewendowgasmoney, - uint256 curGasamount, - bool curFundseedasset, - address curSeedasset, - uint256 curSeedassetamount + uint256 expiry, + address apteammultisig, + address accountscontract, + uint256 seedsplittoliquid, + bool newendowgasmoney, + uint256 gasamount, + bool fundseedasset, + address seedasset, + uint256 seedassetamount ) public virtual; } diff --git a/contracts/multisigs/charity_applications/scripts/deploy.ts b/contracts/multisigs/charity_applications/scripts/deploy.ts index 776b424b9..adbf8f20b 100644 --- a/contracts/multisigs/charity_applications/scripts/deploy.ts +++ b/contracts/multisigs/charity_applications/scripts/deploy.ts @@ -5,7 +5,7 @@ import { BigNumberish } from 'ethers' import { HardhatRuntimeEnvironment } from 'hardhat/types' import { CharityApplication__factory } from "typechain-types" import { PromiseOrValue } from 'typechain-types/common' -import { saveFrontendFiles } from 'scripts/readWriteFile' +import { logger, updateAddresses } from "utils" type InitializeParamsType = [ PromiseOrValue, @@ -50,6 +50,17 @@ export async function charityApplications(CharityApplicationDataInput: Initializ console.log('CharityApplication Address (Proxy):', CharityApplicationProxy.address); + logger.out("Saving addresses to contract-address.json...") + await updateAddresses( + { + charityApplication: { + proxy: CharityApplicationProxy.address, + implementation: CharityApplicationInstance.address, + } + }, + hre + ); + if(verify_contracts){ await run(`verify:verify`, { address: CharityApplicationInstance.address, @@ -61,13 +72,6 @@ export async function charityApplications(CharityApplicationDataInput: Initializ }); } - let charityApplication = { - CharityApplicationProxy: CharityApplicationProxy.address, - CharityApplicationImplementation: CharityApplicationInstance.address - } - - await saveFrontendFiles({charityApplication}); - return Promise.resolve(CharityApplicationProxy.address); } catch (error) { return Promise.reject(error) diff --git a/contracts/multisigs/interfaces/IMultiSigGeneric.sol b/contracts/multisigs/interfaces/IMultiSigGeneric.sol index 88045af94..daadb2fb4 100644 --- a/contracts/multisigs/interfaces/IMultiSigGeneric.sol +++ b/contracts/multisigs/interfaces/IMultiSigGeneric.sol @@ -27,7 +27,7 @@ abstract contract IMultiSigGeneric is IERC165 { /// @dev Fallback function allows to deposit ether. fallback() external payable virtual; - // function initialize(address[] memory curOwners, uint256 curRequired) + // function initialize(address[] memory owners, uint256 required) // public // virtual; @@ -45,8 +45,8 @@ abstract contract IMultiSigGeneric is IERC165 { function replaceOwner(address owner, address newOwner) public virtual; /// @dev Allows to change the number of required confirmations. Transaction has to be sent by wallet. - /// @param curRequired Number of required confirmations. - function changeRequirement(uint256 curRequired) public virtual; + /// @param required Number of required confirmations. + function changeRequirement(uint256 required) public virtual; /// @dev Allows an owner to submit and confirm a transaction. /// @param destination Transaction target address. @@ -130,23 +130,23 @@ abstract contract IMultiSigGeneric is IERC165 { /// @dev Returns array with owner addresses, which confirmed transaction. /// @param transactionId Transaction ID. - /// @return curConfirmations Returns array of owner addresses. + /// @return confirmations Returns array of owner addresses. function getConfirmations(uint256 transactionId) public view virtual - returns (address[] memory curConfirmations); + returns (address[] memory confirmations); /// @dev Returns list of transaction IDs in defined range. /// @param from Index start position of transaction array. /// @param to Index end position of transaction array. /// @param pending Include pending transactions. /// @param executed Include executed transactions. - /// @return curTransactionids Returns array of transaction IDs. + /// @return transactionids Returns array of transaction IDs. function getTransactionIds( uint256 from, uint256 to, bool pending, bool executed - ) public view virtual returns (uint256[] memory curTransactionids); + ) public view virtual returns (uint256[] memory transactionids); } diff --git a/contracts/multisigs/scripts/deploy.ts b/contracts/multisigs/scripts/deploy.ts index 81741d425..fd44ae2f6 100644 --- a/contracts/multisigs/scripts/deploy.ts +++ b/contracts/multisigs/scripts/deploy.ts @@ -1,12 +1,9 @@ // This is a script for deploying your contracts. You can adapt it to deploy // yours, or create new ones. -import path from 'path' -import { charityApplications } from '../charity_applications/scripts/deploy' -import config from 'config' -import { saveFrontendFiles } from 'scripts/readWriteFile' import { HardhatRuntimeEnvironment } from 'hardhat/types' -import { ApplicationsMultiSig, APTeamMultiSig } from 'typechain-types' +import { APTeamMultiSig, ApplicationsMultiSig } from 'typechain-types' +import { logger, updateAddresses } from "utils" // import { IndexFundMessage } from "typechain-types/contracts/core/index-fund/IndexFund" const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000'; @@ -32,7 +29,7 @@ export async function deployMultisig(ApplicationMultisigData: Parameters 0, "Invalid Fee"); - state.config.poolFee = curDetails.poolFee; + require(details.poolFee > 0, "Invalid Fee"); + state.config.poolFee = details.poolFee; - require(curDetails.usdcAddress != address(0), "Invalid Address"); - state.config.usdcAddress = curDetails.usdcAddress; + require(details.usdcAddress != address(0), "Invalid Address"); + state.config.usdcAddress = details.usdcAddress; } /** @@ -74,7 +74,7 @@ contract DonationMatch is Storage, Initializable { * @param token address */ function executeDonorMatch( - uint256 endowmentId, + uint32 endowmentId, uint256 amount, address donor, address token @@ -97,19 +97,12 @@ contract DonationMatch is Storage, Initializable { registrar_config.accountsContract ).queryEndowmentDetails(endowmentId); - require( - endow_detail.status == AngelCoreStruct.EndowmentStatus.Approved, - "Unauthorized" - ); - - if (endow_detail.endow_type == AngelCoreStruct.EndowmentType.Charity) { + if (endow_detail.endowType == AngelCoreStruct.EndowmentType.Charity) { require( address(this) == registrar_config.donationMatchCharitesContract, "Unauthorized" ); - } - - if (endow_detail.endow_type == AngelCoreStruct.EndowmentType.Normal) { + } else if (endow_detail.endowType == AngelCoreStruct.EndowmentType.Normal) { require( address(this) == endow_detail.donationMatchContract, "Unauthorized" @@ -131,13 +124,15 @@ contract DonationMatch is Storage, Initializable { // give allowance to dao token contract - bool success = IERC20(token).approve( - state.config.reserveToken, - reserveTokenAmount + require( + IERC20(token) + .approve( + state.config.reserveToken, + reserveTokenAmount + ), + "Token transfer failed" ); - require(success, "Token transfer failed"); - IDonationMatchEmitter(emitterAddress).giveApprovalErC20( endowmentId, token, @@ -176,7 +171,7 @@ contract DonationMatch is Storage, Initializable { "Approve failed" ); - IAccountsDepositWithdrawEndowments( + IAccountDonationMatch( registrar_config.accountsContract ).depositDonationMatchErC20(endowmentId, token, endowmentAmount); @@ -195,7 +190,7 @@ contract DonationMatch is Storage, Initializable { } else { // call execute donor match on dao token contract - // approve reserve currency to dao token contract [GIVE approval] + // approve reserve rency to dao token contract [GIVE approval] require( IERC20(state.config.reserveToken).approve( @@ -233,17 +228,17 @@ contract DonationMatch is Storage, Initializable { } function queryUniswapPrice( - address curTokenin, - uint256 curAmountin, - address curTokenout + address tokenin, + uint256 amountin, + address tokenout ) internal view returns (uint256) { - if (curTokenin == curTokenout) { - return curAmountin; + if (tokenin == tokenout) { + return amountin; } address pool = IUniswapV3Factory(state.config.uniswapFactory).getPool( - curTokenin, - curTokenout, + tokenin, + tokenout, state.config.poolFee ); if (pool == address(0)) { @@ -252,13 +247,13 @@ contract DonationMatch is Storage, Initializable { (uint160 sqrtPriceX96, , , , , , ) = IUniswapV3PoolState(pool).slot0(); - if (curTokenin < curTokenout) { + if (tokenin < tokenout) { return - (((curAmountin * sqrtPriceX96) / 2 ** 96) * sqrtPriceX96) / + (((amountin * sqrtPriceX96) / 2 ** 96) * sqrtPriceX96) / 2 ** 96; } else { return - (((curAmountin * 2 ** 96) / sqrtPriceX96) * 2 ** 96) / + (((amountin * 2 ** 96) / sqrtPriceX96) * 2 ** 96) / sqrtPriceX96; } } diff --git a/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol b/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol index a48adf2e2..c15f63de3 100644 --- a/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol +++ b/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.16; import "./storage.sol"; import {DonationMatchMessages} from "./message.sol"; import {RegistrarStorage} from "../../core/registrar/storage.sol"; -import {IRegistrar} from "../../core/registrar/interface/IRegistrar.sol"; +import {IRegistrar} from "../../core/registrar/interfaces/IRegistrar.sol"; import {AccountMessages} from "../../core/accounts/message.sol"; import {AccountStorage} from "../../core/accounts/storage.sol"; import {IAccounts} from "../../core/accounts/IAccounts.sol"; @@ -15,15 +15,15 @@ import "@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol"; import "@uniswap/v3-core/contracts/libraries/FullMath.sol"; import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol"; import {IDonationMatchEmitter} from "./IDonationMatchEmitter.sol"; -import {IAccountsDepositWithdrawEndowments} from "./../../core/accounts/interface/IAccountsDepositWithdrawEndowments.sol"; +import {IAccountDonationMatch} from "./../../core/accounts/interfaces/IAccountDonationMatch.sol"; import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol"; interface SubdaoToken { function executeDonorMatch( - uint256 curAmount, - address curAccountscontract, - uint256 curEndowmentid, - address curDonor + uint256 amount, + address accountscontract, + uint32 endowmentid, + address donor ) external; } @@ -39,19 +39,19 @@ contract DonationMatchCharity is Storage, Initializable, ReentrancyGuard { DonationMatchStorage.Config config ); event DonationMatchCharityErc20ApprovalGiven( - uint256 endowmentId, + uint32 endowmentId, address tokenAddress, address spender, uint256 amount ); event DonationMatchCharityErc20Transfer( - uint256 endowmentId, + uint32 endowmentId, address tokenAddress, address recipient, uint256 amount ); event DonationMatchCharityErc20Burned( - uint256 endowmentId, + uint32 endowmentId, address tokenAddress, uint256 amount ); @@ -60,33 +60,33 @@ contract DonationMatchCharity is Storage, Initializable, ReentrancyGuard { address tokenAddress, uint256 amount, address accountsContract, - uint256 endowmentId, + uint32 endowmentId, address donor ); function initialize( - DonationMatchMessages.InstantiateMessage memory curDetails + DonationMatchMessages.InstantiateMessage memory details ) public initializer { - require(curDetails.reserveToken != address(0), "Invalid Address"); - state.config.reserveToken = curDetails.reserveToken; + require(details.reserveToken != address(0), "Invalid Address"); + state.config.reserveToken = details.reserveToken; - require(curDetails.uniswapFactory != address(0), "Invalid Address"); - state.config.uniswapFactory = curDetails.uniswapFactory; + require(details.uniswapFactory != address(0), "Invalid Address"); + state.config.uniswapFactory = details.uniswapFactory; - require(curDetails.registrarContract != address(0), "Invalid Address"); - state.config.registrarContract = curDetails.registrarContract; + require(details.registrarContract != address(0), "Invalid Address"); + state.config.registrarContract = details.registrarContract; - require(curDetails.poolFee > 0, "Invalid Fee"); - state.config.poolFee = curDetails.poolFee; + require(details.poolFee > 0, "Invalid Fee"); + state.config.poolFee = details.poolFee; - require(curDetails.usdcAddress != address(0), "Invalid Address"); - state.config.usdcAddress = curDetails.usdcAddress; + require(details.usdcAddress != address(0), "Invalid Address"); + state.config.usdcAddress = details.usdcAddress; emit DonationMatchCharityInitialized(address(this), state.config); } function executeDonorMatch( - uint256 endowmentId, + uint32 endowmentId, uint256 amount, address donor, address token @@ -109,19 +109,12 @@ contract DonationMatchCharity is Storage, Initializable, ReentrancyGuard { registrar_config.accountsContract ).queryEndowmentDetails(endowmentId); - require( - endow_detail.status == AngelCoreStruct.EndowmentStatus.Approved, - "Unauthorized" - ); - - if (endow_detail.endow_type == AngelCoreStruct.EndowmentType.Charity) { + if (endow_detail.endowType == AngelCoreStruct.EndowmentType.Charity) { require( address(this) == registrar_config.donationMatchCharitesContract, "Unauthorized" ); - } - - if (endow_detail.endow_type == AngelCoreStruct.EndowmentType.Normal) { + } else if (endow_detail.endowType == AngelCoreStruct.EndowmentType.Normal) { require( address(this) == endow_detail.donationMatchContract, "Unauthorized" @@ -195,7 +188,7 @@ contract DonationMatchCharity is Storage, Initializable, ReentrancyGuard { ); require(success, "Approve failed"); - IAccountsDepositWithdrawEndowments( + IAccountDonationMatch( registrar_config.accountsContract ).depositDonationMatchErC20(endowmentId, token, endowmentAmount); @@ -213,7 +206,7 @@ contract DonationMatchCharity is Storage, Initializable, ReentrancyGuard { burnAmount ); } else { - // approve reserve currency to dao token contract [GIvE approval] + // approve reserve rency to dao token contract [GIvE approval] success = IERC20(state.config.reserveToken).approve( token, @@ -248,16 +241,16 @@ contract DonationMatchCharity is Storage, Initializable, ReentrancyGuard { } function queryUniswapPrice( - address curTokenin, - uint256 curAmountin, - address curTokenout + address tokenin, + uint256 amountin, + address tokenout ) internal view returns (uint256) { - if (curTokenin == curTokenout) { - return curAmountin; + if (tokenin == tokenout) { + return amountin; } address pool = IUniswapV3Factory(state.config.uniswapFactory).getPool( - curTokenin, - curTokenout, + tokenin, + tokenout, state.config.poolFee ); if (pool == address(0)) { @@ -266,13 +259,13 @@ contract DonationMatchCharity is Storage, Initializable, ReentrancyGuard { (uint160 sqrtPriceX96, , , , , , ) = IUniswapV3PoolState(pool).slot0(); - if (curTokenin < curTokenout) { + if (tokenin < tokenout) { return - (((curAmountin * sqrtPriceX96) / 2 ** 96) * sqrtPriceX96) / + (((amountin * sqrtPriceX96) / 2 ** 96) * sqrtPriceX96) / 2 ** 96; } else { return - (((curAmountin * 2 ** 96) / sqrtPriceX96) * 2 ** 96) / + (((amountin * 2 ** 96) / sqrtPriceX96) * 2 ** 96) / sqrtPriceX96; } } diff --git a/contracts/normalized_endowment/donation-match/DonationMatchEmitter.sol b/contracts/normalized_endowment/donation-match/DonationMatchEmitter.sol index 970f81e60..666efa5b4 100644 --- a/contracts/normalized_endowment/donation-match/DonationMatchEmitter.sol +++ b/contracts/normalized_endowment/donation-match/DonationMatchEmitter.sol @@ -8,14 +8,14 @@ contract DonationMatchEmitter { address accountsContract; mapping(address => bool) public isDonationMatch; - function initDonationMatchEmiiter(address curAccountscontract) public { + function initDonationMatchEmiiter(address accountscontract) public { require( - curAccountscontract != address(0), + accountscontract != address(0), "Invalid accounts contract address" ); require(!initialized, "Already initialized"); initialized = true; - accountsContract = curAccountscontract; + accountsContract = accountscontract; } modifier isOwner() { @@ -27,34 +27,34 @@ contract DonationMatchEmitter { _; } event DonationMatchInitialized( - uint256 endowmentId, + uint32 endowmentId, address donationMatch, DonationMatchStorage.Config config ); event Erc20ApprovalGiven( - uint256 endowmentId, + uint32 endowmentId, address tokenAddress, address spender, uint amount ); event Erc20Transfer( - uint256 endowmentId, + uint32 endowmentId, address tokenAddress, address recipient, uint amount ); - event Erc20Burned(uint256 endowmentId, address tokenAddress, uint amount); + event Erc20Burned(uint32 endowmentId, address tokenAddress, uint amount); event DonationMatchExecuted( address donationMatch, address tokenAddress, uint amount, address accountsContract, - uint256 endowmentId, + uint32 endowmentId, address donor ); function initializeDonationMatch( - uint256 endowmentId, + uint32 endowmentId, address donationMatch, DonationMatchStorage.Config memory config ) public isOwner { @@ -63,7 +63,7 @@ contract DonationMatchEmitter { } function giveApprovalErC20( - uint256 endowmentId, + uint32 endowmentId, address tokenAddress, address recipient, uint amount @@ -72,7 +72,7 @@ contract DonationMatchEmitter { } function transferErC20( - uint256 endowmentId, + uint32 endowmentId, address tokenAddress, address recipient, uint amount @@ -81,7 +81,7 @@ contract DonationMatchEmitter { } function burnErC20( - uint256 endowmentId, + uint32 endowmentId, address tokenAddress, uint amount ) public isEmitter { @@ -91,15 +91,15 @@ contract DonationMatchEmitter { function executeDonorMatch( address tokenAddress, uint256 amount, - address curAccountsContract, - uint256 endowmentId, + address accountsContract, + uint32 endowmentId, address donor ) public isEmitter { emit DonationMatchExecuted( msg.sender, tokenAddress, amount, - curAccountsContract, + accountsContract, endowmentId, donor ); diff --git a/contracts/normalized_endowment/donation-match/UniswapOracleLibrary.dep.txt b/contracts/normalized_endowment/donation-match/UniswapOracleLibrary.dep.txt index 8f2168b1c..f18ea1c45 100644 --- a/contracts/normalized_endowment/donation-match/UniswapOracleLibrary.dep.txt +++ b/contracts/normalized_endowment/donation-match/UniswapOracleLibrary.dep.txt @@ -123,9 +123,9 @@ library OracleLibrary { secondsAgo = uint32(block.timestamp) - observationTimestamp; } - /// @notice Given a pool, it returns the tick value as of the start of the current block + /// @notice Given a pool, it returns the tick value as of the start of the rent block /// @param pool Address of Uniswap V3 pool - /// @return The tick that the pool was in at the start of the current block + /// @return The tick that the pool was in at the start of the rent block function getBlockStartingTickAndLiquidity(address pool) internal view @@ -144,8 +144,8 @@ library OracleLibrary { // 2 observations are needed to reliably calculate the block starting tick require(observationCardinality > 1, "NEO"); - // If the latest observation occurred in the past, then no tick-changing trades have happened in this block - // therefore the tick in `slot0` is the same as at the beginning of the current block. + // If the latest observation ocred in the past, then no tick-changing trades have happened in this block + // therefore the tick in `slot0` is the same as at the beginning of the rent block. // We don't need to check if this observation is initialized - it is guaranteed to be. ( uint32 observationTimestamp, diff --git a/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSig.sol b/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSig.sol index 5ca36c92e..b835741a3 100644 --- a/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSig.sol +++ b/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSig.sol @@ -1,7 +1,7 @@ // SPDX-License-Identifier: MIT pragma solidity ^0.8.16; import {MultiSigGeneric} from "../../multisigs/MultiSigGeneric.sol"; -import {IEndowmentMultiSigEmitter} from "./interface/IEndowmentMultiSigEmitter.sol"; +import {IEndowmentMultiSigEmitter} from "./interfaces/IEndowmentMultiSigEmitter.sol"; import {MultiSigStorage} from "../../multisigs/storage.sol"; import {Utils} from "../../lib/utils.sol"; /** @@ -24,78 +24,78 @@ contract EndowmentMultiSig is MultiSigGeneric { /** * @notice initialize the multisig with the endowment id and the endowment multisig emitter address * @dev special initialize function for endowment multisig - * @param endowmentId the endowment id - * @param curEmitter the endowment multisig emitter address - * @param curOwners the owners of the multisig - * @param curRequired the required number of signatures - * @param curRequireexecution the require execution flag + * @param _endowmentId the endowment id + * @param _emitter the endowment multisig emitter address + * @param _owners the owners of the multisig + * @param _required the required number of signatures + * @param _requireExecution the require execution flag */ function initialize( - uint256 endowmentId, - address curEmitter, - address[] memory curOwners, - uint256 curRequired, - bool curRequireexecution + uint256 _endowmentId, + address _emitter, + address[] memory _owners, + uint256 _required, + bool _requireExecution ) public initializer { - require(curEmitter != address(0), "Invalid Address"); - ENDOWMENT_ID = endowmentId; - EMITTER_ADDRESS = curEmitter; - super.initialize(curOwners, curRequired, curRequireexecution); + require(_emitter != address(0), "Invalid Address"); + ENDOWMENT_ID = _endowmentId; + EMITTER_ADDRESS = _emitter; + super.initialize(_owners, _required, _requireExecution); } /** * @notice overriden the generic multisig addOwner function * @dev emits the addOwnerEndowment event - * @param owner the owner to be added + * @param _owner the owner to be added */ - function addOwner(address owner) public override { - super.addOwner(owner); + function addOwner(address _owner) public override { + super.addOwner(_owner); IEndowmentMultiSigEmitter(EMITTER_ADDRESS).addOwnerEndowment( ENDOWMENT_ID, - owner + _owner ); } /** * @notice overriden the generic multisig removeOwner function * @dev emits the removeOwnerEndowment event - * @param owner the owner to be removed + * @param _owner the owner to be removed */ - function removeOwner(address owner) public override { - super.removeOwner(owner); + function removeOwner(address _owner) public override { + super.removeOwner(_owner); IEndowmentMultiSigEmitter(EMITTER_ADDRESS).removeOwnerEndowment( ENDOWMENT_ID, - owner + _owner ); } /** * @notice overriden the generic multisig replaceOwner function * @dev emits the removeOwnerEndowment and addOwnerEndowment events - * @param owner the owner to be replaced + * @param _owner the owner to be replaced */ - function replaceOwner(address owner, address newOwner) public override { - super.replaceOwner(owner, newOwner); + function replaceOwner(address _owner, address _newOwner) public override { + super.replaceOwner(_owner, _newOwner); IEndowmentMultiSigEmitter(EMITTER_ADDRESS).removeOwnerEndowment( ENDOWMENT_ID, - owner + _owner ); IEndowmentMultiSigEmitter(EMITTER_ADDRESS).addOwnerEndowment( ENDOWMENT_ID, - owner + _newOwner ); } /** * @notice overriden the generic multisig changeRequirement function * @dev emits the requirementChangeEndowment event - * @param curRequired the new required number of signatures + * @param _required the new required number of signatures */ - function changeRequirement(uint256 curRequired) public override { - super.changeRequirement(curRequired); + function changeRequirement(uint256 _required) public override { + super.changeRequirement(_required); IEndowmentMultiSigEmitter(EMITTER_ADDRESS).requirementChangeEndowment( ENDOWMENT_ID, - curRequired + _required ); } diff --git a/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigEmitter.sol b/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigEmitter.sol index 78d7221bb..9ad228cbb 100644 --- a/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigEmitter.sol +++ b/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigEmitter.sol @@ -12,15 +12,15 @@ contract EndowmentMultiSigEmitter { * Events */ - bool isInitialized = false; + bool isInitialized; address multisigFactory; mapping(address => bool) isMultisig; - function initEndowmentMultiSigEmitter(address curMultisigfactory) public { - require(curMultisigfactory != address(0), "Invalid Address"); + function initEndowmentMultiSigEmitter(address _multisigFactory) public { + require(_multisigFactory != address(0), "Invalid Address"); require(!isInitialized, "Already initialized"); isInitialized = true; - multisigFactory = curMultisigfactory; + multisigFactory = _multisigFactory; } modifier isEmitter() { @@ -34,10 +34,10 @@ contract EndowmentMultiSigEmitter { event MultisigCreated( address multisigAddress, uint256 endowmentId, - address curEmitter, - address[] curOwners, - uint256 curRequired, - bool curRequireexecution + address emitter, + address[] owners, + uint256 required, + bool requireexecution ); event EndowmentConfirmation( uint256 endowmentId, @@ -65,27 +65,27 @@ contract EndowmentMultiSigEmitter { * @notice emits MultisigCreated event * @param multisigAddress the multisig address * @param endowmentId the endowment id - * @param curEmitter the emitter of the multisig - * @param curOwners the owners of the multisig - * @param curRequired the required number of signatures - * @param curRequireexecution the require execution flag + * @param emitter the emitter of the multisig + * @param owners the owners of the multisig + * @param required the required number of signatures + * @param requireexecution the require execution flag */ function createMultisig( address multisigAddress, uint256 endowmentId, - address curEmitter, - address[] memory curOwners, - uint256 curRequired, - bool curRequireexecution + address emitter, + address[] memory owners, + uint256 required, + bool requireexecution ) public isOwner { isMultisig[multisigAddress] = true; emit MultisigCreated( multisigAddress, endowmentId, - curEmitter, - curOwners, - curRequired, - curRequireexecution + emitter, + owners, + required, + requireexecution ); } diff --git a/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol b/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol index 3f5f4f107..f58e39a9e 100644 --- a/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol +++ b/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol @@ -5,7 +5,7 @@ import "@openzeppelin/contracts/utils/introspection/ERC165.sol"; import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; import {ProxyContract} from "../../core/proxy.sol"; -import {IEndowmentMultiSigEmitter} from "./interface/IEndowmentMultiSigEmitter.sol"; +import {IEndowmentMultiSigEmitter} from "./interfaces/IEndowmentMultiSigEmitter.sol"; contract Factory { /* @@ -76,21 +76,21 @@ contract MultiSigWalletFactory is Factory, Ownable { } /// @dev Allows verified creation of multisignature wallet. - /// @param curOwners List of initial owners. - /// @param curRequired Number of required confirmations. + /// @param owners List of initial owners. + /// @param required Number of required confirmations. /// @return wallet Returns wallet address. function create( uint256 endowmentId, address emitterAddress, - address[] memory curOwners, - uint256 curRequired + address[] memory owners, + uint256 required ) public returns (address wallet) { bytes memory EndowmentData = abi.encodeWithSignature( "initialize(uint256,address,address[],uint256,bool)", endowmentId, emitterAddress, - curOwners, - curRequired, + owners, + required, false ); wallet = address( @@ -105,8 +105,8 @@ contract MultiSigWalletFactory is Factory, Ownable { wallet, endowmentId, emitterAddress, - curOwners, - curRequired, + owners, + required, false ); register(wallet); diff --git a/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigEmitter.sol b/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigEmitter.sol similarity index 91% rename from contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigEmitter.sol rename to contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigEmitter.sol index cad3b1f86..7e051a098 100644 --- a/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigEmitter.sol +++ b/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigEmitter.sol @@ -49,9 +49,9 @@ interface IEndowmentMultiSigEmitter { function createMultisig( address multisigAddress, uint256 endowmentId, - address curEmitter, - address[] memory curOwners, - uint256 curRequired, - bool curRequireexecution + address emitter, + address[] memory owners, + uint256 required, + bool requireexecution ) external; } diff --git a/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigFactory.sol b/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigFactory.sol similarity index 87% rename from contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigFactory.sol rename to contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigFactory.sol index 93d86e226..ea2b952df 100644 --- a/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigFactory.sol +++ b/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigFactory.sol @@ -5,8 +5,8 @@ interface IEndowmentMultiSigFactory { function create( uint256 endowmentId, address emitterAddress, - address[] memory curOwners, - uint256 curRequired + address[] memory owners, + uint256 required ) external returns (address); function updateImplementation(address implementationAddress) external; diff --git a/contracts/normalized_endowment/endowment-multisig/scripts/deploy.ts b/contracts/normalized_endowment/endowment-multisig/scripts/deploy.ts index 8eb698178..ee539b501 100644 --- a/contracts/normalized_endowment/endowment-multisig/scripts/deploy.ts +++ b/contracts/normalized_endowment/endowment-multisig/scripts/deploy.ts @@ -2,11 +2,7 @@ // yours, or create new ones. import { HardhatRuntimeEnvironment } from 'hardhat/types' -import { saveFrontendFiles } from 'scripts/readWriteFile' - -const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000'; - -let EndowmentMultiSigAddress: Record = {} +import { logger, updateAddresses } from "utils" const deployEndowmentMultiSigEmitter = async(proxyAdmin: string,factoryAddress: string,verify_contracts: boolean, hre: HardhatRuntimeEnvironment) =>{ try { @@ -18,6 +14,8 @@ const deployEndowmentMultiSigEmitter = async(proxyAdmin: string,factoryAddress: const EndowmentMultiSigEmitterImplementation = await EndowmentMultiSigEmitter.deploy(); await EndowmentMultiSigEmitterImplementation.deployed(); + console.log('EndowmentMultiSigEmitter Address (Implementation):', EndowmentMultiSigEmitterImplementation.address); + const EndowmentMultiSigEmitterData = EndowmentMultiSigEmitterImplementation.interface.encodeFunctionData('initEndowmentMultiSigEmitter', [factoryAddress]); const EndowmentMultiSigEmitterProxy = await ProxyContract.deploy(EndowmentMultiSigEmitterImplementation.address, proxyAdmin, EndowmentMultiSigEmitterData); @@ -37,10 +35,10 @@ const deployEndowmentMultiSigEmitter = async(proxyAdmin: string,factoryAddress: }); } - EndowmentMultiSigAddress.EndowmentMultiSigEmitterProxy = EndowmentMultiSigEmitterProxy.address; - EndowmentMultiSigAddress.EndowmentMultiSigEmitterImplementation = EndowmentMultiSigEmitterImplementation.address; - - return Promise.resolve(EndowmentMultiSigEmitterProxy.address); + return Promise.resolve({ + implementation: EndowmentMultiSigEmitterImplementation.address, + proxy: EndowmentMultiSigEmitterProxy.address, + }); } catch (error) { return Promise.reject(error); } @@ -64,12 +62,21 @@ export async function deployEndowmentMultiSig(verify_contracts: boolean, hre: Ha console.log('MultiSigWalletFactory address:', MultiSigWalletFactoryInstance.address); - - - let response = { - MultiSigWalletFactory: MultiSigWalletFactoryInstance.address, - EndowmentMultiSigEmitter: await deployEndowmentMultiSigEmitter(proxyAdmin.address, MultiSigWalletFactoryInstance.address, verify_contracts, hre) - } + const EndowmentMultiSigEmitterAddresses = await deployEndowmentMultiSigEmitter(proxyAdmin.address, MultiSigWalletFactoryInstance.address, verify_contracts, hre) + + logger.out("Saving addresses to contract-address.json...") + await updateAddresses( + { + multiSig: { + endowment: { + emitter: { ...EndowmentMultiSigEmitterAddresses }, + factory: MultiSigWalletFactoryInstance.address, + implementation: EndowmentMultiSigInstance.address + } + } + }, + hre + ); if(verify_contracts){ await run("verify:verify", { @@ -82,12 +89,10 @@ export async function deployEndowmentMultiSig(verify_contracts: boolean, hre: Ha }); } - EndowmentMultiSigAddress.MultiSigWalletFactory = MultiSigWalletFactoryInstance.address; - EndowmentMultiSigAddress.MultiSigWalletImplementation = EndowmentMultiSigInstance.address; - - await saveFrontendFiles({EndowmentMultiSigAddress}); - - return Promise.resolve(response); + return Promise.resolve({ + MultiSigWalletFactory: MultiSigWalletFactoryInstance.address, + EndowmentMultiSigEmitter: EndowmentMultiSigEmitterAddresses.proxy + }); } catch (error) { return Promise.reject(error); } diff --git a/contracts/normalized_endowment/fee-distributor/FeeDistributorCurveToken.sol.unused.txt b/contracts/normalized_endowment/fee-distributor/FeeDistributorCurveToken.sol.unused.txt index 98d405db7..3780b261a 100644 --- a/contracts/normalized_endowment/fee-distributor/FeeDistributorCurveToken.sol.unused.txt +++ b/contracts/normalized_endowment/fee-distributor/FeeDistributorCurveToken.sol.unused.txt @@ -12,7 +12,7 @@ struct Point { uint256 blk; } -interface IcurIncentivisedVotingLockup { +interface IincentivisedVotingLockup { function checkpoint() external; function globalEpoch() external view returns (uint256); @@ -28,16 +28,16 @@ interface IcurIncentivisedVotingLockup { } /** - * @title Curve Fee Distribution Contract + * @title ve Fee Distribution Contract */ -contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { +contract FeeDistributorveToken is Initializable, ReentrancyGuard { uint256 constant WEEK = 7 * 86400; uint256 constant TOKEN_CHECKPOINT_DEADLINE = 86400; struct data { uint256 startTime; - uint256 timeCursor; - mapping(address => uint256) timeCursorOf; + uint256 timesor; + mapping(address => uint256) timesorOf; mapping(address => uint256) userEpochOf; uint256 lastTokenTime; mapping(uint256 => uint256) tokensPerWeek; @@ -56,28 +56,28 @@ contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { /** * @notice Contract constructor - * @param curVotingEscrow VotingEscrow contract address - * @param curStartTime Epoch time for fee distribution to start - * @param curToken Fee token address (3CRV) - * @param curAdmin Admin address - * @param curEmergencyReturn Address to transfer `curToken` balance to + * @param votingEscrow VotingEscrow contract address + * @param startTime Epoch time for fee distribution to start + * @param token Fee token address (3CRV) + * @param admin Admin address + * @param emergencyReturn Address to transfer `token` balance to * if this contract is killed */ function initFeeDistributor( - address curVotingEscrow, - uint256 curStartTime, - address curToken, - address curAdmin, - address curEmergencyReturn + address votingEscrow, + uint256 startTime, + address token, + address admin, + address emergencyReturn ) external initializer { - uint256 t = (curStartTime / WEEK) * WEEK; + uint256 t = (startTime / WEEK) * WEEK; state.startTime = t; state.lastTokenTime = t; - state.timeCursor = t; - state.token = curToken; - state.votingEscrow = curVotingEscrow; - state.admin = curAdmin; - state.emergencyReturn = curEmergencyReturn; + state.timesor = t; + state.token = token; + state.votingEscrow = votingEscrow; + state.admin = admin; + state.emergencyReturn = emergencyReturn; } /** @@ -139,13 +139,13 @@ contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { returns (uint256) { uint256 mini = 0; - uint256 maxi = IcurIncentivisedVotingLockup(ve).globalEpoch(); + uint256 maxi = IincentivisedVotingLockup(ve).globalEpoch(); for (uint256 i = 0; i < 128; i++) { if (mini >= maxi) { break; } uint256 mid = (mini + maxi + 2) / 2; - Point memory pt = IcurIncentivisedVotingLockup(ve).pointHistory( + Point memory pt = IincentivisedVotingLockup(ve).pointHistory( mid ); if (pt.ts <= timestamp) { @@ -170,7 +170,7 @@ contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { break; } uint256 mid = (mini + maxi + 2) / 2; - Point memory pt = IcurIncentivisedVotingLockup(ve).userPointHistory( + Point memory pt = IincentivisedVotingLockup(ve).userPointHistory( user, mid ); @@ -184,7 +184,7 @@ contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { } /** - * @notice Get the veCRV balance for `curUser` at `_timestamp` + * @notice Get the veCRV balance for `user` at `_timestamp` * @param user Address to query balance for * @param timestamp Epoch time * @return uint256 veCRV balance @@ -195,7 +195,7 @@ contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { returns (uint256) { address ve = state.votingEscrow; - uint256 maxUserEpoch = IcurIncentivisedVotingLockup(ve).userPointEpoch( + uint256 maxUserEpoch = IincentivisedVotingLockup(ve).userPointEpoch( user ); uint256 epoch = findTimestampUserEpoch( @@ -204,7 +204,7 @@ contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { timestamp, maxUserEpoch ); - Point memory pt = IcurIncentivisedVotingLockup(ve).userPointHistory( + Point memory pt = IincentivisedVotingLockup(ve).userPointHistory( user, epoch ); @@ -225,15 +225,15 @@ contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { * of a claim, to reduce claiming gas costs. */ function checkpointTotalSupply() public nonReentrant { - IcurIncentivisedVotingLockup(state.votingEscrow).checkpoint(); - uint256 t = state.timeCursor; + IincentivisedVotingLockup(state.votingEscrow).checkpoint(); + uint256 t = state.timesor; uint256 roundedTimestamp = (block.timestamp / WEEK) * WEEK; for (uint256 i = 0; i < 20; i++) { if (t > roundedTimestamp) { break; } else { uint256 epoch = findTimestampEpoch(state.votingEscrow, t); - Point memory pt = IcurIncentivisedVotingLockup( + Point memory pt = IincentivisedVotingLockup( state.votingEscrow ).pointHistory(epoch); int128 dt = 0; @@ -246,18 +246,18 @@ contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { } t += WEEK; } - state.timeCursor = t; + state.timesor = t; } function _claim( address addr, address ve, - uint256 curLastTokenTime + uint256 lastTokenTime ) internal returns (uint256) { uint256 userEpoch = 0; uint256 toDistribute = 0; - uint256 maxUserEpoch = IcurIncentivisedVotingLockup(ve).userPointEpoch( + uint256 maxUserEpoch = IincentivisedVotingLockup(ve).userPointEpoch( addr ); uint256 startTime = state.startTime; @@ -266,8 +266,8 @@ contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { return 0; } - uint256 weekCursor = state.timeCursorOf[addr]; - if (weekCursor == 0) { + uint256 weeksor = state.timesorOf[addr]; + if (weeksor == 0) { userEpoch = findTimestampUserEpoch( ve, addr, @@ -282,38 +282,38 @@ contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { userEpoch = 1; } - Point memory userPoint = IcurIncentivisedVotingLockup(ve) + Point memory userPoint = IincentivisedVotingLockup(ve) .userPointHistory(addr, userEpoch); - if (weekCursor == 0) { - weekCursor = ((userPoint.ts + WEEK - 1) / WEEK) * WEEK; + if (weeksor == 0) { + weeksor = ((userPoint.ts + WEEK - 1) / WEEK) * WEEK; } - if (weekCursor >= curLastTokenTime) { + if (weeksor >= lastTokenTime) { return 0; } - if (weekCursor < startTime) { - weekCursor = startTime; + if (weeksor < startTime) { + weeksor = startTime; } Point memory oldUserPoint; for (uint256 i = 0; i < 50; i++) { - if (weekCursor >= curLastTokenTime) { + if (weeksor >= lastTokenTime) { break; } - if (weekCursor >= userPoint.ts && userEpoch <= maxUserEpoch) { + if (weeksor >= userPoint.ts && userEpoch <= maxUserEpoch) { userEpoch += 1; oldUserPoint = userPoint; if (userEpoch > maxUserEpoch) { userPoint = Point(0, 0, 0, 0); } else { - userPoint = IcurIncentivisedVotingLockup(ve) + userPoint = IincentivisedVotingLockup(ve) .userPointHistory(addr, userEpoch); } } else { - int128 dt = int128(uint128(weekCursor - oldUserPoint.ts)); + int128 dt = int128(uint128(weeksor - oldUserPoint.ts)); uint256 balanceOf = oldUserPoint.bias - dt * oldUserPoint.slope < @@ -327,23 +327,23 @@ contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { } if (balanceOf > 0) { toDistribute += - (balanceOf * state.tokensPerWeek[weekCursor]) / - state.veSupply[weekCursor]; + (balanceOf * state.tokensPerWeek[weeksor]) / + state.veSupply[weeksor]; } - weekCursor += WEEK; + weeksor += WEEK; } } userEpoch = userEpoch - 1 > maxUserEpoch ? maxUserEpoch : userEpoch - 1; state.userEpochOf[addr] = userEpoch; - state.timeCursorOf[addr] = weekCursor; + state.timesorOf[addr] = weeksor; // emit Claimed(addr, toDistribute, userEpoch, maxUserEpoch); return toDistribute; } /** - * @notice Claim fees for `curAddr` + * @notice Claim fees for `addr` * @dev Each call to claim look at a maximum of 50 user veCRV points. * For accounts with many veCRV related actions, this function * may need to be called more than once to claim all available @@ -358,7 +358,7 @@ contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { } require(!state.isKilled, "Contract is killed"); - if (block.timestamp >= state.timeCursor) { + if (block.timestamp >= state.timesor) { checkpointTotalSupply(); } @@ -397,7 +397,7 @@ contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { { require(!state.isKilled, "Contract is killed"); - if (block.timestamp >= state.timeCursor) { + if (block.timestamp >= state.timesor) { checkpointTotalSupply(); } @@ -424,15 +424,15 @@ contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { /** * @notice Receive 3CRV into the contract and trigger a token checkpoint - * @param curCoin Address of the coin being received (must be 3CRV) + * @param coin Address of the coin being received (must be 3CRV) * @return bool success */ - function burn(address curCoin) external nonReentrant returns (bool) { - require(curCoin == state.token, "Invalid coin"); + function burn(address coin) external nonReentrant returns (bool) { + require(coin == state.token, "Invalid coin"); require(!state.isKilled, "Contract is killed"); - uint256 amount = IERC20(curCoin).balanceOf(msg.sender); + uint256 amount = IERC20(coin).balanceOf(msg.sender); if (amount != 0) { - require(IERC20(curCoin).transferFrom(msg.sender, address(this), amount), "TransferFrom failed"); + require(IERC20(coin).transferFrom(msg.sender, address(this), amount), "TransferFrom failed"); if ( state.canCheckpointToken && block.timestamp > @@ -490,18 +490,18 @@ contract FeeDistributorCurveToken is Initializable, ReentrancyGuard { /** * @notice Recover ERC20 tokens from this contract * @dev Tokens are sent to the emergency return address. - * @param curCoin Token address + * @param coin Token address * @return bool success */ - function recoverBalance(address curCoin) + function recoverBalance(address coin) external nonReentrant returns (bool) { require(msg.sender == state.admin, "Access denied"); - require(curCoin != state.token, "Invalid coin"); - uint256 amount = IERC20(curCoin).balanceOf(address(this)); - bool success = IERC20(curCoin).transfer(state.emergencyReturn, amount); + require(coin != state.token, "Invalid coin"); + uint256 amount = IERC20(coin).balanceOf(address(this)); + bool success = IERC20(coin).transfer(state.emergencyReturn, amount); require(success, "Transfer failed"); return true; } diff --git a/contracts/normalized_endowment/incentivised-voting/IncentivisedVotingLockup.sol b/contracts/normalized_endowment/incentivised-voting/IncentivisedVotingLockup.sol index 791543be8..c207c2004 100644 --- a/contracts/normalized_endowment/incentivised-voting/IncentivisedVotingLockup.sol +++ b/contracts/normalized_endowment/incentivised-voting/IncentivisedVotingLockup.sol @@ -2,7 +2,7 @@ pragma solidity ^0.8.16; import {IBasicToken} from "./lib/shared/IBasicToken.sol"; -import {IIncentivisedVotingLockup} from "./interface/IIncentivisedVotingLockup.sol"; +import {IIncentivisedVotingLockup} from "./interfaces/IIncentivisedVotingLockup.sol"; import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol"; @@ -13,8 +13,8 @@ import {Root} from "./lib/Root.sol"; /** * @title IncentivisedVotingLockup * @author Voting Weight tracking & Decay - * -> Curve Finance (MIT) - forked & ported to Solidity - * -> https://github.com/curvefi/curve-dao-contracts/blob/master/contracts/VotingEscrow.vy + * -> ve Finance (MIT) - forked & ported to Solidity + * -> https://github.com/vefi/ve-dao-contracts/blob/master/contracts/VotingEscrow.vy * osolmaz - Research & Reward distributions * alsco77 - Solidity implementation * @notice Lockup MTA, receive vMTA (voting weight that decays over time), and earn @@ -107,13 +107,13 @@ contract IncentivisedVotingLockup is } function initialize( - address curStakingtoken, - string memory curName, - string memory curSymbol + address stakingtoken, + string memory name, + string memory symbol ) public { require(!initialized, "Already initialized"); initialized = true; - stakingToken = IERC20(curStakingtoken); + stakingToken = IERC20(stakingtoken); Point memory init = Point({ bias: int128(0), slope: int128(0), @@ -122,11 +122,11 @@ contract IncentivisedVotingLockup is }); pointHistory.push(init); - decimals = IBasicToken(curStakingtoken).decimals(); + decimals = IBasicToken(stakingtoken).decimals(); require(decimals <= 18, "Cannot have more than 18 decimals"); - name = curName; - symbol = curSymbol; + name = name; + symbol = symbol; END = block.timestamp + MAXTIME; @@ -141,15 +141,15 @@ contract IncentivisedVotingLockup is /** * @dev Validates that the user has an expired lock && they still have capacity to earn - * @param curAddr User address to check + * @param addr User address to check */ - modifier lockupIsOver(address curAddr) { - LockedBalance memory userLock = locked[curAddr]; + modifier lockupIsOver(address addr) { + LockedBalance memory userLock = locked[addr]; require( userLock.amount > 0 && block.timestamp >= userLock.end, "Users lock didn't expire" ); - require(staticBalanceOf(curAddr) > 0, "User must have existing bias"); + require(staticBalanceOf(addr) > 0, "User must have existing bias"); _; } @@ -159,19 +159,19 @@ contract IncentivisedVotingLockup is /** * @dev Gets the last available user point - * @param curAddr User address + * @param addr User address * @return bias i.e. y * @return slope i.e. linear gradient * @return ts i.e. time point was logged */ function getLastUserPoint( - address curAddr + address addr ) external view override returns (int128 bias, int128 slope, uint256 ts) { - uint256 uepoch = userPointEpoch[curAddr]; + uint256 uepoch = userPointEpoch[addr]; if (uepoch == 0) { return (0, 0, 0); } - Point memory point = userPointHistory[curAddr][uepoch]; + Point memory point = userPointHistory[addr][uepoch]; return (point.bias, point.slope, point.ts); } @@ -181,12 +181,12 @@ contract IncentivisedVotingLockup is /** * @dev Records a checkpoint of both individual and global slope - * @param curAddr User address, or address(0) for only global + * @param addr User address, or address(0) for only global * @param _oldLocked Old amount that user had locked, or null for global * @param _newLocked new amount that user has locked, or null for global */ function _checkpoint( - address curAddr, + address addr, LockedBalance memory _oldLocked, LockedBalance memory _newLocked ) internal { @@ -196,7 +196,7 @@ contract IncentivisedVotingLockup is int128 newSlopeDelta = 0; uint256 epoch = globalEpoch; - if (curAddr != address(0)) { + if (addr != address(0)) { // Calculate slopes and biases // Kept at zero when they have to if (_oldLocked.end > block.timestamp && _oldLocked.amount > 0) { @@ -219,9 +219,9 @@ contract IncentivisedVotingLockup is // Moved from bottom final if statement to resolve stack too deep err // start { // Now handle user history - uint256 uEpoch = userPointEpoch[curAddr]; + uint256 uEpoch = userPointEpoch[addr]; if (uEpoch == 0) { - userPointHistory[curAddr].push(userOldPoint); + userPointHistory[addr].push(userOldPoint); } // track the total static weight uint256 newStatic = _staticBalance( @@ -232,18 +232,18 @@ contract IncentivisedVotingLockup is uint256 additiveStaticWeight = totalStaticWeight + newStatic; if (uEpoch > 0) { uint256 oldStatic = _staticBalance( - userPointHistory[curAddr][uEpoch].slope, - userPointHistory[curAddr][uEpoch].ts, + userPointHistory[addr][uEpoch].slope, + userPointHistory[addr][uEpoch].ts, _oldLocked.end ); additiveStaticWeight = additiveStaticWeight - oldStatic; } totalStaticWeight = additiveStaticWeight; - userPointEpoch[curAddr] = uEpoch + 1; + userPointEpoch[addr] = uEpoch + 1; userNewPoint.ts = block.timestamp; userNewPoint.blk = block.number; - userPointHistory[curAddr].push(userNewPoint); + userPointHistory[addr].push(userNewPoint); // } end @@ -289,7 +289,7 @@ contract IncentivisedVotingLockup is // If last point is already recorded in this block, slope=0 // But that's ok b/c we know the block in such case - // Go over weeks to fill history and calculate what the current point is + // Go over weeks to fill history and calculate what the rent point is uint256 iterativeTime = _floorToWeek(lastCheckpoint); for (uint256 i = 0; i < 255; i++) { // Hopefully it won't happen that this won't get used in 5 years! @@ -333,7 +333,7 @@ contract IncentivisedVotingLockup is globalEpoch = epoch; // Now pointHistory is filled until t=now - if (curAddr != address(0)) { + if (addr != address(0)) { // If last point was in this block, the slope change has been applied already // But in such case we have 0 slope(s) lastPoint.slope = @@ -356,7 +356,7 @@ contract IncentivisedVotingLockup is // pointHistory[epoch] = lastPoint; pointHistory.push(lastPoint); - if (curAddr != address(0)) { + if (addr != address(0)) { // Schedule the slope changes (slope is going down) // We subtract new_user_slope from [new_locked.end] // and add old_user_slope to [old_locked.end] @@ -380,18 +380,18 @@ contract IncentivisedVotingLockup is /** * @dev Deposits or creates a stake for a given address - * @param curAddr User address to assign the stake - * @param curValue Total units of StakingToken to lockup - * @param curUnlocktime Time at which the stake should unlock + * @param addr User address to assign the stake + * @param value Total units of StakingToken to lockup + * @param unlocktime Time at which the stake should unlock * @param _oldLocked Previous amount staked by this user - * @param curAction See LockAction enum + * @param action See LockAction enum */ function _depositFor( - address curAddr, - uint256 curValue, - uint256 curUnlocktime, + address addr, + uint256 value, + uint256 unlocktime, LockedBalance memory _oldLocked, - LockAction curAction + LockAction action ) internal { LockedBalance memory newLocked = LockedBalance({ amount: _oldLocked.amount, @@ -402,26 +402,26 @@ contract IncentivisedVotingLockup is // Adding to existing lock, or if a lock is expired - creating a new one newLocked.amount = newLocked.amount + - SafeCast.toInt128(int256(curValue)); - if (curUnlocktime != 0) { - newLocked.end = curUnlocktime; + SafeCast.toInt128(int256(value)); + if (unlocktime != 0) { + newLocked.end = unlocktime; } - locked[curAddr] = newLocked; + locked[addr] = newLocked; // Possibilities: - // Both _oldLocked.end could be current or expired (>/< block.timestamp) + // Both _oldLocked.end could be rent or expired (>/< block.timestamp) // value == 0 (extend lock) or value > 0 (add to lock or extend lock) // newLocked.end > block.timestamp (always) - _checkpoint(curAddr, _oldLocked, newLocked); + _checkpoint(addr, _oldLocked, newLocked); - if (curValue != 0) { - stakingToken.safeTransferFrom(curAddr, address(this), curValue); + if (value != 0) { + stakingToken.safeTransferFrom(addr, address(this), value); } emit Deposit( - curAddr, - curValue, + addr, + value, newLocked.end, - curAction, + action, block.timestamp ); } @@ -436,21 +436,21 @@ contract IncentivisedVotingLockup is /** * @dev Creates a new lock - * @param curValue Total units of StakingToken to lockup - * @param curUnlocktime Time at which the stake should unlock + * @param value Total units of StakingToken to lockup + * @param unlocktime Time at which the stake should unlock */ function createLock( - uint256 curValue, - uint256 curUnlocktime + uint256 value, + uint256 unlocktime ) external override nonReentrant contractNotExpired { - uint256 unlockTime = _floorToWeek(curUnlocktime); // Locktime is rounded down to weeks + uint256 unlockTime = _floorToWeek(unlocktime); // Locktime is rounded down to weeks LockedBalance memory locked_ = LockedBalance({ amount: locked[msg.sender].amount, end: locked[msg.sender].end, start: block.timestamp }); - require(curValue > 0, "Must stake non zero amount"); + require(value > 0, "Must stake non zero amount"); require(locked_.amount == 0, "Withdraw old tokens first"); require( @@ -464,7 +464,7 @@ contract IncentivisedVotingLockup is _depositFor( msg.sender, - curValue, + value, unlockTime, locked_, LockAction.CREATE_LOCK @@ -473,10 +473,10 @@ contract IncentivisedVotingLockup is /** * @dev Increases amount of stake thats locked up & resets decay - * @param curValue Additional units of StakingToken to add to exiting stake + * @param value Additional units of StakingToken to add to exiting stake */ function increaseLockAmount( - uint256 curValue + uint256 value ) external override nonReentrant contractNotExpired { LockedBalance memory locked_ = LockedBalance({ amount: locked[msg.sender].amount, @@ -484,7 +484,7 @@ contract IncentivisedVotingLockup is start: locked[msg.sender].start }); - require(curValue > 0, "Must stake non zero amount"); + require(value > 0, "Must stake non zero amount"); require(locked_.amount > 0, "No existing lock found"); require( locked_.end > block.timestamp, @@ -493,7 +493,7 @@ contract IncentivisedVotingLockup is _depositFor( msg.sender, - curValue, + value, 0, locked_, LockAction.INCREASE_LOCK_AMOUNT @@ -502,17 +502,17 @@ contract IncentivisedVotingLockup is /** * @dev Increases length of lockup & resets decay - * @param curUnlocktime New unlocktime for lockup + * @param unlocktime New unlocktime for lockup */ function increaseLockLength( - uint256 curUnlocktime + uint256 unlocktime ) external override nonReentrant contractNotExpired { LockedBalance memory locked_ = LockedBalance({ amount: locked[msg.sender].amount, end: locked[msg.sender].end, start: block.timestamp }); - uint256 unlockTime = _floorToWeek(curUnlocktime); // Locktime is rounded down to weeks + uint256 unlockTime = _floorToWeek(unlocktime); // Locktime is rounded down to weeks require(locked_.amount > 0, "Nothing is locked"); require(locked_.end > block.timestamp, "Lock expired"); @@ -540,13 +540,13 @@ contract IncentivisedVotingLockup is /** * @dev Withdraws a given users stake, providing the lockup has finished - * @param curAddr User for which to withdraw + * @param addr User for which to withdraw */ - function _withdraw(address curAddr) internal nonReentrant { + function _withdraw(address addr) internal nonReentrant { LockedBalance memory oldLock = LockedBalance({ - end: locked[curAddr].end, - amount: locked[curAddr].amount, - start: locked[curAddr].start + end: locked[addr].end, + amount: locked[addr].amount, + start: locked[addr].start }); require( block.timestamp >= oldLock.end || expired, @@ -556,58 +556,58 @@ contract IncentivisedVotingLockup is uint256 value = SafeCast.toUint256(oldLock.amount); - LockedBalance memory currentLock = LockedBalance({ + LockedBalance memory rentLock = LockedBalance({ end: 0, amount: 0, start: 0 }); - locked[curAddr] = currentLock; + locked[addr] = rentLock; // oldLocked can have either expired <= timestamp or zero end - // currentLock has only 0 end + // rentLock has only 0 end // Both can have >= 0 amount if (!expired) { - _checkpoint(curAddr, oldLock, currentLock); + _checkpoint(addr, oldLock, rentLock); } - stakingToken.safeTransfer(curAddr, value); + stakingToken.safeTransfer(addr, value); - emit Withdraw(curAddr, value, block.timestamp); + emit Withdraw(addr, value, block.timestamp); } /** * @dev Checks how much of the locked tokens are vested and can be withdrawn - * @param curAddr User for which to withdraw + * @param addr User for which to withdraw */ - function getVestedAmount(address curAddr) external view returns (int128) { - int128 val = (SafeCast.toInt128(int256(locked[curAddr].amount)) * + function getVestedAmount(address addr) external view returns (int128) { + int128 val = (SafeCast.toInt128(int256(locked[addr].amount)) * SafeCast.toInt128( - int256(block.timestamp - locked[curAddr].start) + int256(block.timestamp - locked[addr].start) )) / SafeCast.toInt128( - int256(locked[curAddr].end - locked[curAddr].start) + int256(locked[addr].end - locked[addr].start) ); return val; } /** * @dev Lets user linearly unlock their vested tokens and withdraw them - * @param curAddr User for which to withdraw - * @param curValue Amount of tokens to withdraw + * @param addr User for which to withdraw + * @param value Amount of tokens to withdraw */ - // function withdrawVested(address curAddr, uint256 curValue) + // function withdrawVested(address addr, uint256 value) // external // nonReentrant // { // LockedBalance memory oldLock = LockedBalance({ - // end: locked[curAddr].end, - // amount: locked[curAddr].amount, - // start: locked[curAddr].start + // end: locked[addr].end, + // amount: locked[addr].amount, + // start: locked[addr].start // }); // require(oldLock.amount > 0, "Must have something to withdraw"); // if (block.timestamp >= oldLock.end || expired) { - // _withdraw(curAddr); + // _withdraw(addr); // return; // } else { // int128 value = (SafeCast.toInt128(int256(oldLock.amount)) * @@ -615,23 +615,23 @@ contract IncentivisedVotingLockup is // SafeCast.toInt128(int256(oldLock.end - oldLock.start)); // require( - // value >= SafeCast.toInt128(int256(curValue)), + // value >= SafeCast.toInt128(int256(value)), // "Cannot withdraw more than vested" // ); - // LockedBalance memory currentLock = LockedBalance({ + // LockedBalance memory rentLock = LockedBalance({ // end: oldLock.end, - // amount: oldLock.amount - SafeCast.toInt128(int256(curValue)), + // amount: oldLock.amount - SafeCast.toInt128(int256(value)), // start: block.timestamp // }); - // locked[curAddr] = currentLock; + // locked[addr] = rentLock; - // _checkpoint(curAddr, oldLock, currentLock); + // _checkpoint(addr, oldLock, rentLock); - // stakingToken.safeTransfer(curAddr, curValue); + // stakingToken.safeTransfer(addr, value); - // emit WithdrawVested(curAddr, curValue, block.timestamp); + // emit WithdrawVested(addr, value, block.timestamp); // return; // } @@ -647,15 +647,15 @@ contract IncentivisedVotingLockup is /** * @dev Ejects a user from the reward allocation, given their lock has freshly expired. * Leave it to the user to withdraw and claim their rewards. - * @param curAddr Address of the user + * @param addr Address of the user */ function eject( - address curAddr - ) external override contractNotExpired lockupIsOver(curAddr) { - _withdraw(curAddr); + address addr + ) external override contractNotExpired lockupIsOver(addr) { + _withdraw(addr); - // solium-disable-next-line security/no-tx-origin - emit Ejected(curAddr, tx.origin, block.timestamp); + // solium-disable-next-line SEity/no-tx-origin + emit Ejected(addr, tx.origin, block.timestamp); } /** @@ -676,27 +676,27 @@ contract IncentivisedVotingLockup is ****************************************/ /** @dev Floors a timestamp to the nearest weekly increment */ - function _floorToWeek(uint256 curT) internal pure returns (uint256) { - return (curT / WEEK) * WEEK; + function _floorToWeek(uint256 t) internal pure returns (uint256) { + return (t / WEEK) * WEEK; } /** * @dev Uses binarysearch to find the most recent point history preceeding block - * @param curBlock Find the most recent point history before this block - * @param curMaxepoch Do not search pointHistories past this index + * @param block Find the most recent point history before this block + * @param maxepoch Do not search pointHistories past this index */ function _findBlockEpoch( - uint256 curBlock, - uint256 curMaxepoch + uint256 block, + uint256 maxepoch ) internal view returns (uint256) { // Binary search uint256 min = 0; - uint256 max = curMaxepoch; + uint256 max = maxepoch; // Will be always enough for 128-bit numbers for (uint256 i = 0; i < 128; i++) { if (min >= max) break; uint256 mid = (min + max + 1) / 2; - if (pointHistory[mid].blk <= curBlock) { + if (pointHistory[mid].blk <= block) { min = mid; } else { max = mid - 1; @@ -707,21 +707,21 @@ contract IncentivisedVotingLockup is /** * @dev Uses binarysearch to find the most recent user point history preceeding block - * @param curAddr User for which to search - * @param curBlock Find the most recent point history before this block + * @param addr User for which to search + * @param block Find the most recent point history before this block */ function _findUserBlockEpoch( - address curAddr, - uint256 curBlock + address addr, + uint256 block ) internal view returns (uint256) { uint256 min = 0; - uint256 max = userPointEpoch[curAddr]; + uint256 max = userPointEpoch[addr]; for (uint256 i = 0; i < 128; i++) { if (min >= max) { break; } uint256 mid = (min + max + 1) / 2; - if (userPointHistory[curAddr][mid].blk <= curBlock) { + if (userPointHistory[addr][mid].blk <= block) { min = mid; } else { max = mid - 1; @@ -731,18 +731,18 @@ contract IncentivisedVotingLockup is } /** - * @dev Gets curent user voting weight (aka effectiveStake) - * @param curOwner User for which to return the balance + * @dev Gets ent user voting weight (aka effectiveStake) + * @param owner User for which to return the balance * @return uint256 Balance of user */ function balanceOf( - address curOwner + address owner ) public view override returns (uint256) { - uint256 epoch = userPointEpoch[curOwner]; + uint256 epoch = userPointEpoch[owner]; if (epoch == 0) { return 0; } - Point memory lastPoint = userPointHistory[curOwner][epoch]; + Point memory lastPoint = userPointHistory[owner][epoch]; lastPoint.bias = lastPoint.bias - (lastPoint.slope * @@ -755,29 +755,29 @@ contract IncentivisedVotingLockup is /** * @dev Gets a users votingWeight at a given blockNumber - * @param curOwner User for which to return the balance - * @param curBlocknumber Block at which to calculate balance + * @param owner User for which to return the balance + * @param blocknumber Block at which to calculate balance * @return uint256 Balance of user */ function balanceOfAt( - address curOwner, - uint256 curBlocknumber + address owner, + uint256 blocknumber ) public view override returns (uint256) { require( - curBlocknumber <= block.number, + blocknumber <= block.number, "Must pass block number in the past" ); // Get most recent user Point to block - uint256 userEpoch = _findUserBlockEpoch(curOwner, curBlocknumber); + uint256 userEpoch = _findUserBlockEpoch(owner, blocknumber); if (userEpoch == 0) { return 0; } - Point memory upoint = userPointHistory[curOwner][userEpoch]; + Point memory upoint = userPointHistory[owner][userEpoch]; // Get most recent global Point to block uint256 maxEpoch = globalEpoch; - uint256 epoch = _findBlockEpoch(curBlocknumber, maxEpoch); + uint256 epoch = _findBlockEpoch(blocknumber, maxEpoch); Point memory point0 = pointHistory[epoch]; // Calculate delta (block & time) between user Point and target block @@ -793,14 +793,14 @@ contract IncentivisedVotingLockup is dBlock = block.number - point0.blk; dTime = block.timestamp - point0.ts; } - // (Deterministically) Estimate the time at which block curBlocknumber was mined + // (Deterministically) Estimate the time at which block blocknumber was mined uint256 blockTime = point0.ts; if (dBlock != 0) { blockTime = blockTime + - ((dTime * (curBlocknumber - point0.blk)) / dBlock); + ((dTime * (blocknumber - point0.blk)) / dBlock); } - // Current Bias = most recent bias - (slope * time since update) + // rent Bias = most recent bias - (slope * time since update) upoint.bias = upoint.bias - (upoint.slope * SafeCast.toInt128(int256(blockTime - upoint.ts))); @@ -812,25 +812,25 @@ contract IncentivisedVotingLockup is } /** - * @dev Calculates total supply of votingWeight at a given time curT - * @param _point Most recent point before time curT - * @param curT Time at which to calculate supply + * @dev Calculates total supply of votingWeight at a given time t + * @param _point Most recent point before time t + * @param t Time at which to calculate supply * @return totalSupply at given point in time */ function _supplyAt( Point memory _point, - uint256 curT + uint256 t ) internal view returns (uint256) { Point memory lastPoint = _point; // Floor the timestamp to weekly interval uint256 iterativeTime = _floorToWeek(lastPoint.ts); - // Iterate through all weeks between _point & curT to account for slope changes + // Iterate through all weeks between _point & t to account for slope changes for (uint256 i = 0; i < 255; i++) { iterativeTime = iterativeTime + WEEK; int128 dSlope = 0; // If week end is after timestamp, then truncate & leave dSlope to 0 - if (iterativeTime > curT) { - iterativeTime = curT; + if (iterativeTime > t) { + iterativeTime = t; } // else get most recent slope change else { @@ -841,7 +841,7 @@ contract IncentivisedVotingLockup is lastPoint.bias - (lastPoint.slope * SafeCast.toInt128(int256(iterativeTime - lastPoint.ts))); - if (iterativeTime == curT) { + if (iterativeTime == t) { break; } lastPoint.slope = lastPoint.slope + dSlope; @@ -855,35 +855,35 @@ contract IncentivisedVotingLockup is } /** - * @dev Calculates current total supply of votingWeight + * @dev Calculates rent total supply of votingWeight * @return totalSupply of voting token weight */ function totalSupply() public view override returns (uint256) { - uint256 curEpoch = globalEpoch; - Point memory lastPoint = pointHistory[curEpoch]; + uint256 epoch = globalEpoch; + Point memory lastPoint = pointHistory[epoch]; return _supplyAt(lastPoint, block.timestamp); } /** * @dev Calculates total supply of votingWeight at a given blockNumber - * @param curBlocknumber Block number at which to calculate total supply + * @param blocknumber Block number at which to calculate total supply * @return totalSupply of voting token weight at the given blockNumber */ function totalSupplyAt( - uint256 curBlocknumber + uint256 blocknumber ) public view override returns (uint256) { require( - curBlocknumber <= block.number, + blocknumber <= block.number, "Must pass block number in the past" ); uint256 epoch = globalEpoch; - uint256 targetEpoch = _findBlockEpoch(curBlocknumber, epoch); + uint256 targetEpoch = _findBlockEpoch(blocknumber, epoch); Point memory point = pointHistory[targetEpoch]; - // If point.blk > curBlocknumber that means we got the initial epoch & contract did not yet exist - if (point.blk > curBlocknumber) { + // If point.blk > blocknumber that means we got the initial epoch & contract did not yet exist + if (point.blk > blocknumber) { return 0; } @@ -892,12 +892,12 @@ contract IncentivisedVotingLockup is Point memory pointNext = pointHistory[targetEpoch + 1]; if (point.blk != pointNext.blk) { dTime = - ((curBlocknumber - point.blk) * (pointNext.ts - point.ts)) / + ((blocknumber - point.blk) * (pointNext.ts - point.ts)) / (pointNext.blk - point.blk); } } else if (point.blk != block.number) { dTime = - ((curBlocknumber - point.blk) * (block.timestamp - point.ts)) / + ((blocknumber - point.blk) * (block.timestamp - point.ts)) / (block.number - point.blk); } // Now dTime contains info on how far are we beyond point @@ -907,40 +907,40 @@ contract IncentivisedVotingLockup is /** * @dev Gets the most recent Static Balance (bias) for a user - * @param curAddr User for which to retrieve static balance + * @param addr User for which to retrieve static balance * @return uint256 balance */ - function staticBalanceOf(address curAddr) public view returns (uint256) { - uint256 uepoch = userPointEpoch[curAddr]; - if (uepoch == 0 || userPointHistory[curAddr][uepoch].bias == 0) { + function staticBalanceOf(address addr) public view returns (uint256) { + uint256 uepoch = userPointEpoch[addr]; + if (uepoch == 0 || userPointHistory[addr][uepoch].bias == 0) { return 0; } return _staticBalance( - userPointHistory[curAddr][uepoch].slope, - userPointHistory[curAddr][uepoch].ts, - locked[curAddr].end + userPointHistory[addr][uepoch].slope, + userPointHistory[addr][uepoch].ts, + locked[addr].end ); } function _staticBalance( - int128 curSlope, - uint256 curStarttime, - uint256 curEndtime + int128 slope, + uint256 starttime, + uint256 endtime ) internal pure returns (uint256) { - if (curStarttime > curEndtime) return 0; + if (starttime > endtime) return 0; // get lockup length (end - point.ts) - uint256 lockupLength = curEndtime - curStarttime; + uint256 lockupLength = endtime - starttime; // s = amount * sqrt(length) - uint256 s = SafeCast.toUint256(curSlope * 10000) * + uint256 s = SafeCast.toUint256(slope * 10000) * Root.sqrt(lockupLength); return s; } - function transferOwnership(address curNewowner) public { - require(curNewowner != address(0), "New owner cannot be zero address"); + function transferOwnership(address newowner) public { + require(newowner != address(0), "New owner cannot be zero address"); require(msg.sender == admin, "Only owner can transfer ownership"); - admin = curNewowner; - // emit OwnershipTransferred(msg.sender, curNewowner); + admin = newowner; + // emit OwnershipTransferred(msg.sender, newowner); } } diff --git a/contracts/normalized_endowment/incentivised-voting/interface/IIncentivisedVotingLockup.sol b/contracts/normalized_endowment/incentivised-voting/interfaces/IIncentivisedVotingLockup.sol similarity index 60% rename from contracts/normalized_endowment/incentivised-voting/interface/IIncentivisedVotingLockup.sol rename to contracts/normalized_endowment/incentivised-voting/interfaces/IIncentivisedVotingLockup.sol index 6a5d6946c..9e0959a55 100644 --- a/contracts/normalized_endowment/incentivised-voting/interface/IIncentivisedVotingLockup.sol +++ b/contracts/normalized_endowment/incentivised-voting/interfaces/IIncentivisedVotingLockup.sol @@ -4,7 +4,7 @@ pragma solidity ^0.8.16; import {IERC20WithCheckpointing} from "../lib/shared/IERC20WithCheckpointing.sol"; abstract contract IIncentivisedVotingLockup is IERC20WithCheckpointing { - function getLastUserPoint(address curAddr) + function getLastUserPoint(address addr) external view virtual @@ -14,15 +14,15 @@ abstract contract IIncentivisedVotingLockup is IERC20WithCheckpointing { uint256 ts ); - function createLock(uint256 curValue, uint256 curUnlocktime) external virtual; + function createLock(uint256 value, uint256 unlocktime) external virtual; function withdraw() external virtual; - function increaseLockAmount(uint256 curValue) external virtual; + function increaseLockAmount(uint256 value) external virtual; - function increaseLockLength(uint256 curUnlocktime) external virtual; + function increaseLockLength(uint256 unlocktime) external virtual; - function eject(address curUser) external virtual; + function eject(address user) external virtual; function expireContract() external virtual; diff --git a/contracts/normalized_endowment/incentivised-voting/interface/QueryIIncentivisedVotingLockup.sol b/contracts/normalized_endowment/incentivised-voting/interfaces/QueryIIncentivisedVotingLockup.sol similarity index 59% rename from contracts/normalized_endowment/incentivised-voting/interface/QueryIIncentivisedVotingLockup.sol rename to contracts/normalized_endowment/incentivised-voting/interfaces/QueryIIncentivisedVotingLockup.sol index e71118393..4526d1220 100644 --- a/contracts/normalized_endowment/incentivised-voting/interface/QueryIIncentivisedVotingLockup.sol +++ b/contracts/normalized_endowment/incentivised-voting/interfaces/QueryIIncentivisedVotingLockup.sol @@ -2,16 +2,16 @@ pragma solidity ^0.8.16; interface QueryIIncentivisedVotingLockup { - function balanceOf(address curOwner) external view returns (uint256); + function balanceOf(address owner) external view returns (uint256); - function balanceOfAt(address curOwner, uint256 curBlocknumber) + function balanceOfAt(address owner, uint256 blocknumber) external view returns (uint256); function totalSupply() external view returns (uint256); - function totalSupplyAt(uint256 curBlocknumber) + function totalSupplyAt(uint256 blocknumber) external view returns (uint256); diff --git a/contracts/normalized_endowment/incentivised-voting/lib/shared/IERC20WithCheckpointing.sol b/contracts/normalized_endowment/incentivised-voting/lib/shared/IERC20WithCheckpointing.sol index e1ee5d0a9..345d2d3d8 100644 --- a/contracts/normalized_endowment/incentivised-voting/lib/shared/IERC20WithCheckpointing.sol +++ b/contracts/normalized_endowment/incentivised-voting/lib/shared/IERC20WithCheckpointing.sol @@ -3,9 +3,9 @@ pragma solidity ^0.8.16; // From https://github.com/aragonone/voting-connectors abstract contract IERC20WithCheckpointing { - function balanceOf(address curOwner) public view virtual returns (uint256); + function balanceOf(address owner) public view virtual returns (uint256); - function balanceOfAt(address curOwner, uint256 curBlocknumber) + function balanceOfAt(address owner, uint256 blocknumber) public view virtual @@ -13,7 +13,7 @@ abstract contract IERC20WithCheckpointing { function totalSupply() public view virtual returns (uint256); - function totalSupplyAt(uint256 curBlocknumber) + function totalSupplyAt(uint256 blocknumber) public view virtual diff --git a/contracts/normalized_endowment/locked-withdraw/LockedWithdraw.sol b/contracts/normalized_endowment/locked-withdraw/LockedWithdraw.sol deleted file mode 100644 index c9c77d9b3..000000000 --- a/contracts/normalized_endowment/locked-withdraw/LockedWithdraw.sol +++ /dev/null @@ -1,193 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.16; - -import {AngelCoreStruct} from "../../core/struct.sol"; -import {Storage, LockedWithdrawStorage} from "./storage.sol"; -import {ILockedWithdraw} from "./interface/ILockedWithdraw.sol"; -import "@openzeppelin/contracts/utils/introspection/ERC165.sol"; -import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol"; -import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol"; -import {Utils} from "../../lib/utils.sol"; -import {IEndowmentMultiSigFactory} from "../endowment-multisig/interface/IEndowmentMultiSigFactory.sol"; - -/** - * @title LockedWithdraw - * @dev This contract is used to withdraw locked funds from the accounts - * @dev Can be used only by charities to emergency withdraw locked funds - */ -contract LockedWithdraw is - Storage, - ILockedWithdraw, - ERC165, - Initializable, - ReentrancyGuard -{ - /* - * Modifiers - */ - - modifier isEndowment(uint256 accountId) { - require( - IEndowmentMultiSigFactory(config.endowFactory) - .endowmentIdToMultisig(accountId) == msg.sender, - "Unauthorized" - ); - _; - } - - modifier isApteam() { - require(config.apTeamMultisig == msg.sender, "Unauthorized"); - _; - } - - //TODO: not used so commented it out - // modifier isEndowFactory() { - // require(config.endowFactory == msg.sender, "Unauthorized"); - // _; - // } - - modifier isPending(uint256 accountId) { - require(withdrawData[accountId].pending == true, "Pending Txns"); - _; - } - - // modifier isNotPending(uint256 accountId) { - // require(withdrawData[accountId].pending == false, "No Txns"); - // _; - // } - - /** - * @notice function used to initialize the contract - * @dev Initialize the contract - * @param curRegistrar The address of the registrar contract - * @param curAccounts The address of the accounts contract - * @param curApteammultisig The address of the AP Team Multisig - * @param curEndowfactory The address of the endowment factory - */ - function initialize( - address curRegistrar, - address curAccounts, - address curApteammultisig, - address curEndowfactory - ) public initializer { - config.registrar = curRegistrar; - config.accounts = curAccounts; - config.apTeamMultisig = curApteammultisig; - config.endowFactory = curEndowfactory; - } - - /** - * @notice function used to update the config - * @dev Update the config - * @param curRegistrar The address of the registrar contract - * @param curAccounts The address of the accounts contract - * @param curApteammultisig The address of the AP Team Multisig - * @param curEndowfactory The address of the endowment factory - */ - function updateConfig( - address curRegistrar, - address curAccounts, - address curApteammultisig, - address curEndowfactory - ) public override nonReentrant isApteam { - if (curRegistrar != address(0)) config.registrar = curRegistrar; - if (curAccounts != address(0)) config.accounts = curAccounts; - if (curApteammultisig != address(0)) - config.apTeamMultisig = curApteammultisig; - if (curEndowfactory != address(0)) - config.endowFactory = curEndowfactory; - } - - /** - * @notice function used to propose a withdraw - * @dev Propose a withdraw - * @param accountId The account id of the endowment - * @param curBeneficiary The address of the beneficiary - * @param curTokenaddress The address of the token - * @param curAmount The amount of the token - */ - function propose( - uint256 accountId, - address curBeneficiary, - address[] memory curTokenaddress, - uint256[] memory curAmount - ) public override nonReentrant isEndowment(accountId) { - withdrawData[accountId] = LockedWithdrawStorage.Withdraw({ - pending: true, - beneficiary: curBeneficiary, - tokenAddress: curTokenaddress, - amount: curAmount - }); - - emit LockedWithdrawInitiated( - accountId, - msg.sender, - curBeneficiary, - curTokenaddress, - curAmount - ); - - emit LockedWithdrawEndowment(accountId, msg.sender); - } - - /** - * @notice function used to reject a withdraw - * @dev Reject a withdraw to free endowment to add another locked request - */ - function reject( - uint256 accountId - ) public override nonReentrant isApteam isPending(accountId) { - emit LockedWithdrawRejected(accountId); - withdrawData[accountId].pending = false; - } - - /** - * @notice function used to approve a withdraw - * @dev Approve a withdraw (called from the ap team multisg) - * @param accountId The account id of the endowment - */ - function approve( - uint256 accountId - ) public override nonReentrant isApteam isPending(accountId) { - emit LockedWithdrawAPTeam(accountId, msg.sender); - - emit LockedWithdrawApproved( - accountId, - withdrawData[accountId].beneficiary, - withdrawData[accountId].tokenAddress, - withdrawData[accountId].amount - ); - - // execute withdraw - _executeWithdraw(accountId); - - withdrawData[accountId].pending = false; - } - - /** - * @notice internal function used to execute withdraw message on accounts - * @dev Execute withdraw message on accounts (internal function) - * @param accountId The account id of the endowment - */ - function _executeWithdraw(uint256 accountId) internal { - address[] memory curTargets = new address[](1); - - curTargets[0] = config.accounts; - - uint256[] memory curValues = new uint256[](1); - curValues[0] = 0; - - bytes[] memory curCalldatas = new bytes[](1); - - curCalldatas[0] = abi.encodeWithSignature( - "withdraw(uint256,uint8,address,address[],uint256[])", - accountId, - AngelCoreStruct.AccountType.Locked, - withdrawData[accountId].beneficiary, - withdrawData[accountId].tokenAddress, - withdrawData[accountId].amount - ); - - Utils._execute(curTargets, curValues, curCalldatas); - } -} diff --git a/contracts/normalized_endowment/locked-withdraw/interface/ILockedWithdraw.sol b/contracts/normalized_endowment/locked-withdraw/interface/ILockedWithdraw.sol deleted file mode 100644 index 4be7756a5..000000000 --- a/contracts/normalized_endowment/locked-withdraw/interface/ILockedWithdraw.sol +++ /dev/null @@ -1,47 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.16; -import "@openzeppelin/contracts/utils/introspection/IERC165.sol"; -import {LockedWithdrawStorage} from "../storage.sol"; - -abstract contract ILockedWithdraw is IERC165 { - /* - * Events - */ - event LockedWithdrawInitiated( - uint256 indexed accountId, - address indexed initiator, - address indexed curBeneficiary, - address[] curTokenaddress, - uint256[] curAmount - ); - event LockedWithdrawEndowment(uint256 accountId, address sender); - event LockedWithdrawAPTeam(uint256 accountId, address sender); - event LockedWithdrawApproved( - uint256 indexed accountId, - address indexed curBeneficiary, - address[] curTokenaddress, - uint256[] curAmount - ); - - event LockedWithdrawRejected(uint256 indexed accountId); - - // approval function for ap team - function approve(uint256 accountId) public virtual; - - // approval/propose function for endowments - function propose( - uint256 accountId, - address curBeneficiary, - address[] memory curTokenaddress, - uint256[] memory curAmount - ) public virtual; - - function reject(uint256 accountId) public virtual; - - function updateConfig( - address curRegistrar, - address curAccounts, - address curApteammultisig, - address curEndowfactory - ) public virtual; -} diff --git a/contracts/normalized_endowment/locked-withdraw/scripts/deploy.ts b/contracts/normalized_endowment/locked-withdraw/scripts/deploy.ts deleted file mode 100644 index 2b42c7703..000000000 --- a/contracts/normalized_endowment/locked-withdraw/scripts/deploy.ts +++ /dev/null @@ -1,49 +0,0 @@ -// This is a script for deploying your contracts. You can adapt it to deploy -// yours, or create new ones. - -import path from 'path' -import { saveFrontendFiles } from 'scripts/readWriteFile' -import { HardhatRuntimeEnvironment } from 'hardhat/types' - -const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000'; - -export const deployLockedWithdraw = async (proxyAdmin: string,LockedWithdrawDataInput: string[], verify_contracts: boolean,hre: HardhatRuntimeEnvironment) => { - try { - const {network,run,ethers} = hre; - // Getting Proxy contract - const ProxyContract = await ethers.getContractFactory('ProxyContract'); - - const LockedWithdraw = await ethers.getContractFactory('LockedWithdraw'); - const LockedWithdrawImplementation = await LockedWithdraw.deploy(); - await LockedWithdrawImplementation.deployed(); - console.log('LockedWithdrawImplementation Address:', LockedWithdrawImplementation.address); - - const LockedWithdrawData = LockedWithdrawImplementation.interface.encodeFunctionData('initialize', [...LockedWithdrawDataInput]); - const LockedWithdrawProxy = await ProxyContract.deploy(LockedWithdrawImplementation.address, proxyAdmin, LockedWithdrawData); - await LockedWithdrawProxy.deployed(); - console.log('LockedWithdrawProxy Address (Proxy):', LockedWithdrawProxy.address); - - if (verify_contracts) { - await hre.run('verify:verify', { - address: LockedWithdrawImplementation.address, - constructorArguments: [], - }); - await hre.run('verify:verify', { - address: LockedWithdrawProxy.address, - constructorArguments: [...LockedWithdrawDataInput], - }); - } - - let lockedWithdraw = { - LockedWithdrawImplementation: LockedWithdrawImplementation.address, - LockedWithdrawProxy: LockedWithdrawProxy.address - } - await saveFrontendFiles({lockedWithdraw}) - - return Promise.resolve(LockedWithdrawProxy.address); - } - catch (e) { - console.error(e); - return Promise.reject(e); - } -} \ No newline at end of file diff --git a/contracts/normalized_endowment/locked-withdraw/storage.sol b/contracts/normalized_endowment/locked-withdraw/storage.sol deleted file mode 100644 index c186473a1..000000000 --- a/contracts/normalized_endowment/locked-withdraw/storage.sol +++ /dev/null @@ -1,23 +0,0 @@ -// SPDX-License-Identifier: MIT -pragma solidity ^0.8.16; - -library LockedWithdrawStorage { - struct Withdraw { - bool pending; - address beneficiary; - address[] tokenAddress; - uint256[] amount; - } - - struct Config { - address registrar; - address accounts; - address apTeamMultisig; - address endowFactory; - } -} - -contract Storage { - LockedWithdrawStorage.Config config; - mapping(uint256 => LockedWithdrawStorage.Withdraw) withdrawData; -} diff --git a/contracts/normalized_endowment/scripts/deployEmitter.ts b/contracts/normalized_endowment/scripts/deployEmitter.ts index 1fe36614e..8db9427da 100644 --- a/contracts/normalized_endowment/scripts/deployEmitter.ts +++ b/contracts/normalized_endowment/scripts/deployEmitter.ts @@ -2,7 +2,7 @@ // yours, or create new ones. import { HardhatRuntimeEnvironment } from "hardhat/types" -import { saveFrontendFiles } from "scripts/readWriteFile" +import { logger, updateAddresses } from "utils" const deploySubDaoEmitter = async (proxyAdmin: string,accountAddress: string,verify_contracts: boolean, hre: HardhatRuntimeEnvironment) =>{ try { @@ -14,12 +14,29 @@ const deploySubDaoEmitter = async (proxyAdmin: string,accountAddress: string,ver const SubdaoEmitterImplementation = await SubdaoEmitter.deploy(); await SubdaoEmitterImplementation.deployed(); + console.log('SubdaoEmitterAddress (Implementation):', SubdaoEmitterImplementation.address); + const SubdaoEmitterData = SubdaoEmitterImplementation.interface.encodeFunctionData('initEmitter', [accountAddress]); const SubdaoEmitterProxy = await ProxyContract.deploy(SubdaoEmitterImplementation.address, proxyAdmin, SubdaoEmitterData); await SubdaoEmitterProxy.deployed(); + console.log('SubdaoEmitterProxy Address (Proxy):', SubdaoEmitterProxy.address); + + logger.out("Saving addresses to contract-address.json...") + await updateAddresses( + { + subDao: { + emitter: { + implementation: SubdaoEmitterImplementation.address, + proxy: SubdaoEmitterProxy.address, + } + } + }, + hre + ); + if(verify_contracts){ await run(`verify:verify`, { address: SubdaoEmitterImplementation.address, @@ -31,15 +48,6 @@ const deploySubDaoEmitter = async (proxyAdmin: string,accountAddress: string,ver }); } - console.log('SubdaoEmitterProxy Address (Proxy):', SubdaoEmitterProxy.address); - - let subDaoEmitter = { - SubdaoEmitterProxyAddress: SubdaoEmitterProxy.address, - SubdaoEmitterImplementationAddress: SubdaoEmitterImplementation.address - } - - await saveFrontendFiles({subDaoEmitter}); - return Promise.resolve(SubdaoEmitterProxy.address); } catch (error) { return Promise.reject(error); diff --git a/contracts/normalized_endowment/scripts/deployImplementation.ts b/contracts/normalized_endowment/scripts/deployImplementation.ts index ba637ca08..ac3338128 100644 --- a/contracts/normalized_endowment/scripts/deployImplementation.ts +++ b/contracts/normalized_endowment/scripts/deployImplementation.ts @@ -2,15 +2,11 @@ // yours, or create new ones. import { HardhatRuntimeEnvironment } from "hardhat/types" -import { deployLockedWithdraw } from '../locked-withdraw/scripts/deploy' -import { saveFrontendFiles } from 'scripts/readWriteFile' +import { DonationMatchMessages } from "typechain-types/contracts/normalized_endowment/donation-match/DonationMatch.sol/DonationMatch" +import { logger, updateAddresses } from "utils" const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000'; -const HaloImplementations: Record> = { - -} - const deployDonationMatch = async (verify_contracts: boolean, hre: HardhatRuntimeEnvironment) => { try { const {network,run,ethers} = hre; @@ -18,8 +14,6 @@ const deployDonationMatch = async (verify_contracts: boolean, hre: HardhatRuntim const donationMatchImplementation = await DonationMatch.deploy(); await donationMatchImplementation.deployed(); - HaloImplementations.DonationMatchImplementation = donationMatchImplementation.address; - if (verify_contracts) { await run('verify:verify', { address: donationMatchImplementation.address, @@ -41,9 +35,6 @@ const deployCw900lvImplementation = async (verify_contracts: boolean, hre: Hardh const IncentivisedVotingLockupImplementation = await IncentivisedVotingLockup.deploy(); await IncentivisedVotingLockupImplementation.deployed(); - HaloImplementations.IncentivisedVotingLockupImplementation = IncentivisedVotingLockupImplementation.address; - - if (verify_contracts) { await run('verify:verify', { address: IncentivisedVotingLockupImplementation.address, @@ -58,7 +49,7 @@ const deployCw900lvImplementation = async (verify_contracts: boolean, hre: Hardh } }; -const deployDonationMatchCharity = async (proxyAdmin: string, deployDonationMatchCharity: Record, verify_contracts: boolean, hre: HardhatRuntimeEnvironment) => { +const deployDonationMatchCharity = async (proxyAdmin: string, deployDonationMatchCharity: DonationMatchMessages.InstantiateMessageStruct, verify_contracts: boolean, hre: HardhatRuntimeEnvironment) => { try { const {network,run,ethers} = hre; // Getting Proxy contract @@ -86,11 +77,6 @@ const deployDonationMatchCharity = async (proxyAdmin: string, deployDonationMatc console.log('DonationMatchCharityProxy Address (Proxy):', DonationMatchProxy.address); - let DonationMatchAddress = { - DonationMatchProxy: DonationMatchProxy.address, - DonationMatchImplementation: DonationMatchImplementation.address, - } - if (verify_contracts) { await run('verify:verify', { address: DonationMatchImplementation.address, @@ -103,9 +89,10 @@ const deployDonationMatchCharity = async (proxyAdmin: string, deployDonationMatc }); } - HaloImplementations.DonationMatchAddress = DonationMatchAddress; - - return Promise.resolve(DonationMatchProxy.address); + return Promise.resolve({ + implementation: DonationMatchImplementation.address, + proxy: DonationMatchProxy.address, + }); } catch (error) { return Promise.reject(error); } @@ -114,11 +101,7 @@ const deployDonationMatchCharity = async (proxyAdmin: string, deployDonationMatc const deploySubDao = async (ANGEL_CORE_STRUCT: string, verify_contracts: boolean, hre: HardhatRuntimeEnvironment) => { try { const {network,run,ethers} = hre; - const SubDaoLib = await ethers.getContractFactory('SubDaoLib', { - libraries: { - AngelCoreStruct: ANGEL_CORE_STRUCT, - }, - }); + const SubDaoLib = await ethers.getContractFactory('SubDaoLib'); let SUB_DAO_LIB = await SubDaoLib.deploy(); await SUB_DAO_LIB.deployed(); @@ -131,8 +114,6 @@ const deploySubDao = async (ANGEL_CORE_STRUCT: string, verify_contracts: boolean const SubDaoImplementation = await SubDao.deploy(); await SubDaoImplementation.deployed(); - HaloImplementations.SubDaoImplementation = SubDaoImplementation.address; - if (verify_contracts) { await run('verify:verify', { @@ -160,8 +141,6 @@ const deploySubDaoERC20 = async (verify_contracts: boolean, hre: HardhatRuntimeE const subDaoERC20Implementation = await subDaoERC20.deploy(); await subDaoERC20Implementation.deployed(); - HaloImplementations.subDaoERC20Implementation = subDaoERC20Implementation.address; - if (verify_contracts) { await run('verify:verify', { address: subDaoERC20Implementation.address, @@ -176,24 +155,22 @@ const deploySubDaoERC20 = async (verify_contracts: boolean, hre: HardhatRuntimeE } }; -const deploySubDaoBondingCurve = async (verify_contracts: boolean, hre: HardhatRuntimeEnvironment) => { +const deploySubDaoVeBondingToken = async (verify_contracts: boolean, hre: HardhatRuntimeEnvironment) => { try { const {network,run,ethers} = hre; - const subDaoCurveToken = await ethers.getContractFactory('SubDaoToken'); - const subDaoCurveTokenImplementation = await subDaoCurveToken.deploy(); - await subDaoCurveTokenImplementation.deployed(); - - HaloImplementations.subDaoCurveTokenImplementation = subDaoCurveTokenImplementation.address; + const subDaoVeBondingToken = await ethers.getContractFactory('SubDaoToken'); + const subDaoVeBondingTokenImpl = await subDaoVeBondingToken.deploy(); + await subDaoVeBondingTokenImpl.deployed(); if (verify_contracts) { await run('verify:verify', { - address: subDaoCurveTokenImplementation.address, + address: subDaoVeBondingTokenImpl.address, constructorArguments: [], }); } - return Promise.resolve(subDaoCurveTokenImplementation.address); + return Promise.resolve(subDaoVeBondingTokenImpl.address); } catch (e) { console.error(e); return Promise.reject(e); @@ -203,7 +180,7 @@ const deploySubDaoBondingCurve = async (verify_contracts: boolean, hre: HardhatR const deployFeeDistributor = async (verify_contracts: boolean, hre: HardhatRuntimeEnvironment) => { try { const {network,run,ethers} = hre; - // const FeeDistributor = await ethers.getContractFactory('FeeDistributorCurveToken'); + // const FeeDistributor = await ethers.getContractFactory('FeeDistributorveToken'); // const feeDistributorImplementation = await FeeDistributor.deploy(); // await feeDistributorImplementation.deployed(); @@ -214,15 +191,13 @@ const deployFeeDistributor = async (verify_contracts: boolean, hre: HardhatRunti } }; -const deployIncentiisedVoting = async (verify_contracts: boolean, hre: HardhatRuntimeEnvironment) => { +const deployIncentivisedVotingLockup = async (verify_contracts: boolean, hre: HardhatRuntimeEnvironment) => { try { const {network,run,ethers} = hre; const IncentivisedVotingLockup = await ethers.getContractFactory('IncentivisedVotingLockup'); const IncentivisedVotingLockupImplementation = await IncentivisedVotingLockup.deploy(); await IncentivisedVotingLockupImplementation.deployed(); - HaloImplementations.IncentivisedVotingLockupImplementation = IncentivisedVotingLockupImplementation.address; - if(verify_contracts){ await run('verify:verify', { address: IncentivisedVotingLockupImplementation.address, @@ -237,25 +212,39 @@ const deployIncentiisedVoting = async (verify_contracts: boolean, hre: HardhatRu } }; -export async function deployImplementation(ANGEL_CORE_STRUCT: string, LockedWithdrawData: string[], donationMatchCharityData: Record,verify_contracts: boolean, hre: HardhatRuntimeEnvironment) { +export async function deployImplementation( + ANGEL_CORE_STRUCT: string, + donationMatchCharityData: DonationMatchMessages.InstantiateMessageStruct, + verify_contracts: boolean, + hre: HardhatRuntimeEnvironment +) { try { const {network,run,ethers} = hre; let [deployer, proxyAdmin] = await ethers.getSigners(); - const Implementation = { - DonationMatch: await deployDonationMatch(verify_contracts, hre), - DonationMatchCharity: await deployDonationMatchCharity(proxyAdmin.address, donationMatchCharityData,verify_contracts, hre), - SubDao: await deploySubDao(ANGEL_CORE_STRUCT,verify_contracts, hre), - SubDaoERC20: await deploySubDaoERC20(verify_contracts, hre), - SubDaoBondingCurve: await deploySubDaoBondingCurve(verify_contracts,hre), - FeeDistributor: await deployFeeDistributor(verify_contracts,hre), - IncentiisedVoting: await deployIncentiisedVoting(verify_contracts,hre), - LockedWithdraw: await deployLockedWithdraw(proxyAdmin.address, LockedWithdrawData,verify_contracts,hre), - cw900lv: await deployCw900lvImplementation(verify_contracts,hre), + + const implementations = { + cw900lv: await deployCw900lvImplementation(verify_contracts, hre), + donationMatch: { + implementation: await deployDonationMatch(verify_contracts, hre) + }, + donationMatchCharity: await deployDonationMatchCharity(proxyAdmin.address, donationMatchCharityData,verify_contracts, hre), + feeDistributor: await deployFeeDistributor(verify_contracts, hre), + incentivisedVotingLockup: { + implementation: await deployIncentivisedVotingLockup(verify_contracts,hre) + }, + subDao: { + implementation: await deploySubDao(ANGEL_CORE_STRUCT,verify_contracts, hre), + token: await deploySubDaoERC20(verify_contracts, hre), + veBondingToken: await deploySubDaoVeBondingToken(verify_contracts,hre), + }, }; - await saveFrontendFiles({HaloImplementations}); + const {cw900lv, feeDistributor, ...toUpdate} = implementations + + logger.out("Saving addresses to contract-address.json...") + await updateAddresses(toUpdate, hre); - return Promise.resolve(Implementation); + return Promise.resolve(implementations) } catch (error) { return Promise.reject(error); } diff --git a/contracts/normalized_endowment/subdao-token/Token/BancorBondingCurve.sol b/contracts/normalized_endowment/subdao-token/Token/BancorBondingCurve.sol index 00712440e..fab8767ec 100644 --- a/contracts/normalized_endowment/subdao-token/Token/BancorBondingCurve.sol +++ b/contracts/normalized_endowment/subdao-token/Token/BancorBondingCurve.sol @@ -21,82 +21,82 @@ contract BancorBondingCurve is Power { * calculates the return for a given conversion (in the continuous token) * * Formula: - * Return = curSupply * ((1 + curDepositamount / curReservebalance) ^ (curReserveratio / MAX_RESERVE_RATIO) - 1) + * Return = supply * ((1 + depositamount / reservebalance) ^ (reserveratio / MAX_RESERVE_RATIO) - 1) * - * @param curSupply continuous token total supply - * @param curReservebalance total reserve token balance - * @param curReserveratio reserve ratio, represented in ppm, 1-1000000 - * @param curDepositamount deposit amount, in reserve token + * @param supply continuous token total supply + * @param reservebalance total reserve token balance + * @param reserveratio reserve ratio, represented in ppm, 1-1000000 + * @param depositamount deposit amount, in reserve token * * @return purchase return amount */ function calculatePurchaseReturn( - uint256 curSupply, - uint256 curReservebalance, - uint32 curReserveratio, - uint256 curDepositamount) view public returns (uint256) + uint256 supply, + uint256 reservebalance, + uint32 reserveratio, + uint256 depositamount) view public returns (uint256) { // validate input - require(curSupply > 0 && curReservebalance > 0 && curReserveratio > 0 && curReserveratio <= MAX_RESERVE_RATIO); + require(supply > 0 && reservebalance > 0 && reserveratio > 0 && reserveratio <= MAX_RESERVE_RATIO); // special case for 0 deposit amount - if (curDepositamount == 0) { + if (depositamount == 0) { return 0; } // special case if the ratio = 100% - if (curReserveratio == MAX_RESERVE_RATIO) { - return curSupply.mul(curDepositamount).div(curReservebalance); + if (reserveratio == MAX_RESERVE_RATIO) { + return supply.mul(depositamount).div(reservebalance); } uint256 result; uint8 precision; - uint256 baseN = curDepositamount.add(curReservebalance); + uint256 baseN = depositamount.add(reservebalance); (result, precision) = power( - baseN, curReservebalance, curReserveratio, MAX_RESERVE_RATIO + baseN, reservebalance, reserveratio, MAX_RESERVE_RATIO ); - uint256 newTokenSupply = curSupply.mul(result) >> precision; - return newTokenSupply - curSupply; + uint256 newTokenSupply = supply.mul(result) >> precision; + return newTokenSupply - supply; } /** * @dev given a continuous token supply, reserve token balance, reserve ratio and a sell amount (in the continuous token), * calculates the return for a given conversion (in the reserve token) * * Formula: - * Return = curReservebalance * (1 - (1 - curSellamount / curSupply) ^ (1 / (curReserveratio / MAX_RESERVE_RATIO))) + * Return = reservebalance * (1 - (1 - sellamount / supply) ^ (1 / (reserveratio / MAX_RESERVE_RATIO))) * - * @param curSupply continuous token total supply - * @param curReservebalance total reserve token balance - * @param curReserveratio constant reserve ratio, represented in ppm, 1-1000000 - * @param curSellamount sell amount, in the continuous token itself + * @param supply continuous token total supply + * @param reservebalance total reserve token balance + * @param reserveratio constant reserve ratio, represented in ppm, 1-1000000 + * @param sellamount sell amount, in the continuous token itself * * @return sale return amount */ function calculateSaleReturn( - uint256 curSupply, - uint256 curReservebalance, - uint32 curReserveratio, - uint256 curSellamount) view public returns (uint256) + uint256 supply, + uint256 reservebalance, + uint32 reserveratio, + uint256 sellamount) view public returns (uint256) { // validate input - require(curSupply > 0 && curReservebalance > 0 && curReserveratio > 0 && curReserveratio <= MAX_RESERVE_RATIO && curSellamount <= curSupply); + require(supply > 0 && reservebalance > 0 && reserveratio > 0 && reserveratio <= MAX_RESERVE_RATIO && sellamount <= supply); // special case for 0 sell amount - if (curSellamount == 0) { + if (sellamount == 0) { return 0; } // special case for selling the entire supply - if (curSellamount == curSupply) { - return curReservebalance; + if (sellamount == supply) { + return reservebalance; } // special case if the ratio = 100% - if (curReserveratio == MAX_RESERVE_RATIO) { - return curReservebalance.mul(curSellamount).div(curSupply); + if (reserveratio == MAX_RESERVE_RATIO) { + return reservebalance.mul(sellamount).div(supply); } uint256 result; uint8 precision; - uint256 baseD = curSupply - curSellamount; + uint256 baseD = supply - sellamount; (result, precision) = power( - curSupply, baseD, MAX_RESERVE_RATIO, curReserveratio + supply, baseD, MAX_RESERVE_RATIO, reserveratio ); - uint256 oldBalance = curReservebalance.mul(result); - uint256 newBalance = curReservebalance << precision; + uint256 oldBalance = reservebalance.mul(result); + uint256 newBalance = reservebalance << precision; return oldBalance.sub(newBalance).div(result); } } \ No newline at end of file diff --git a/contracts/normalized_endowment/subdao-token/Token/Continous.sol b/contracts/normalized_endowment/subdao-token/Token/Continous.sol index 2783f5896..5de395529 100644 --- a/contracts/normalized_endowment/subdao-token/Token/Continous.sol +++ b/contracts/normalized_endowment/subdao-token/Token/Continous.sol @@ -29,60 +29,60 @@ contract ContinuousToken is address public denomTokenAddress; - function initCurveToken( - string memory curName, - string memory curSymbol, - uint256 curReserveratio, - address curDenomtokenaddress + function initveToken( + string memory name, + string memory symbol, + uint256 reserveratio, + address denomtokenaddress ) public initializer { - require(curDenomtokenaddress != address(0), "Invalid denom token address"); + require(denomtokenaddress != address(0), "Invalid denom token address"); scale = 10**18; reserveBalance = 10 * scale; // FLOATING_POINTS = 1; _grantRole(DEFAULT_ADMIN_ROLE, address(0)); _grantRole(MINTER_ROLE, msg.sender); - __ERC20_init(curName, curSymbol); + __ERC20_init(name, symbol); require( - curReserveratio > 0 && curReserveratio <= 1000000, + reserveratio > 0 && reserveratio <= 1000000, "Invalid Reserve Ratio" ); - uint256 curDenomtokendecimals = ERC20(curDenomtokenaddress).decimals(); + uint256 denomtokendecimals = ERC20(denomtokenaddress).decimals(); - require(curDenomtokendecimals <= 18, "Token not supported"); + require(denomtokendecimals <= 18, "Token not supported"); - FLOATING_POINTS = 10**(18 - curDenomtokendecimals); + FLOATING_POINTS = 10**(18 - denomtokendecimals); - reserveRatio = curReserveratio; + reserveRatio = reserveratio; _mint(msg.sender, 1 * scale); - denomTokenAddress = curDenomtokenaddress; + denomTokenAddress = denomtokenaddress; } function decimals() public view virtual override returns (uint8) { return 18; } - function mint(uint256 curTokenamount, address curReciever) + function mint(uint256 tokenamount, address reciever) internal returns (uint256 ret) { - ret = _continuousMint(curTokenamount.mul(FLOATING_POINTS), curReciever); + ret = _continuousMint(tokenamount.mul(FLOATING_POINTS), reciever); } - function burn(uint256 curAmount, address curBurnedfrom) + function burn(uint256 amount, address burnedfrom) internal returns (uint256 returnAmount) { returnAmount = _continuousBurn( - curAmount.mul(FLOATING_POINTS), - curBurnedfrom + amount.mul(FLOATING_POINTS), + burnedfrom ); returnAmount = returnAmount.div(FLOATING_POINTS); } - function calculateContinuousMintReturn(uint256 curAmount) + function calculateContinuousMintReturn(uint256 amount) public view returns (uint256 mintAmount) @@ -92,11 +92,11 @@ contract ContinuousToken is totalSupply(), reserveBalance, uint32(reserveRatio), - curAmount.mul(FLOATING_POINTS) + amount.mul(FLOATING_POINTS) ); } - function calculateContinuousBurnReturn(uint256 curAmount) + function calculateContinuousBurnReturn(uint256 amount) public view returns (uint256 burnAmount) @@ -105,37 +105,37 @@ contract ContinuousToken is totalSupply(), reserveBalance, uint32(reserveRatio), - curAmount.mul(FLOATING_POINTS) + amount.mul(FLOATING_POINTS) ); burnAmount = burnAmount.div(FLOATING_POINTS); } - function _continuousMint(uint256 curDeposit, address curReciever) + function _continuousMint(uint256 deposit, address reciever) internal returns (uint256) { - require(curDeposit > 0, "Deposit must be non-zero."); + require(deposit > 0, "Deposit must be non-zero."); - uint256 amount = calculateContinuousMintReturn(curDeposit); - _mint(curReciever, amount); - reserveBalance = reserveBalance.add(curDeposit); + uint256 amount = calculateContinuousMintReturn(deposit); + _mint(reciever, amount); + reserveBalance = reserveBalance.add(deposit); return amount; } - function _continuousBurn(uint256 curAmount, address curBurnedfrom) + function _continuousBurn(uint256 amount, address burnedfrom) internal returns (uint256) { - require(curAmount > 0, "Amount must be non-zero."); + require(amount > 0, "Amount must be non-zero."); require( - balanceOf(curBurnedfrom) >= curAmount, + balanceOf(burnedfrom) >= amount, "Insufficient tokens to burn." ); - uint256 reimburseAmount = calculateContinuousBurnReturn(curAmount); + uint256 reimburseAmount = calculateContinuousBurnReturn(amount); reserveBalance = reserveBalance.sub(reimburseAmount); - _burn(curBurnedfrom, curAmount); + _burn(burnedfrom, amount); return reimburseAmount; } diff --git a/contracts/normalized_endowment/subdao-token/Token/Power.sol b/contracts/normalized_endowment/subdao-token/Token/Power.sol index 3adc29272..500d8fe40 100644 --- a/contracts/normalized_endowment/subdao-token/Token/Power.sol +++ b/contracts/normalized_endowment/subdao-token/Token/Power.sol @@ -174,7 +174,7 @@ License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability -incurred by, or claims asserted against, such Contributor by reason +inred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS @@ -381,38 +381,38 @@ contract Power { /** General Description: Determine a value of precision. - Calculate an integer approximation of (curBasen / curBased) ^ (curExpn / curExpd) * 2 ^ precision. + Calculate an integer approximation of (basen / based) ^ (expn / expd) * 2 ^ precision. Return the result along with the precision used. Detailed Description: Instead of calculating "base ^ exp", we calculate "e ^ (log(base) * exp)". The value of "log(base)" is represented with an integer slightly smaller than "log(base) * 2 ^ precision". - The larger "precision" is, the more accurately this value represents the real value. + The larger "precision" is, the more acately this value represents the real value. However, the larger "precision" is, the more bits are required in order to store this value. And the exponentiation function, which takes "x" and calculates "e ^ x", is limited to a maximum exponent (maximum value of "x"). This maximum exponent depends on the "precision" used, and it is given by "maxExpArray[precision] >> (MAX_PRECISION - precision)". Hence we need to determine the highest precision which can be used for the given input, before calling the exponentiation function. - This allows us to compute "base ^ exp" with maximum accuracy and without exceeding 256 bits in any of the intermediate computations. - This functions assumes that "curExpn < 2 ^ 256 / log(MAX_NUM - 1)", otherwise the multiplication should be replaced with a "safeMul". + This allows us to compute "base ^ exp" with maximum acacy and without exceeding 256 bits in any of the intermediate computations. + This functions assumes that "expn < 2 ^ 256 / log(MAX_NUM - 1)", otherwise the multiplication should be replaced with a "safeMul". */ function power( - uint256 curBasen, - uint256 curBased, - uint32 curExpn, - uint32 curExpd + uint256 basen, + uint256 based, + uint32 expn, + uint32 expd ) internal view returns (uint256, uint8) { - assert(curBasen < MAX_NUM); - require(curBasen >= curBased, "Bases < 1 are not supported."); + assert(basen < MAX_NUM); + require(basen >= based, "Bases < 1 are not supported."); uint256 baseLog; - uint256 base = curBasen * FIXED_1 / curBased; + uint256 base = basen * FIXED_1 / based; if (base < OPT_LOG_MAX_VAL) { baseLog = optimalLog(base); } else { baseLog = generalLog(base); } - uint256 baseLogTimesExp = baseLog * curExpn / curExpd; + uint256 baseLogTimesExp = baseLog * expn / expd; if (baseLogTimesExp < OPT_EXP_MAX_VAL) { return (optimalExp(baseLogTimesExp), MAX_PRECISION); } else { @@ -425,10 +425,9 @@ contract Power { Compute log(x / FIXED_1) * FIXED_1. This functions assumes that "x >= FIXED_1", because the output would be negative otherwise. */ - function generalLog(uint256 curX) internal pure returns (uint256) { + function generalLog(uint256 x) internal pure returns (uint256) { uint256 res = 0; - uint256 x = curX; - + // If x >= 2, then we compute the integer part of log2(x), which is larger than 0. if (x >= FIXED_2) { uint8 count = floorLog2(x / FIXED_1); @@ -453,10 +452,8 @@ contract Power { /** Compute the largest integer smaller than or equal to the binary logarithm of the input. */ - function floorLog2(uint256 curN) internal pure returns (uint8) { + function floorLog2(uint256 n) internal pure returns (uint8) { uint8 res = 0; - uint256 n = curN; - if (n < 256) { // At most 8 iterations while (n > 1) { @@ -481,7 +478,7 @@ contract Power { - This function finds the position of [the smallest value in "maxExpArray" larger than or equal to "x"] - This function finds the highest position of [a value in "maxExpArray" larger than or equal to "x"] */ - function findPositionInMaxExpArray(uint256 curX) + function findPositionInMaxExpArray(uint256 x) internal view returns (uint8) { uint8 lo = MIN_PRECISION; @@ -489,15 +486,15 @@ contract Power { while (lo + 1 < hi) { uint8 mid = (lo + hi) / 2; - if (maxExpArray[mid] >= curX) + if (maxExpArray[mid] >= x) lo = mid; else hi = mid; } - if (maxExpArray[hi] >= curX) + if (maxExpArray[hi] >= x) return hi; - if (maxExpArray[lo] >= curX) + if (maxExpArray[lo] >= x) return lo; assert(false); @@ -508,48 +505,48 @@ contract Power { /** This function can be auto-generated by the script 'PrintFunctionGeneralExp.py'. It approximates "e ^ x" via maclaurin summation: "(x^0)/0! + (x^1)/1! + ... + (x^n)/n!". - It returns "e ^ (x / 2 ^ precision) * 2 ^ precision", that is, the result is upshifted for accuracy. + It returns "e ^ (x / 2 ^ precision) * 2 ^ precision", that is, the result is upshifted for acacy. The global "maxExpArray" maps each "precision" to "((maximumExponent + 1) << (MAX_PRECISION - precision)) - 1". The maximum permitted value for "x" is therefore given by "maxExpArray[precision] >> (MAX_PRECISION - precision)". */ - function generalExp(uint256 curX, uint8 curPrecision) internal pure returns (uint256) { - uint256 xi = curX; + function generalExp(uint256 x, uint8 precision) internal pure returns (uint256) { + uint256 xi = x; uint256 res = 0; - xi = (xi * curX) >> curPrecision; res += xi * 0x3442c4e6074a82f1797f72ac0000000; // add x^02 * (33! / 02!) - xi = (xi * curX) >> curPrecision; res += xi * 0x116b96f757c380fb287fd0e40000000; // add x^03 * (33! / 03!) - xi = (xi * curX) >> curPrecision; res += xi * 0x045ae5bdd5f0e03eca1ff4390000000; // add x^04 * (33! / 04!) - xi = (xi * curX) >> curPrecision; res += xi * 0x00defabf91302cd95b9ffda50000000; // add x^05 * (33! / 05!) - xi = (xi * curX) >> curPrecision; res += xi * 0x002529ca9832b22439efff9b8000000; // add x^06 * (33! / 06!) - xi = (xi * curX) >> curPrecision; res += xi * 0x00054f1cf12bd04e516b6da88000000; // add x^07 * (33! / 07!) - xi = (xi * curX) >> curPrecision; res += xi * 0x0000a9e39e257a09ca2d6db51000000; // add x^08 * (33! / 08!) - xi = (xi * curX) >> curPrecision; res += xi * 0x000012e066e7b839fa050c309000000; // add x^09 * (33! / 09!) - xi = (xi * curX) >> curPrecision; res += xi * 0x000001e33d7d926c329a1ad1a800000; // add x^10 * (33! / 10!) - xi = (xi * curX) >> curPrecision; res += xi * 0x0000002bee513bdb4a6b19b5f800000; // add x^11 * (33! / 11!) - xi = (xi * curX) >> curPrecision; res += xi * 0x00000003a9316fa79b88eccf2a00000; // add x^12 * (33! / 12!) - xi = (xi * curX) >> curPrecision; res += xi * 0x0000000048177ebe1fa812375200000; // add x^13 * (33! / 13!) - xi = (xi * curX) >> curPrecision; res += xi * 0x0000000005263fe90242dcbacf00000; // add x^14 * (33! / 14!) - xi = (xi * curX) >> curPrecision; res += xi * 0x000000000057e22099c030d94100000; // add x^15 * (33! / 15!) - xi = (xi * curX) >> curPrecision; res += xi * 0x0000000000057e22099c030d9410000; // add x^16 * (33! / 16!) - xi = (xi * curX) >> curPrecision; res += xi * 0x00000000000052b6b54569976310000; // add x^17 * (33! / 17!) - xi = (xi * curX) >> curPrecision; res += xi * 0x00000000000004985f67696bf748000; // add x^18 * (33! / 18!) - xi = (xi * curX) >> curPrecision; res += xi * 0x000000000000003dea12ea99e498000; // add x^19 * (33! / 19!) - xi = (xi * curX) >> curPrecision; res += xi * 0x00000000000000031880f2214b6e000; // add x^20 * (33! / 20!) - xi = (xi * curX) >> curPrecision; res += xi * 0x000000000000000025bcff56eb36000; // add x^21 * (33! / 21!) - xi = (xi * curX) >> curPrecision; res += xi * 0x000000000000000001b722e10ab1000; // add x^22 * (33! / 22!) - xi = (xi * curX) >> curPrecision; res += xi * 0x0000000000000000001317c70077000; // add x^23 * (33! / 23!) - xi = (xi * curX) >> curPrecision; res += xi * 0x00000000000000000000cba84aafa00; // add x^24 * (33! / 24!) - xi = (xi * curX) >> curPrecision; res += xi * 0x00000000000000000000082573a0a00; // add x^25 * (33! / 25!) - xi = (xi * curX) >> curPrecision; res += xi * 0x00000000000000000000005035ad900; // add x^26 * (33! / 26!) - xi = (xi * curX) >> curPrecision; res += xi * 0x000000000000000000000002f881b00; // add x^27 * (33! / 27!) - xi = (xi * curX) >> curPrecision; res += xi * 0x0000000000000000000000001b29340; // add x^28 * (33! / 28!) - xi = (xi * curX) >> curPrecision; res += xi * 0x00000000000000000000000000efc40; // add x^29 * (33! / 29!) - xi = (xi * curX) >> curPrecision; res += xi * 0x0000000000000000000000000007fe0; // add x^30 * (33! / 30!) - xi = (xi * curX) >> curPrecision; res += xi * 0x0000000000000000000000000000420; // add x^31 * (33! / 31!) - xi = (xi * curX) >> curPrecision; res += xi * 0x0000000000000000000000000000021; // add x^32 * (33! / 32!) - xi = (xi * curX) >> curPrecision; res += xi * 0x0000000000000000000000000000001; // add x^33 * (33! / 33!) - - return res / 0x688589cc0e9505e2f2fee5580000000 + curX + (ONE << curPrecision); // divide by 33! and then add x^1 / 1! + x^0 / 0! + xi = (xi * x) >> precision; res += xi * 0x3442c4e6074a82f1797f72ac0000000; // add x^02 * (33! / 02!) + xi = (xi * x) >> precision; res += xi * 0x116b96f757c380fb287fd0e40000000; // add x^03 * (33! / 03!) + xi = (xi * x) >> precision; res += xi * 0x045ae5bdd5f0e03eca1ff4390000000; // add x^04 * (33! / 04!) + xi = (xi * x) >> precision; res += xi * 0x00defabf91302cd95b9ffda50000000; // add x^05 * (33! / 05!) + xi = (xi * x) >> precision; res += xi * 0x002529ca9832b22439efff9b8000000; // add x^06 * (33! / 06!) + xi = (xi * x) >> precision; res += xi * 0x00054f1cf12bd04e516b6da88000000; // add x^07 * (33! / 07!) + xi = (xi * x) >> precision; res += xi * 0x0000a9e39e257a09ca2d6db51000000; // add x^08 * (33! / 08!) + xi = (xi * x) >> precision; res += xi * 0x000012e066e7b839fa050c309000000; // add x^09 * (33! / 09!) + xi = (xi * x) >> precision; res += xi * 0x000001e33d7d926c329a1ad1a800000; // add x^10 * (33! / 10!) + xi = (xi * x) >> precision; res += xi * 0x0000002bee513bdb4a6b19b5f800000; // add x^11 * (33! / 11!) + xi = (xi * x) >> precision; res += xi * 0x00000003a9316fa79b88eccf2a00000; // add x^12 * (33! / 12!) + xi = (xi * x) >> precision; res += xi * 0x0000000048177ebe1fa812375200000; // add x^13 * (33! / 13!) + xi = (xi * x) >> precision; res += xi * 0x0000000005263fe90242dcbacf00000; // add x^14 * (33! / 14!) + xi = (xi * x) >> precision; res += xi * 0x000000000057e22099c030d94100000; // add x^15 * (33! / 15!) + xi = (xi * x) >> precision; res += xi * 0x0000000000057e22099c030d9410000; // add x^16 * (33! / 16!) + xi = (xi * x) >> precision; res += xi * 0x00000000000052b6b54569976310000; // add x^17 * (33! / 17!) + xi = (xi * x) >> precision; res += xi * 0x00000000000004985f67696bf748000; // add x^18 * (33! / 18!) + xi = (xi * x) >> precision; res += xi * 0x000000000000003dea12ea99e498000; // add x^19 * (33! / 19!) + xi = (xi * x) >> precision; res += xi * 0x00000000000000031880f2214b6e000; // add x^20 * (33! / 20!) + xi = (xi * x) >> precision; res += xi * 0x000000000000000025bcff56eb36000; // add x^21 * (33! / 21!) + xi = (xi * x) >> precision; res += xi * 0x000000000000000001b722e10ab1000; // add x^22 * (33! / 22!) + xi = (xi * x) >> precision; res += xi * 0x0000000000000000001317c70077000; // add x^23 * (33! / 23!) + xi = (xi * x) >> precision; res += xi * 0x00000000000000000000cba84aafa00; // add x^24 * (33! / 24!) + xi = (xi * x) >> precision; res += xi * 0x00000000000000000000082573a0a00; // add x^25 * (33! / 25!) + xi = (xi * x) >> precision; res += xi * 0x00000000000000000000005035ad900; // add x^26 * (33! / 26!) + xi = (xi * x) >> precision; res += xi * 0x000000000000000000000002f881b00; // add x^27 * (33! / 27!) + xi = (xi * x) >> precision; res += xi * 0x0000000000000000000000001b29340; // add x^28 * (33! / 28!) + xi = (xi * x) >> precision; res += xi * 0x00000000000000000000000000efc40; // add x^29 * (33! / 29!) + xi = (xi * x) >> precision; res += xi * 0x0000000000000000000000000007fe0; // add x^30 * (33! / 30!) + xi = (xi * x) >> precision; res += xi * 0x0000000000000000000000000000420; // add x^31 * (33! / 31!) + xi = (xi * x) >> precision; res += xi * 0x0000000000000000000000000000021; // add x^32 * (33! / 32!) + xi = (xi * x) >> precision; res += xi * 0x0000000000000000000000000000001; // add x^33 * (33! / 33!) + + return res / 0x688589cc0e9505e2f2fee5580000000 + x + (ONE << precision); // divide by 33! and then add x^1 / 1! + x^0 / 0! } /** diff --git a/contracts/normalized_endowment/subdao-token/message.sol b/contracts/normalized_endowment/subdao-token/message.sol index ecba858de..90cecda22 100644 --- a/contracts/normalized_endowment/subdao-token/message.sol +++ b/contracts/normalized_endowment/subdao-token/message.sol @@ -10,20 +10,20 @@ library SubDaoTokenMessage { string name; /// symbol / ticker of the supply token string symbol; - // /// number of decimal places of the supply token, needed for proper curve math. + // /// number of decimal places of the supply token, needed for proper ve math. // /// If it is eg. HALO, where a balance of 10^6 means 1 HALO, then use 6 here. // uint256 decimals; /// this is the cw20 reserve token address /// For Charity Shares, this is the address of the HALO CW20 Contract address reserveDenom; - // /// number of decimal places for the reserve token, needed for proper curve math. + // /// number of decimal places for the reserve token, needed for proper ve math. // /// Same format as decimals above, eg. if it is uatom, where 1 unit is 10^-6 ATOM, use 6 here // uint256 reserveDecimals; - /// enum to store the curve parameters used for this contract - /// if you want to add a custom Curve, you should make a new contract that imports this one. + /// enum to store the ve parameters used for this contract + /// if you want to add a custom ve, you should make a new contract that imports this one. /// write a custom `instantiate`, and then dispatch `your::execute` -> `cw20_bonding::do_execute` - /// with your custom curve as a parameter (and same with `query` -> `do_query`) - AngelCoreStruct.CurveTypeEnum curve_type; + /// with your custom ve as a parameter (and same with `query` -> `do_query`) + AngelCoreStruct.veTypeEnum ve_type; // days of unbonding uint256 unbondingPeriod; } diff --git a/contracts/normalized_endowment/subdao-token/storage.sol b/contracts/normalized_endowment/subdao-token/storage.sol index 478e6cbc6..44eaecd33 100644 --- a/contracts/normalized_endowment/subdao-token/storage.sol +++ b/contracts/normalized_endowment/subdao-token/storage.sol @@ -24,7 +24,7 @@ library subDaoTokenStorage { AngelCoreStruct.Duration unbondingPeriod; } - enum CurveTypeEnum { + enum veTypeEnum { Constant, Linear, SquareRoot @@ -41,11 +41,11 @@ library subDaoTokenStorage { } function getReserveRatio( - AngelCoreStruct.CurveTypeEnum curCurveType + AngelCoreStruct.veTypeEnum curveType ) internal pure returns (uint256) { - if (curCurveType == AngelCoreStruct.CurveTypeEnum.Linear) { + if (curveType == AngelCoreStruct.veTypeEnum.Linear) { return 500000; - } else if (curCurveType == AngelCoreStruct.CurveTypeEnum.SquarRoot) { + } else if (curveType == AngelCoreStruct.veTypeEnum.SquarRoot) { return 660000; } else { return 1000000; diff --git a/contracts/normalized_endowment/subdao-token/subdao-token.sol b/contracts/normalized_endowment/subdao-token/subdao-token.sol index 48bfcd681..b4e44251d 100644 --- a/contracts/normalized_endowment/subdao-token/subdao-token.sol +++ b/contracts/normalized_endowment/subdao-token/subdao-token.sol @@ -8,7 +8,7 @@ import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; import "@openzeppelin/contracts/access/AccessControl.sol"; import "@openzeppelin/contracts/utils/math/SafeMath.sol"; -import {IAccountsDepositWithdrawEndowments} from "./../../core/accounts/interface/IAccountsDepositWithdrawEndowments.sol"; +import {IAccountDonationMatch} from "../../core/accounts/interfaces/IAccountDonationMatch.sol"; import {SubDaoTokenMessage} from "./message.sol"; import {subDaoTokenStorage} from "./storage.sol"; // import {ISubdaoTokenEmitter} from "./ISubdaoTokenEmitter.sol"; @@ -26,83 +26,83 @@ contract SubDaoToken is Storage, ContinuousToken { /** * @dev Initialize contract - * @param curMsg SubDaoTokenMessage.InstantiateMsg used to initialize contract - * @param curEmitteraddress address + * @param message SubDaoTokenMessage.InstantiateMsg used to initialize contract + * @param emitteraddress address */ function continuosToken( - SubDaoTokenMessage.InstantiateMsg memory curMsg, - address curEmitteraddress + SubDaoTokenMessage.InstantiateMsg memory message, + address emitteraddress ) public initializer { - require(curEmitteraddress != address(0), "Invalid Address"); - emitterAddress = curEmitteraddress; - initCurveToken( - curMsg.name, - curMsg.symbol, - subDaoTokenStorage.getReserveRatio(curMsg.curve_type), - curMsg.reserveDenom + require(emitteraddress != address(0), "Invalid Address"); + emitterAddress = emitteraddress; + initveToken( + message.name, + message.symbol, + subDaoTokenStorage.getReserveRatio(message.ve_type), + message.reserveDenom ); - tokenInfo.name = curMsg.name; - tokenInfo.symbol = curMsg.symbol; - tokenInfo.decimals = 18; //Equivalue to curMsg.decimals + tokenInfo.name = message.name; + tokenInfo.symbol = message.symbol; + tokenInfo.decimals = 18; //Equivalue to message.decimals tokenInfo.mint = subDaoTokenStorage.MinterData({ minter: address(this), cap: 0, hasCap: false }); - reserveDenom = curMsg.reserveDenom; + reserveDenom = message.reserveDenom; config.unbondingPeriod = AngelCoreStruct.Duration({ enumData: AngelCoreStruct.DurationEnum.Time, data: AngelCoreStruct.DurationData({ height: 0, - time: curMsg.unbondingPeriod + time: message.unbondingPeriod }) }); - // ISubdaoTokenEmitter(emitterAddress).initializeSubdaoToken(curMsg); + // ISubdaoTokenEmitter(emitterAddress).initializeSubdaoToken(msg); } //TODO: check we have a un used parameter /** * @dev This function is used to transfer an amount from the sender to the contract and divide it into four parts: donor's share, endowment's share, burn and the deposit in an endowment contract. - * @param curAmount uint256 - * @param curAccountscontract address - * @param curEndowmentid uint256 - * @param curDonor address + * @param amount uint256 + * @param accountscontract address + * @param endowmentId uint256 + * @param donor address */ function executeDonorMatch( - uint256 curAmount, - address curAccountscontract, - uint256 curEndowmentid, - address curDonor + uint256 amount, + address accountscontract, + uint32 endowmentId, + address donor ) public { - require(curAmount > 100, "InvalidZeroAmount"); + require(amount > 100, "InvalidZeroAmount"); // changing flow as each mint operation changes the amount of tokens that are minted - // total possible subdao mint for curAmount (give 40 % to donor, 40% to endowment, rest burn) - uint256 totalMinted = mint(curAmount, address(this)); + // total possible subdao mint for amount (give 40 % to donor, 40% to endowment, rest burn) + uint256 totalMinted = mint(amount, address(this)); uint256 donorAmount = (totalMinted.mul(40)).div(100); uint256 endowmentAmount = (totalMinted.mul(40)).div(100); uint256 burnAmount = totalMinted.sub(donorAmount).sub(endowmentAmount); require( - IERC20(address(this)).transfer(curDonor, donorAmount), + IERC20(address(this)).transfer(donor, donorAmount), "Transfer failed" ); // 40% to donor burn(burnAmount, address(this)); // 20% burn require( - IERC20(address(this)).approve(curAccountscontract, endowmentAmount), + IERC20(address(this)).approve(accountscontract, endowmentAmount), "Approve failed" ); - IAccountsDepositWithdrawEndowments(curAccountscontract) + IAccountDonationMatch(accountscontract) .depositDonationMatchErC20( - curEndowmentid, + endowmentId, address(this), endowmentAmount ); @@ -112,7 +112,7 @@ contract SubDaoToken is Storage, ContinuousToken { IERC20(reserveDenom).transferFrom( msg.sender, address(this), - curAmount + amount ), "TransferFrom failed" ); @@ -120,15 +120,15 @@ contract SubDaoToken is Storage, ContinuousToken { /** * @dev This function is used to transfer an amount from the sender to the contract and mint the same amount for the sender. - * @param curAmount uint256 + * @param amount uint256 */ - function executeBuyCw20(uint256 curAmount) public { - require(curAmount > 100, "InvalidZeroAmount"); + function executeBuyCw20(uint256 amount) public { + require(amount > 100, "InvalidZeroAmount"); require( IERC20(reserveDenom).transferFrom( msg.sender, address(this), - curAmount + amount ), "TransferFrom failed" ); @@ -136,33 +136,33 @@ contract SubDaoToken is Storage, ContinuousToken { // reserveDenom, // msg.sender, // address(this), - // curAmount + // amount // ); - mint(curAmount, msg.sender); + mint(amount, msg.sender); // ISubdaoTokenEmitter(emitterAddress).mintSt( // address(this), - // curAmount, + // amount, // msg.sender // ); } /** - * @dev This function is used to transfer an amount from the contract to the given `curReciver` and burn the same amount from the sender. - * @param curAmount uint256 - * @param curReciver address + * @dev This function is used to transfer an amount from the contract to the given `reciver` and burn the same amount from the sender. + * @param amount uint256 + * @param reciver address */ - function executeSell(address curReciver, uint256 curAmount) public { - doSell(curReciver, curAmount); + function executeSell(address reciver, uint256 amount) public { + doSell(reciver, amount); } /** * @dev This function is an internal function used by the `executeSell` function to perform the actual transfer and burn operations. - * @param curAmount uint256 - * @param curReciver address + * @param amount uint256 + * @param reciver address */ - function doSell(address curReciver, uint256 curAmount) internal { - uint256 burnedAmount = burn(curAmount, curReciver); + function doSell(address reciver, uint256 amount) internal { + uint256 burnedAmount = burn(amount, reciver); // ISubdaoTokenEmitter(emitterAddress).burnSt( // address(this), // burnedAmount @@ -210,21 +210,21 @@ contract SubDaoToken is Storage, ContinuousToken { /** * @notice This function is used to check if the release time of the token has passed and if the token can be claimed. - * @param curSender address + * @param sender address * @return amount Amount of claimable tokens */ - function claimTokensCheck(address curSender) internal returns (uint256) { + function claimTokensCheck(address sender) internal returns (uint256) { uint256 amount = 0; - for (uint256 i = 0; i < CLAIM_AMOUNT[curSender].details.length; i++) { + for (uint256 i = 0; i < CLAIM_AMOUNT[sender].details.length; i++) { if ( - CLAIM_AMOUNT[curSender].details[i].releaseTime < + CLAIM_AMOUNT[sender].details[i].releaseTime < block.timestamp && - !CLAIM_AMOUNT[curSender].details[i].isClaimed + !CLAIM_AMOUNT[sender].details[i].isClaimed ) { - amount += CLAIM_AMOUNT[curSender].details[i].amount; - CLAIM_AMOUNT[curSender].details[i].isClaimed = true; - // ISubdaoTokenEmitter(emitterAddress).claimSt(curSender, i); + amount += CLAIM_AMOUNT[sender].details[i].amount; + CLAIM_AMOUNT[sender].details[i].isClaimed = true; + // ISubdaoTokenEmitter(emitterAddress).claimSt(sender, i); } } diff --git a/contracts/normalized_endowment/subdao/Isubdao.sol b/contracts/normalized_endowment/subdao/Isubdao.sol index 5d58c49e6..89ee90f95 100644 --- a/contracts/normalized_endowment/subdao/Isubdao.sol +++ b/contracts/normalized_endowment/subdao/Isubdao.sol @@ -7,42 +7,42 @@ import {AngelCoreStruct} from "../../core/struct.sol"; import {RegistrarStorage} from "../../core/registrar/storage.sol"; import {Array} from "../../lib/array.sol"; -import {IRegistrar} from "../../core/registrar/interface/IRegistrar.sol"; +import {IRegistrar} from "../../core/registrar/interfaces/IRegistrar.sol"; interface ISubDao { function registerContracts( - address curVetoken, - address curSwapfactory + address vetoken, + address swapfactory ) external; function updateConfig( - address curOwner, - uint256 curQuorum, - uint256 curThreshold, - uint256 curVotingperiod, - uint256 curTimelockperiod, - uint256 curExpirationperiod, - uint256 curProposaldeposit, - uint256 curSnapshotperiod + address owner, + uint256 quorum, + uint256 threshold, + uint256 votingperiod, + uint256 timelockperiod, + uint256 expirationperiod, + uint256 proposaldeposit, + uint256 snapshotperiod ) external; function createPoll( - address curProposer, - uint256 curDepositamount, - string memory curTitle, - string memory curDescription, - string memory curLink, - subDaoStorage.ExecuteData memory curExecuteMsgs + address proposer, + uint256 depositamount, + string memory title, + string memory description, + string memory link, + subDaoStorage.ExecuteData memory executeMsgs ) external; - function endPoll(uint256 curPollid) external; + function endPoll(uint256 pollid) external; - function executePoll(uint256 curPollid) external; + function executePoll(uint256 pollid) external; - function expirePoll(uint256 curPollid) external; + function expirePoll(uint256 pollid) external; function castVote( - uint256 curPollid, + uint256 pollid, subDaoStorage.VoteOption vote ) external; @@ -54,6 +54,6 @@ interface ISubDao { function queryState() external view returns (subDaoStorage.State memory); function buildDaoTokenMesage( - subDaoMessage.InstantiateMsg memory curMsg + subDaoMessage.InstantiateMsg memory msg ) external; } diff --git a/contracts/normalized_endowment/subdao/SubdaoEmitter.sol b/contracts/normalized_endowment/subdao/SubdaoEmitter.sol index 0f13dc891..6fdc90dfd 100644 --- a/contracts/normalized_endowment/subdao/SubdaoEmitter.sol +++ b/contracts/normalized_endowment/subdao/SubdaoEmitter.sol @@ -8,14 +8,14 @@ contract SubdaoEmitter { bool initialized = false; address accountsContract; - function initEmitter(address curAccountscontract) public { + function initEmitter(address accountscontract) public { require( - curAccountscontract != address(0), + accountscontract != address(0), "Invalid accounts contract address" ); require(!initialized, "Already Initialized"); initialized = true; - accountsContract = curAccountscontract; + accountsContract = accountscontract; } mapping(address => bool) isSubdao; diff --git a/contracts/normalized_endowment/subdao/Token/ERC20.sol b/contracts/normalized_endowment/subdao/Token/ERC20.sol index 4dbffa260..c50dc7dd2 100644 --- a/contracts/normalized_endowment/subdao/Token/ERC20.sol +++ b/contracts/normalized_endowment/subdao/Token/ERC20.sol @@ -10,17 +10,17 @@ contract NewERC20 is ERC20Upgradeable, AccessControl { bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); function initErC20( - string memory curName, - string memory curSymbol, - address curMintaddress, - uint256 curTotalmint, - address curAdmin + string memory name, + string memory symbol, + address mintaddress, + uint256 totalmint, + address admin ) public initializer { - _grantRole(DEFAULT_ADMIN_ROLE, curAdmin); + _grantRole(DEFAULT_ADMIN_ROLE, admin); _grantRole(MINTER_ROLE, msg.sender); - __ERC20_init(curName, curSymbol); - mint(curMintaddress, curTotalmint); + __ERC20_init(name, symbol); + mint(mintaddress, totalmint); } function mint(address to, uint256 amount) public onlyRole(MINTER_ROLE) { diff --git a/contracts/normalized_endowment/subdao/message.sol b/contracts/normalized_endowment/subdao/message.sol index 0ac3a6101..4cb59db79 100644 --- a/contracts/normalized_endowment/subdao/message.sol +++ b/contracts/normalized_endowment/subdao/message.sol @@ -7,7 +7,7 @@ import {subDaoStorage} from "./storage.sol"; library subDaoMessage { struct InstantiateMsg { - uint256 id; + uint32 id; address owner; uint256 quorum; uint256 threshold; @@ -17,7 +17,7 @@ library subDaoMessage { uint256 proposalDeposit; uint256 snapshotPeriod; AngelCoreStruct.DaoToken token; - AngelCoreStruct.EndowmentType endow_type; + AngelCoreStruct.EndowmentType endowType; address endowOwner; address registrarContract; } diff --git a/contracts/normalized_endowment/subdao/subdao.sol b/contracts/normalized_endowment/subdao/subdao.sol index a262f7aef..75116612e 100644 --- a/contracts/normalized_endowment/subdao/subdao.sol +++ b/contracts/normalized_endowment/subdao/subdao.sol @@ -7,10 +7,10 @@ import {AngelCoreStruct} from "../../core/struct.sol"; import {RegistrarStorage} from "../../core/registrar/storage.sol"; import {Array} from "../../lib/array.sol"; import {ProxyContract} from "./../../core/proxy.sol"; -import {IRegistrar} from "../../core/registrar/interface/IRegistrar.sol"; +import {IRegistrar} from "../../core/registrar/interfaces/IRegistrar.sol"; import "@openzeppelin/contracts/utils/Address.sol"; import {SubDaoToken, SubDaoTokenMessage, subDaoTokenStorage} from "./../subdao-token/subdao-token.sol"; -import {QueryIIncentivisedVotingLockup} from "./../incentivised-voting/interface/QueryIIncentivisedVotingLockup.sol"; +import {QueryIIncentivisedVotingLockup} from "./../incentivised-voting/interfaces/QueryIIncentivisedVotingLockup.sol"; import {ReentrancyGuard} from "@openzeppelin/contracts/security/ReentrancyGuard.sol"; import {ISubdaoEmitter} from "./ISubdaoEmitter.sol"; import "./Token/ERC20.sol"; @@ -49,15 +49,15 @@ library SubDaoLib { /** * @notice function used to validate title * @dev validate title - * @param curTitle title to be validated + * @param title title to be validated */ - function validateTitle(string memory curTitle) public pure returns (bool) { + function validateTitle(string memory title) public pure returns (bool) { require( - utfStringLength(curTitle) > MIN_TITLE_LENGTH, + utfStringLength(title) > MIN_TITLE_LENGTH, "Title too short" ); - require(utfStringLength(curTitle) < MAX_TITLE_LENGTH, "Title too long"); + require(utfStringLength(title) < MAX_TITLE_LENGTH, "Title too long"); return true; } @@ -65,18 +65,18 @@ library SubDaoLib { /** * @notice function used to validate description * @dev validate description - * @param curDescription description to be validated + * @param description description to be validated */ function validateDescription( - string memory curDescription + string memory description ) public pure returns (bool) { require( - utfStringLength(curDescription) > MIN_DESC_LENGTH, + utfStringLength(description) > MIN_DESC_LENGTH, "Description too short" ); require( - utfStringLength(curDescription) < MAX_DESC_LENGTH, + utfStringLength(description) < MAX_DESC_LENGTH, "Description too long" ); @@ -86,37 +86,37 @@ library SubDaoLib { /** * @notice function used to validate link * @dev validate link - * @param curLink link to be validated + * @param link link to be validated */ - function validateLink(string memory curLink) public pure returns (bool) { - require(utfStringLength(curLink) > MIN_LINK_LENGTH, "Link too short"); + function validateLink(string memory link) public pure returns (bool) { + require(utfStringLength(link) > MIN_LINK_LENGTH, "Link too short"); - require(utfStringLength(curLink) < MAX_LINK_LENGTH, "Link too long"); + require(utfStringLength(link) < MAX_LINK_LENGTH, "Link too long"); return true; } /** - * @notice function used to validate curQuorum - * @dev validate curQuorum - * @param curQuorum curQuorum to be validated + * @notice function used to validate quorum + * @dev validate quorum + * @param quorum quorum to be validated */ - function validateQuorum(uint256 curQuorum) public pure returns (bool) { - require(curQuorum < 100, "quorum must be 0 to 100"); + function validateQuorum(uint256 quorum) public pure returns (bool) { + require(quorum < 100, "quorum must be 0 to 100"); return true; } /** - * @notice function used to validate curThreshold - * @dev validate curThreshold - * @param curThreshold curThreshold to be validated + * @notice function used to validate threshold + * @dev validate threshold + * @param threshold threshold to be validated */ function validateThreshold( - uint256 curThreshold + uint256 threshold ) public pure returns (bool) { - require(curThreshold < 100, "threshold must be 0 to 100"); + require(threshold < 100, "threshold must be 0 to 100"); return true; } @@ -124,50 +124,50 @@ library SubDaoLib { /** * @notice function used to query voting balance of an address * @dev query voting balance of an address - * @param curVeaddr ve address - * @param curAddress address to be queried - * @param curBlocknumber block number to be queried + * @param veAddr ve address + * @param targetAddr address to be queried + * @param blocknumber block number to be queried */ function queryAddressVotingBalanceAtBlock( - address curVeaddr, - address curAddress, - uint256 curBlocknumber + address veAddr, + address targetAddr, + uint256 blocknumber ) public view returns (uint256) { - // return IERC20(curVeaddr).balanceOf(curAddress); + // return IERC20(veaddr).balanceOf(addr); return - QueryIIncentivisedVotingLockup(curVeaddr).balanceOfAt( - curAddress, - curBlocknumber + QueryIIncentivisedVotingLockup(veAddr).balanceOfAt( + targetAddr, + blocknumber ); } /** * @notice function used to query total voting balance * @dev query total voting balance - * @param curVeaddr ve address - * @param curBlocknumber block number to be queried + * @param veaddr ve address + * @param blocknumber block number to be queried */ function queryTotalVotingBalanceAtBlock( - address curVeaddr, - uint256 curBlocknumber + address veaddr, + uint256 blocknumber ) public view returns (uint256) { return - QueryIIncentivisedVotingLockup(curVeaddr).totalSupplyAt( - curBlocknumber + QueryIIncentivisedVotingLockup(veaddr).totalSupplyAt( + blocknumber ); } /** * @notice function used to build the dao token deployment message * @dev Build the dao token deployment message - * @param curToken The token used to build the dao token - * @param curEndowType The endowment type used to build the dao token - * @param curEndowowner The endowment owner used to build the dao token + * @param token The token used to build the dao token + * @param endowType The endowment type used to build the dao token + * @param endowowner The endowment owner used to build the dao token */ function buildDaoTokenMesage( - AngelCoreStruct.DaoToken memory curToken, - AngelCoreStruct.EndowmentType curEndowType, - address curEndowowner, + AngelCoreStruct.DaoToken memory token, + AngelCoreStruct.EndowmentType endowType, + address endowowner, subDaoStorage.Config storage config, address emitterAddress ) public { @@ -176,63 +176,60 @@ library SubDaoLib { ).queryConfig(); if ( - curToken.token == AngelCoreStruct.TokenType.ExistingCw20 && - curEndowType == AngelCoreStruct.EndowmentType.Normal + token.token == AngelCoreStruct.TokenType.Existing && + endowType == AngelCoreStruct.EndowmentType.Normal ) { require( - AngelCoreStruct.cw20Valid( - registrar_config.acceptedTokens.cw20, - curToken.data.existingCw20Data - ), + IRegistrar(config.registrarContract).isTokenAccepted(token.data.existingData), "NotInApprovedCoins" ); - config.daoToken = curToken.data.existingCw20Data; + config.daoToken = token.data.existingData; } else if ( - curToken.token == AngelCoreStruct.TokenType.NewCw20 && - curEndowType == AngelCoreStruct.EndowmentType.Normal + token.token == AngelCoreStruct.TokenType.New && + endowType == AngelCoreStruct.EndowmentType.Normal ) { bytes memory callData = abi.encodeWithSignature( "initErC20(string,string,address,uint256,address)", - curToken.data.newCw20Name, - curToken.data.newCw20Symbol, - curEndowowner, - curToken.data.newCw20InitialSupply, + token.data.newName, + token.data.newSymbol, + endowowner, + token.data.newInitialSupply, address(0) ); config.daoToken = address( new ProxyContract( - registrar_config.subdaoCw20TokenCode, + registrar_config.subdaoTokenContract, registrar_config.proxyAdmin, callData ) ); } else if ( - curToken.token == AngelCoreStruct.TokenType.BondingCurve && - curEndowType == AngelCoreStruct.EndowmentType.Normal + token.token == AngelCoreStruct.TokenType.VeBonding && + endowType == AngelCoreStruct.EndowmentType.Normal ) { SubDaoTokenMessage.InstantiateMsg - memory curTemp = SubDaoTokenMessage.InstantiateMsg({ - name: curToken.data.bondingCurveName, - symbol: curToken.data.bondingCurveSymbol, - reserveDenom: curToken.data.bondingCurveReserveDenom, - curve_type: curToken.data.bondingCurveCurveType.curve_type, - unbondingPeriod: curToken.data.bondingCurveUnbondingPeriod + memory temp = SubDaoTokenMessage.InstantiateMsg({ + name: token.data.veBondingName, + symbol: token.data.veBondingSymbol, + reserveDenom: token.data.veBondingReserveDenom, + ve_type: token.data.veBondingType.ve_type, + unbondingPeriod: token.data.veBondingPeriod }); bytes memory callData = abi.encodeWithSignature( "continuosToken((string,string,address,uint8,uint256),address)", - curTemp, + temp, emitterAddress ); config.daoToken = address( new ProxyContract( - registrar_config.subdaoBondingTokenCode, + registrar_config.subdaoBondingTokenContract, registrar_config.proxyAdmin, callData ) ); } else if ( - curToken.token == AngelCoreStruct.TokenType.BondingCurve && - curEndowType == AngelCoreStruct.EndowmentType.Charity + token.token == AngelCoreStruct.TokenType.VeBonding && + endowType == AngelCoreStruct.EndowmentType.Charity ) { require( registrar_config.haloToken != address(0), @@ -240,22 +237,22 @@ library SubDaoLib { ); SubDaoTokenMessage.InstantiateMsg - memory curTemp = SubDaoTokenMessage.InstantiateMsg({ - name: curToken.data.bondingCurveName, - symbol: curToken.data.bondingCurveSymbol, + memory temp = SubDaoTokenMessage.InstantiateMsg({ + name: token.data.veBondingName, + symbol: token.data.veBondingSymbol, reserveDenom: registrar_config.haloToken, - curve_type: curToken.data.bondingCurveCurveType.curve_type, + ve_type: token.data.veBondingType.ve_type, unbondingPeriod: 21 days }); bytes memory callData = abi.encodeWithSignature( "continuosToken((string,string,address,uint8,uint256),address)", - curTemp, + temp, emitterAddress ); config.daoToken = address( new ProxyContract( - registrar_config.subdaoBondingTokenCode, + registrar_config.subdaoBondingTokenContract, registrar_config.proxyAdmin, callData ) @@ -294,31 +291,31 @@ contract SubDao is Storage, ReentrancyGuard { /** * @notice function used to initialize the contract * @dev Initialize the contract - * @param curMsg The message used to initialize the contract + * @param details The message used to initialize the contract */ function initializeSubDao( - subDaoMessage.InstantiateMsg memory curMsg, - address curEmitteraddress + subDaoMessage.InstantiateMsg memory details, + address emitteraddress ) public { - require(curEmitteraddress != address(0), "InvalidEmitterAddress"); + require(emitteraddress != address(0), "InvalidEmitterAddress"); require(!initFlag, "Already initialised"); initFlag = true; - emitterAddress = curEmitteraddress; + emitterAddress = emitteraddress; config = subDaoStorage.Config({ - registrarContract: curMsg.registrarContract, - owner: curMsg.owner, + registrarContract: details.registrarContract, + owner: details.owner, daoToken: address(0), veToken: address(0), swapFactory: address(0), - quorum: curMsg.quorum, - threshold: curMsg.threshold, - votingPeriod: curMsg.votingPeriod, - timelockPeriod: curMsg.timelockPeriod, - expirationPeriod: curMsg.expirationPeriod, - proposalDeposit: curMsg.proposalDeposit, - snapshotPeriod: curMsg.snapshotPeriod + quorum: details.quorum, + threshold: details.threshold, + votingPeriod: details.votingPeriod, + timelockPeriod: details.timelockPeriod, + expirationPeriod: details.expirationPeriod, + proposalDeposit: details.proposalDeposit, + snapshotPeriod: details.snapshotPeriod }); accountAddress = msg.sender; @@ -332,17 +329,17 @@ contract SubDao is Storage, ReentrancyGuard { /** * @notice function used to build the dao token message * @dev Build the dao token message - * @param curMsg The message used to build the dao token message + * @param details The message used to build the dao token message */ function buildDaoTokenMesage( - subDaoMessage.InstantiateMsg memory curMsg + subDaoMessage.InstantiateMsg memory details ) public { require(msg.sender == accountAddress, "Unauthorized"); SubDaoLib.buildDaoTokenMesage( - curMsg.token, - curMsg.endow_type, - curMsg.endowOwner, + details.token, + details.endowType, + details.endowOwner, config, emitterAddress ); @@ -351,107 +348,107 @@ contract SubDao is Storage, ReentrancyGuard { /** * @notice function used to register the contract address * @dev Register the contract address - * @param curVetoken The address of the ve token contract - * @param curSwapfactory The address of the swap factory contract + * @param vetoken The address of the ve token contract + * @param swapfactory The address of the swap factory contract */ function registerContract( - address curVetoken, - address curSwapfactory + address vetoken, + address swapfactory ) external { require(config.owner == msg.sender, "Unauthorized"); - require(curVetoken != address(0), "Invalid input"); - require(curSwapfactory != address(0), "Invalid input"); + require(vetoken != address(0), "Invalid input"); + require(swapfactory != address(0), "Invalid input"); - config.veToken = curVetoken; - config.swapFactory = curSwapfactory; + config.veToken = vetoken; + config.swapFactory = swapfactory; ISubdaoEmitter(emitterAddress).updateSubdaoConfig(config); } /** * @notice function used to update the config * @dev Update the config - * @param curOwner The address of the owner - * @param curQuorum The quorum value - * @param curThreshold The threshold value - * @param curVotingperiod The voting period value - * @param curTimelockperiod The timelock period value - * @param curExpirationperiod The expiration period value - * @param curProposaldeposit The proposal deposit value - * @param curSnapshotperiod The snapshot period value + * @param owner The address of the owner + * @param quorum The quorum value + * @param threshold The threshold value + * @param votingperiod The voting period value + * @param timelockperiod The timelock period value + * @param expirationperiod The expiration period value + * @param proposaldeposit The proposal deposit value + * @param snapshotperiod The snapshot period value */ function updateConfig( - address curOwner, - uint256 curQuorum, - uint256 curThreshold, - uint256 curVotingperiod, - uint256 curTimelockperiod, - uint256 curExpirationperiod, - uint256 curProposaldeposit, - uint256 curSnapshotperiod + address owner, + uint256 quorum, + uint256 threshold, + uint256 votingperiod, + uint256 timelockperiod, + uint256 expirationperiod, + uint256 proposaldeposit, + uint256 snapshotperiod ) external { require(config.owner == msg.sender, "Unauthorized"); - if (curOwner != address(0)) { - config.owner = curOwner; + if (owner != address(0)) { + config.owner = owner; } - require(SubDaoLib.validateQuorum(curQuorum), "InvalidQuorum"); - require(SubDaoLib.validateThreshold(curThreshold), "InvalidThreshold"); + require(SubDaoLib.validateQuorum(quorum), "InvalidQuorum"); + require(SubDaoLib.validateThreshold(threshold), "InvalidThreshold"); - config.quorum = curQuorum; - config.threshold = curThreshold; - config.votingPeriod = curVotingperiod; - config.timelockPeriod = curTimelockperiod; - config.expirationPeriod = curExpirationperiod; - config.proposalDeposit = curProposaldeposit; - config.snapshotPeriod = curSnapshotperiod; + config.quorum = quorum; + config.threshold = threshold; + config.votingPeriod = votingperiod; + config.timelockPeriod = timelockperiod; + config.expirationPeriod = expirationperiod; + config.proposalDeposit = proposaldeposit; + config.snapshotPeriod = snapshotperiod; ISubdaoEmitter(emitterAddress).updateSubdaoConfig(config); } /** * @notice function used to create a poll * @dev Create a poll - * @param curDepositamount The deposit amount - * @param curTitle The title of the poll - * @param curDescription The description of the poll - * @param curLink The link of the poll - * @param curExecuteMsgs The execute data + * @param depositamount The deposit amount + * @param title The title of the poll + * @param description The description of the poll + * @param link The link of the poll + * @param executeMsgs The execute data */ function createPoll( - uint256 curDepositamount, - string memory curTitle, - string memory curDescription, - string memory curLink, - subDaoStorage.ExecuteData memory curExecuteMsgs + uint256 depositamount, + string memory title, + string memory description, + string memory link, + subDaoStorage.ExecuteData memory executeMsgs ) external nonReentrant returns (uint256) { - require(SubDaoLib.validateDescription(curDescription)); - require(SubDaoLib.validateTitle(curTitle)); - require(SubDaoLib.validateLink(curLink)); + require(SubDaoLib.validateDescription(description)); + require(SubDaoLib.validateTitle(title)); + require(SubDaoLib.validateLink(link)); require( - curDepositamount >= config.proposalDeposit, + depositamount >= config.proposalDeposit, "InsufficientProposalDeposit" ); - if (curDepositamount > 0) { + if (depositamount > 0) { IERC20(config.daoToken).transferFrom( msg.sender, address(this), - curDepositamount + depositamount ); ISubdaoEmitter(emitterAddress).transferFromSubdao( config.daoToken, msg.sender, address(this), - curDepositamount + depositamount ); } uint256 pollId = state.pollCount + 1; state.pollCount += 1; - state.totalDeposit += curDepositamount; + state.totalDeposit += depositamount; ISubdaoEmitter(emitterAddress).updateSubdaoState(state); @@ -468,11 +465,11 @@ contract SubDao is Storage, ReentrancyGuard { noVotes: 0, startTime: block.timestamp, endHeight: block.number + config.votingPeriod, - title: curTitle, - description: curDescription, - link: curLink, - executeData: curExecuteMsgs, - depositAmount: curDepositamount, + title: title, + description: description, + link: link, + executeData: executeMsgs, + depositAmount: depositamount, totalBalanceAtEndPoll: 0, stakedAmount: stakedAmount, startBlock: block.number @@ -492,14 +489,14 @@ contract SubDao is Storage, ReentrancyGuard { /** * @notice function used to end a poll * @dev End a poll - * @param curPollid The poll id + * @param pollid The poll id */ - function endPoll(uint256 curPollid) external nonReentrant { + function endPoll(uint256 pollid) external nonReentrant { address[] memory target; uint256[] memory value; bytes[] memory callData; - subDaoStorage.Poll memory a_poll = poll[curPollid]; + subDaoStorage.Poll memory a_poll = poll[pollid]; require( a_poll.status == subDaoStorage.PollStatus.InProgress, @@ -568,18 +565,18 @@ contract SubDao is Storage, ReentrancyGuard { state.totalDeposit -= a_poll.depositAmount; - poll_status[curPollid] = temp_poll_status; + poll_status[pollid] = temp_poll_status; a_poll.status = temp_poll_status; - poll[curPollid] = a_poll; + poll[pollid] = a_poll; _execute(target, value, callData); ISubdaoEmitter(emitterAddress).updateSubdaoState(state); ISubdaoEmitter(emitterAddress).updateSubdaoPollAndStatus( - curPollid, - poll[curPollid], - poll_status[curPollid] + pollid, + poll[pollid], + poll_status[pollid] ); } @@ -587,10 +584,10 @@ contract SubDao is Storage, ReentrancyGuard { /** * @notice function used to execute a poll * @dev Execute a poll - * @param curPollid The poll id + * @param pollid The poll id */ - function executePoll(uint256 curPollid) external nonReentrant { - subDaoStorage.Poll memory a_poll = poll[curPollid]; + function executePoll(uint256 pollid) external nonReentrant { + subDaoStorage.Poll memory a_poll = poll[pollid]; require( a_poll.status == subDaoStorage.PollStatus.Passed, @@ -602,11 +599,11 @@ contract SubDao is Storage, ReentrancyGuard { "TimelockNotExpired" ); - poll_status[curPollid] = subDaoStorage.PollStatus.Executed; + poll_status[pollid] = subDaoStorage.PollStatus.Executed; a_poll.status = subDaoStorage.PollStatus.Executed; - poll[curPollid] = a_poll; + poll[pollid] = a_poll; require(a_poll.executeData.order.length > 0, "NoExecuteData"); @@ -644,10 +641,10 @@ contract SubDao is Storage, ReentrancyGuard { /** * @notice function used to expire a poll * @dev Expire a poll - * @param curPollid The poll id + * @param pollid The poll id */ - function expirePoll(uint256 curPollid) external { - subDaoStorage.Poll memory a_poll = poll[curPollid]; + function expirePoll(uint256 pollid) external { + subDaoStorage.Poll memory a_poll = poll[pollid]; require( a_poll.status == subDaoStorage.PollStatus.Passed, @@ -660,31 +657,31 @@ contract SubDao is Storage, ReentrancyGuard { "PollNotExpired" ); - poll_status[curPollid] = subDaoStorage.PollStatus.Expired; + poll_status[pollid] = subDaoStorage.PollStatus.Expired; a_poll.status = subDaoStorage.PollStatus.Expired; - poll[curPollid] = a_poll; + poll[pollid] = a_poll; ISubdaoEmitter(emitterAddress).updateSubdaoPollAndStatus( - curPollid, - poll[curPollid], - poll_status[curPollid] + pollid, + poll[pollid], + poll_status[pollid] ); } /** * @notice function used to cast vote * @dev cast vote on a poll - * @param curPollid The poll id + * @param pollid The poll id */ function castVote( - uint256 curPollid, + uint256 pollid, subDaoStorage.VoteOption vote ) external { - require(curPollid != 0, "PollNotFound"); - require(state.pollCount >= curPollid, "PollNotFound"); + require(pollid != 0, "PollNotFound"); + require(state.pollCount >= pollid, "PollNotFound"); - subDaoStorage.Poll memory a_poll = poll[curPollid]; + subDaoStorage.Poll memory a_poll = poll[pollid]; require( a_poll.status == subDaoStorage.PollStatus.InProgress, @@ -693,7 +690,7 @@ contract SubDao is Storage, ReentrancyGuard { require(a_poll.endHeight >= block.number, "PollNotInProgress"); - require(!(voting_status[curPollid][msg.sender].voted), "AlreadyVoted"); + require(!(voting_status[pollid][msg.sender].voted), "AlreadyVoted"); uint256 amount = SubDaoLib.queryAddressVotingBalanceAtBlock( config.veToken, @@ -707,19 +704,19 @@ contract SubDao is Storage, ReentrancyGuard { a_poll.noVotes += amount; } - voting_status[curPollid][msg.sender].voted = true; - voting_status[curPollid][msg.sender].balance = amount; - voting_status[curPollid][msg.sender].vote = vote; + voting_status[pollid][msg.sender].voted = true; + voting_status[pollid][msg.sender].balance = amount; + voting_status[pollid][msg.sender].vote = vote; ISubdaoEmitter(emitterAddress).updateVotingStatus( - curPollid, + pollid, msg.sender, - voting_status[curPollid][msg.sender] + voting_status[pollid][msg.sender] ); - poll[curPollid] = a_poll; + poll[pollid] = a_poll; ISubdaoEmitter(emitterAddress).updateSubdaoPoll( - curPollid, - poll[curPollid] + pollid, + poll[pollid] ); } diff --git a/contracts/test/DummyGasService.sol b/contracts/test/DummyGasService.sol index 7ef7d4d6b..e7ce77289 100644 --- a/contracts/test/DummyGasService.sol +++ b/contracts/test/DummyGasService.sol @@ -114,7 +114,7 @@ contract DummyGasService is IAxelarGasService { uint256 amount ) external {} - function gasCollector() external returns (address) { + function gasCollector() external view returns (address) { return address(this); } } \ No newline at end of file diff --git a/contracts/test/DummyGateway.sol b/contracts/test/DummyGateway.sol index c8187b0db..795ab5e66 100644 --- a/contracts/test/DummyGateway.sol +++ b/contracts/test/DummyGateway.sol @@ -49,7 +49,7 @@ contract DummyGateway is IAxelarGateway { string calldata, address, bytes32 - ) external view returns (bool){ + ) external pure returns (bool){ return _testParser(commandId); } @@ -61,7 +61,7 @@ contract DummyGateway is IAxelarGateway { bytes32, string calldata, uint256 - ) external view returns (bool){ + ) external pure returns (bool){ return _testParser(commandId); } @@ -70,7 +70,7 @@ contract DummyGateway is IAxelarGateway { string calldata, string calldata, bytes32 - ) external returns (bool){ + ) external pure returns (bool){ return _testParser(commandId); } @@ -81,7 +81,7 @@ contract DummyGateway is IAxelarGateway { bytes32, string calldata, uint256 - ) external returns (bool){ + ) external pure returns (bool){ return _testParser(commandId); } diff --git a/contracts/test/DummyVault.sol b/contracts/test/DummyVault.sol index b1d4cd081..b9ca91c33 100644 --- a/contracts/test/DummyVault.sol +++ b/contracts/test/DummyVault.sol @@ -4,6 +4,7 @@ pragma solidity >=0.8.0; import {IVault} from "../interfaces/IVault.sol"; import {IERC20} from "@openzeppelin/contracts/token/ERC20/IERC20.sol"; +import {IRouter} from "../core/router/IRouter.sol"; contract DummyVault is IVault { @@ -38,10 +39,13 @@ contract DummyVault is IVault { emit DepositMade(accountId, vaultType, token, amt); } - function redeem(uint32 accountId, address token, uint256 amt) payable external override returns (uint256) { + function redeem(uint32 accountId, address token, uint256 amt) payable external override returns (IRouter.RedemptionResponse memory) { IERC20(token).approve(msg.sender, amt); emit Redemption(accountId, vaultType, token, amt); - return amt; + return IRouter.RedemptionResponse({ + amount: amt, + status: IRouter.VaultActionStatus.SUCCESS + }); } function redeemAll(uint32 accountId) payable external override returns (uint256) { diff --git a/hardhat.config.ts b/hardhat.config.ts index b1e360c96..a471f728a 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -32,7 +32,8 @@ const config: HardhatUserConfig = { }, "mumbai": { url: envConfig.mumbaiRPC, - accounts: accounts + accounts: accounts, + // gasPrice: 50_000_000_000 //50Gwei }, "polygon": { url: envConfig.polygonRPC, diff --git a/old.slither.config.json b/old.slither.config.json deleted file mode 100644 index 0fa46363a..000000000 --- a/old.slither.config.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "printers_to_run": "detector,human-summary", - "exclude_informational": false, - "exclude_low": false, - "exclude_medium": false, - "exclude_high": false, - "disable_color": false, - "filter_paths": "test/", - "legacy_ast": false -} \ No newline at end of file diff --git a/package.json b/package.json index 56cc232ae..24fb63c7e 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,18 @@ { - "name": "hardhat-boilerplate", + "name": "angel-protocol-evm", "version": "1.0.0", - "description": "A boilerplate repository to get you started with Hardhat and Ethereum development", + "description": "Angel Protocol EVM smart contracts, testing and deployment suite.", "scripts": { + "preinstall": "npx only-allow yarn", "test": "hardhat test", "compile": "hardhat compile && solium -d contracts/", "deploy": "hardhat compile && hardhat run ./scripts/deploy.ts", "abi": "hardhat export-abi" }, + "engines": { + "node": "18.x", + "yarn": "1.22.x" + }, "devDependencies": { "@ethersproject/abi": "^5.7.0", "@ethersproject/bytes": "^5.6.1", @@ -55,6 +60,7 @@ "@openzeppelin/contracts": "^4.8.3", "@openzeppelin/contracts-upgradeable": "^4.8.3", "@openzeppelin/hardhat-upgrades": "^1.23.1", + "@uniswap/v3-core": "github:AngelProtocolFinance/uniswap-v3-core#fullmath-fix", "@uniswap/v3-periphery": "^1.4.3", "dotenv": "^16.0.3", "hardhat-abi-exporter": "^2.10.1", @@ -63,6 +69,7 @@ "merkletreejs": "^0.3.9", "mockdate": "^3.0.5", "npm-check-updates": "^16.10.8", + "simple-git": "^3.18.0", "web3": "^1.8.2" }, "main": "hardhat.config.ts", diff --git a/scripts/createEndowment.ts b/scripts/createEndowment.ts index 2ef61d1aa..a48df664a 100644 --- a/scripts/createEndowment.ts +++ b/scripts/createEndowment.ts @@ -1,5 +1,6 @@ import { ethers } from "hardhat" import { IAccounts__factory } from "typechain-types" +import { AccountMessages } from "typechain-types/contracts/core/accounts/IAccounts" async function deploy() { const [_deployer, apTeam1] = await ethers.getSigners() @@ -13,12 +14,12 @@ async function deploy() { //NOTE: USE AP-1 Wallet const owner = "0xce551C1125BfCdAb88048854522D0B220f41A6Ff" //AP-TEAM 1 - const cw4_members = ["0xce551C1125BfCdAb88048854522D0B220f41A6Ff"] //AP-TEAM 1 - const endow_type = 1 - const subdao_flag = false + const members = ["0xce551C1125BfCdAb88048854522D0B220f41A6Ff"] //AP-TEAM 1 + const endowType = 1 + const subdaoFlag = false const title = "Test Endowment" - const newEndowment = { + const newEndowment: AccountMessages.CreateEndowmentRequestStruct = { owner: owner, withdrawBeforeMaturity: true, maturityTime: Math.floor(Date.now() / 1000) + 1000, @@ -29,12 +30,11 @@ async function deploy() { general: [], }, tier: 3, - endow_type: endow_type, + endowType: endowType, logo: "Some fancy logo", image: "Nice banner image", - cw4_members: cw4_members, - kycDonorsOnly: true, - cw3Threshold: { + members: members, + threshold: { enumData: 1, data: { weight: 0, @@ -43,15 +43,15 @@ async function deploy() { quorum: 0, }, }, - cw3MaxVotingPeriod: { + maxVotingPeriod: { enumData: 1, data: { height: 0, time: Math.floor(Date.now() / 1000) + 1000, }, }, - whitelistedBeneficiaries: [], - whitelistedContributors: [], + allowlistedBeneficiaries: [], + allowlistedContributors: [], splitMax: 100, splitMin: 0, splitDefault: 50, @@ -70,7 +70,7 @@ async function deploy() { feePercentage: 0, active: false, }, - aumFee: { + balanceFee: { payoutAddress: ethers.constants.AddressZero, feePercentage: 0, active: false, @@ -87,7 +87,7 @@ async function deploy() { token: { token: 2, data: { - existingCw20Data: ethers.constants.AddressZero, + existingData: ethers.constants.AddressZero, newCw20InitialSupply: "100000", newCw20Name: "TEST", newCw20Symbol: "TEST", @@ -109,12 +109,10 @@ async function deploy() { }, }, }, - createDao: subdao_flag, + createDao: subdaoFlag, proposalLink: 0, settingsController: { endowmentController: { - ownerControlled: true, - govControlled: true, modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, @@ -122,35 +120,27 @@ async function deploy() { }, }, strategies: { - ownerControlled: true, - govControlled: true, modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, expires: Math.floor(Date.now() / 1000) + 1000, // datetime int of delegation expiry }, }, - whitelistedBeneficiaries: { - ownerControlled: true, - govControlled: true, + allowlistedBeneficiaries: { modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, expires: Math.floor(Date.now() / 1000) + 1000, // datetime int of delegation expiry }, }, - whitelistedContributors: { - ownerControlled: true, - govControlled: true, + allowlistedContributors: { modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, expires: Math.floor(Date.now() / 1000) + 1000, // datetime int of delegation expiry }, }, - maturityWhitelist: { - ownerControlled: true, - govControlled: true, + maturityAllowlist: { modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, @@ -158,8 +148,6 @@ async function deploy() { }, }, maturityTime: { - ownerControlled: true, - govControlled: true, modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, @@ -167,8 +155,6 @@ async function deploy() { }, }, profile: { - ownerControlled: true, - govControlled: true, modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, @@ -176,8 +162,6 @@ async function deploy() { }, }, earningsFee: { - ownerControlled: true, - govControlled: true, modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, @@ -185,8 +169,6 @@ async function deploy() { }, }, withdrawFee: { - ownerControlled: true, - govControlled: true, modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, @@ -194,26 +176,13 @@ async function deploy() { }, }, depositFee: { - ownerControlled: true, - govControlled: true, modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, expires: Math.floor(Date.now() / 1000) + 1000, // datetime int of delegation expiry }, }, - aumFee: { - ownerControlled: true, - govControlled: true, - modifiableAfterInit: true, - delegate: { - Addr: ethers.constants.AddressZero, - expires: Math.floor(Date.now() / 1000) + 1000, // datetime int of delegation expiry - }, - }, - kycDonorsOnly: { - ownerControlled: true, - govControlled: true, + balanceFee: { modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, @@ -221,8 +190,6 @@ async function deploy() { }, }, name: { - ownerControlled: true, - govControlled: true, modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, @@ -230,8 +197,6 @@ async function deploy() { }, }, image: { - ownerControlled: true, - govControlled: true, modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, @@ -239,8 +204,6 @@ async function deploy() { }, }, logo: { - ownerControlled: true, - govControlled: true, modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, @@ -248,8 +211,6 @@ async function deploy() { }, }, categories: { - ownerControlled: true, - govControlled: true, modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, @@ -257,8 +218,6 @@ async function deploy() { }, }, splitToLiquid: { - ownerControlled: true, - govControlled: true, modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, @@ -266,8 +225,6 @@ async function deploy() { }, }, ignoreUserSplits: { - ownerControlled: true, - govControlled: true, modifiableAfterInit: true, delegate: { Addr: ethers.constants.AddressZero, @@ -276,7 +233,7 @@ async function deploy() { }, }, parent: ethers.constants.AddressZero, - maturityWhitelist: [], + maturityAllowlist: [], ignoreUserSplits: false, splitToLiquid: { max: 100, diff --git a/scripts/deployHaloToken.ts b/scripts/deployHaloToken.ts index eef255127..79cd7ae8a 100644 --- a/scripts/deployHaloToken.ts +++ b/scripts/deployHaloToken.ts @@ -1,38 +1,33 @@ -import { ethers, upgrades } from "hardhat"; -import { logger } from "utils" -import * as fs from "fs"; +import hre from "hardhat"; +import { logger, updateAddresses } from "utils" import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers"; -import { Halo, Halo__factory } from "typechain-types" +import { Halo__factory } from "typechain-types" import { BigNumber } from "ethers"; async function deploy() { let deployer: SignerWithAddress - [deployer] = await ethers.getSigners() + [deployer] = await hre.ethers.getSigners() // @TODO replace these with valid values let SUPPLY = BigNumber.from(10).pow(27) // 1 Billion tokens with 18 decimals let recipient: string = "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045" // vitalik.eth - const network = await ethers.provider.getNetwork() + const network = await hre.ethers.provider.getNetwork() logger.divider() logger.out("Deploying to: " + network.name, logger.Level.Info) logger.out("With chain id: " + network.chainId, logger.Level.Info) - const Halo = await ethers.getContractFactory("Halo") as Halo__factory; + const Halo = await hre.ethers.getContractFactory("Halo") as Halo__factory; const halo = await Halo.deploy(recipient, SUPPLY) await halo.deployed(); logger.pad(30, "Deployed to:", halo.address); logger.divider() - logger.out("Writing to address.json", logger.Level.Info) + logger.out("Writing to contract-address.json", logger.Level.Info) - let rawdata = fs.readFileSync('address.json', "utf8") - let address: any = JSON.parse(rawdata) - address[network.chainId] = {"halo": halo.address} - const json = JSON.stringify(address, null, 2) - fs.writeFileSync('address.json', json, "utf8") + await updateAddresses({ tokens: { halo: halo.address } }, hre) } deploy().catch((error) => { diff --git a/scripts/deployMain.ts b/scripts/deployMain.ts index a0bff72f4..018f0b7b3 100644 --- a/scripts/deployMain.ts +++ b/scripts/deployMain.ts @@ -5,26 +5,23 @@ import { deployDiamond } from "contracts/core/accounts/scripts/deploy" import { deployIndexFund } from "contracts/core/index-fund/scripts/deploy" import { deployRegistrar } from "contracts/core/registrar/scripts/deploy" import { deploySwapRouter } from "contracts/core/swap-router/scripts/deploy" -import { deployHaloImplementation } from "contracts/halo/scripts/deploy" +// import { deployHaloImplementation } from "contracts/halo/scripts/deploy" import { charityApplications } from "contracts/multisigs/charity_applications/scripts/deploy" import { deployMultisig } from "contracts/multisigs/scripts/deploy" import { deployEndowmentMultiSig } from "contracts/normalized_endowment/endowment-multisig/scripts/deploy" import { deployImplementation } from "contracts/normalized_endowment/scripts/deployImplementation" +// import { deployFundraising } from "contracts/accessory/fundraising/scripts/deploy" +import { deployEmitters } from "contracts/normalized_endowment/scripts/deployEmitter" -import hre from "hardhat" import config from "config" -import { deployFundraising } from "contracts/accessory/fundraising/scripts/deploy" -import { giftCard } from "contracts/accessory/gift-cards/scripts/deploy" -import { deployEmitters } from "contracts/normalized_endowment/scripts/deployEmitter" +import hre from "hardhat" var ANGEL_CORE_STRUCT: Contract var STRING_LIBRARY: Contract const ADDRESS_ZERO = "0x0000000000000000000000000000000000000000" var REGISTRAR_ADDRESS -var deployer -var proxyAdmin -let updateConfig +let updateConfig: RegistrarMessages.UpdateConfigRequestStruct interface AddressWriter { [key: string]: string | AddressWriter @@ -34,19 +31,19 @@ let addressWriter: AddressWriter = {} import { Contract } from "ethers" import { HardhatRuntimeEnvironment } from "hardhat/types" import { APTeamMultiSig, ApplicationsMultiSig } from "typechain-types" -import { cleanFile, saveFrontendFiles } from "./readWriteFile" +import { cleanAddresses, isLocalNetwork, updateAddresses } from "utils" +import { RegistrarMessages } from "typechain-types/contracts/core/registrar/interfaces/IRegistrar" +import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers" -async function deployLibraries(verify_contracts: boolean, hre: HardhatRuntimeEnvironment) { +async function deployLibraries(verify_contracts: boolean, signer: SignerWithAddress, hre: HardhatRuntimeEnvironment) { try { - await cleanFile() - const { ethers, run, network } = hre - const angel_core_struct = await ethers.getContractFactory("AngelCoreStruct") + const angel_core_struct = await ethers.getContractFactory("AngelCoreStruct", signer) ANGEL_CORE_STRUCT = await angel_core_struct.deploy() await ANGEL_CORE_STRUCT.deployed() - const string_library = await ethers.getContractFactory("StringArray") + const string_library = await ethers.getContractFactory("StringArray", signer) STRING_LIBRARY = await string_library.deploy() await STRING_LIBRARY.deployed() @@ -55,12 +52,15 @@ async function deployLibraries(verify_contracts: boolean, hre: HardhatRuntimeEnv "ANGEL_CORE_STRUCT_LIBRARY Deployed at ": ANGEL_CORE_STRUCT.address, }) - let libraries = { - STRING_LIBRARY: STRING_LIBRARY.address, - ANGEL_CORE_STRUCT_LIBRARY: ANGEL_CORE_STRUCT.address, - } - - await saveFrontendFiles({ libraries }) + await updateAddresses( + { + libraries: { + STRING_LIBRARY: STRING_LIBRARY.address, + ANGEL_CORE_STRUCT_LIBRARY: ANGEL_CORE_STRUCT.address, + } + }, + hre + ); if (network.name !== "hardhat" && verify_contracts) { await run(`verify:verify`, { @@ -84,33 +84,36 @@ export async function main(apTeamAdmins = []) { try { const { run, network, ethers } = hre - const verify_contracts = network.name !== "hardhat" && network.name !== "localhost" + await cleanAddresses(hre); + + // const verify_contracts = network.name !== "hardhat" && network.name !== "localhost" + const verify_contracts = false var Admins = config.AP_TEAM_MULTISIG_DATA.admins if (apTeamAdmins.length != 0) Admins = apTeamAdmins - ;[deployer, proxyAdmin] = await ethers.getSigners() - console.log("Deploying the contracts with the account:", await deployer.getAddress()) + const [_, proxyAdmin] = await ethers.getSigners() + console.log("Deploying the contracts with the account:", await proxyAdmin.getAddress()) // Mock setup required for testing let mockUSDC: Contract | undefined - if (network.name === "hardhat") { - const MockUSDC = await ethers.getContractFactory("MockUSDC") + if (isLocalNetwork(network)) { + const MockUSDC = await ethers.getContractFactory("MockUSDC", proxyAdmin) mockUSDC = await MockUSDC.deploy("USDC", "USDC", 100) await mockUSDC.deployed() config.REGISTRAR_DATA.acceptedTokens.cw20 = [mockUSDC.address] config.REGISTRAR_UPDATE_CONFIG.usdcAddress = mockUSDC.address config.DONATION_MATCH_CHARITY_DATA.usdcAddress = mockUSDC.address - let tx = await mockUSDC.mint(deployer.address, ethers.utils.parseEther("10000000000000000000000")) + let tx = await mockUSDC.mint(proxyAdmin.address, ethers.utils.parseEther("10000000000000000000000")) await tx.wait() - console.log("given deployer USDC") + console.log("given proxyAdmin USDC") console.log("USDC Mock Address", mockUSDC.address) } - await deployLibraries(verify_contracts, hre) + await deployLibraries(verify_contracts, proxyAdmin, hre) const registrarData = { treasury: config.REGISTRAR_DATA.treasury, @@ -119,7 +122,8 @@ export async function main(apTeamAdmins = []) { splitToLiquid: config.REGISTRAR_DATA.splitToLiquid, acceptedTokens: config.REGISTRAR_DATA.acceptedTokens, router: config.REGISTRAR_DATA.router, - axelerGateway: config.REGISTRAR_DATA.axelerGateway, + axelarGateway: config.REGISTRAR_DATA.axelarGateway, + axelarGasRecv: config.REGISTRAR_DATA.axelarGasRecv } REGISTRAR_ADDRESS = await deployRegistrar(STRING_LIBRARY.address, registrarData, verify_contracts, hre) @@ -141,7 +145,7 @@ export async function main(apTeamAdmins = []) { multisigAddress.APTeamMultiSig, REGISTRAR_ADDRESS, ANGEL_CORE_STRUCT.address, - STRING_LIBRARY.address, + STRING_LIBRARY.address, hre, verify_contracts ) @@ -195,138 +199,134 @@ export async function main(apTeamAdmins = []) { console.log("multisigDat contract deployed at:-", multisigDat) - const lockedWithdrawalData = [ - REGISTRAR_ADDRESS, - ACCOUNT_ADDRESS, - multisigAddress.APTeamMultiSig, - multisigDat.MultiSigWalletFactory, - ] - // console.log('implementations deployed at:', implementations); - let GiftCardDataInput = { - keeper: multisigAddress.APTeamMultiSig, - registrarContract: REGISTRAR_ADDRESS, - } - - let giftCardAddress = await giftCard(GiftCardDataInput, ANGEL_CORE_STRUCT.address, verify_contracts, hre) - - let FundraisingDataInput = { - registrarContract: REGISTRAR_ADDRESS, - nextId: config.FundraisingDataInput.nextId, - campaignPeriodSeconds: config.FundraisingDataInput.campaignPeriodSeconds, - taxRate: config.FundraisingDataInput.taxRate, - acceptedTokens: config.FundraisingDataInput.acceptedTokens, - } - let fundraisingAddress = await deployFundraising( - FundraisingDataInput, - ANGEL_CORE_STRUCT.address, - verify_contracts, - hre - ) - - var haloAddress = await deployHaloImplementation(SWAP_ROUTER, verify_contracts, hre) - - addressWriter.haloAddress = haloAddress - - const haloToken = await ethers.getContractAt("ERC20", haloAddress.Halo) - - console.log("halo token deployed at: ", haloToken.address) - - console.log("halo token balance: ", await haloToken.balanceOf(deployer.address)) - - if (network.name === "hardhat") { - // if network is 'hardhat' then mockUSDC should always be initialized - // but TS forces us to confirm this is the case - mockUSDC = mockUSDC! - - let UniswapUtils = await ethers.getContractFactory("UniswapUtils") - let uniswap_utils = await UniswapUtils.deploy() - await uniswap_utils.deployed() - - // create a uniswap pool for HALO and USDC - console.log("halo", haloToken.address.toString()) - console.log("usdc", mockUSDC.address.toString()) - let sqrtPrice = "79228162514264334008320" - if (mockUSDC.address < haloToken.address.toString()) { - sqrtPrice = "79228162514264337593543950336000000" - } - const createUniswapPoolParams = { - projectToken: haloToken.address, - usdcToken: mockUSDC.address, - uniswapFee: 3000, - amountA: ethers.utils.parseEther("100000000"), - amountB: ethers.utils.parseUnits("100000000", 6), - sqrtPriceX96: sqrtPrice, - tickLower: "-598680", - tickUpper: "506580", - } - haloToken.approve(uniswap_utils.address, ethers.utils.parseEther("100000000")) - mockUSDC.approve(uniswap_utils.address, ethers.utils.parseUnits("100000000", 6)) - await uniswap_utils.createPoolAndMintPositionErC20(createUniswapPoolParams) - - console.log("Created HALO pool") - - // create a uniswap pool for WETH and USDC - console.log("WETH address: ", config.REGISTRAR_UPDATE_CONFIG.wethAddress) - console.log("USDC address: ", mockUSDC.address.toString()) - - sqrtPrice = "79228162514264334008320" - if (mockUSDC.address < config.REGISTRAR_UPDATE_CONFIG.wethAddress) { - sqrtPrice = "79228162514264337593543950336000000" - } - const createUniswapPoolParams2 = { - tokenA: mockUSDC.address, - tokenB: config.REGISTRAR_UPDATE_CONFIG.wethAddress, - uniswapFee: 3000, - amountA: ethers.utils.parseUnits("1000", 6), - sqrtPriceX96: sqrtPrice, - tickLower: "-598680", - tickUpper: "506580", - } - mockUSDC.approve(uniswap_utils.address, ethers.utils.parseUnits("1000", 6)) - await uniswap_utils.createPoolAndMintPosition(createUniswapPoolParams2, { - value: ethers.utils.parseEther("1000"), - }) - - console.log("Created WETH pool") - - // deploy DAI - const DAI = await ethers.getContractFactory("MockERC20") - const dai = await DAI.deploy("DAI", "DAI", "1000000000") - await dai.deployed() - config.REGISTRAR_UPDATE_CONFIG.DAI_address = dai.address - config.DONATION_MATCH_CHARITY_DATA.DAI_address = dai.address - config.REGISTRAR_DATA.acceptedTokens.cw20.push(dai.address) - - // mint DAI - await dai.mint(deployer.address, ethers.utils.parseEther("100000000")) - - console.log(dai.address) - - // create a uniswap pool for DAI and USDC - sqrtPrice = "79228162514264334008320" - if (mockUSDC.address < dai.address.toString()) { - sqrtPrice = "79228162514264337593543950336000000" - } - const createUniswapPoolParams3 = { - projectToken: dai.address, - usdcToken: mockUSDC.address, - uniswapFee: 3000, - amountA: ethers.utils.parseEther("100000000"), - amountB: ethers.utils.parseUnits("100000000", 6), - sqrtPriceX96: sqrtPrice, - tickLower: "-598680", - tickUpper: "506580", - } - dai.approve(uniswap_utils.address, ethers.utils.parseEther("100000000")) - mockUSDC.approve(uniswap_utils.address, ethers.utils.parseUnits("100000000", 6)) - await uniswap_utils.createPoolAndMintPositionErC20(createUniswapPoolParams3) - console.log("Created DAI pool") - } + // let GiftCardDataInput = { + // keeper: multisigAddress.APTeamMultiSig, + // registrarContract: REGISTRAR_ADDRESS, + // } + + // let giftCardAddress = await giftCard(GiftCardDataInput, ANGEL_CORE_STRUCT.address, verify_contracts, hre) + + // let FundraisingDataInput = { + // registrarContract: REGISTRAR_ADDRESS, + // nextId: config.FundraisingDataInput.nextId, + // campaignPeriodSeconds: config.FundraisingDataInput.campaignPeriodSeconds, + // taxRate: config.FundraisingDataInput.taxRate, + // acceptedTokens: config.FundraisingDataInput.acceptedTokens, + // } + // let fundraisingAddress = await deployFundraising( + // FundraisingDataInput, + // ANGEL_CORE_STRUCT.address, + // verify_contracts, + // hre + // ) + + // TODO: + // UNCOMMENT WHEN HALO CONTRACTS ARE READY FOR DEPLOYMENT + // + // var haloAddress = await deployHaloImplementation(SWAP_ROUTER, verify_contracts, hre) + + // addressWriter.haloAddress = haloAddress + + // const haloToken = await ethers.getContractAt("ERC20", haloAddress.Halo) + + // console.log("halo token deployed at: ", haloToken.address) + + // console.log("halo token balance: ", await haloToken.balanceOf(proxyAdmin.address)) + + // if (isLocalNetwork(network)) { + // // if network is 'hardhat' then mockUSDC should always be initialized + // // but TS forces us to confirm this is the case + // mockUSDC = mockUSDC! + + // let UniswapUtils = await ethers.getContractFactory("UniswapUtils") + // let uniswap_utils = await UniswapUtils.deploy() + // await uniswap_utils.deployed() + + // // create a uniswap pool for HALO and USDC + // console.log("halo", haloToken.address.toString()) + // console.log("usdc", mockUSDC.address.toString()) + // let sqrtPrice = "79228162514264334008320" + // if (mockUSDC.address < haloToken.address.toString()) { + // sqrtPrice = "79228162514264337593543950336000000" + // } + // const createUniswapPoolParams = { + // projectToken: haloToken.address, + // usdcToken: mockUSDC.address, + // uniswapFee: 3000, + // amountA: ethers.utils.parseEther("100000000"), + // amountB: ethers.utils.parseUnits("100000000", 6), + // sqrtPriceX96: sqrtPrice, + // tickLower: "-598680", + // tickUpper: "506580", + // } + // haloToken.approve(uniswap_utils.address, ethers.utils.parseEther("100000000")) + // mockUSDC.approve(uniswap_utils.address, ethers.utils.parseUnits("100000000", 6)) + // await uniswap_utils.createPoolAndMintPositionErC20(createUniswapPoolParams) + + // console.log("Created HALO pool") + + // // create a uniswap pool for WETH and USDC + // console.log("WETH address: ", config.REGISTRAR_UPDATE_CONFIG.wethAddress) + // console.log("USDC address: ", mockUSDC.address.toString()) + + // sqrtPrice = "79228162514264334008320" + // if (mockUSDC.address < config.REGISTRAR_UPDATE_CONFIG.wethAddress) { + // sqrtPrice = "79228162514264337593543950336000000" + // } + // const createUniswapPoolParams2 = { + // tokenA: mockUSDC.address, + // tokenB: config.REGISTRAR_UPDATE_CONFIG.wethAddress, + // uniswapFee: 3000, + // amountA: ethers.utils.parseUnits("1000", 6), + // sqrtPriceX96: sqrtPrice, + // tickLower: "-598680", + // tickUpper: "506580", + // } + // mockUSDC.approve(uniswap_utils.address, ethers.utils.parseUnits("1000", 6)) + // await uniswap_utils.createPoolAndMintPosition(createUniswapPoolParams2, { + // value: ethers.utils.parseEther("1000"), + // }) + + // console.log("Created WETH pool") + + // // deploy DAI + // const DAI = await ethers.getContractFactory("MockERC20") + // const dai = await DAI.deploy("DAI", "DAI", "1000000000") + // await dai.deployed() + // config.REGISTRAR_UPDATE_CONFIG.DAI_address = dai.address + // config.DONATION_MATCH_CHARITY_DATA.DAI_address = dai.address + // config.REGISTRAR_DATA.acceptedTokens.cw20.push(dai.address) + + // // mint DAI + // await dai.mint(proxyAdmin.address, ethers.utils.parseEther("100000000")) + + // console.log(dai.address) + + // // create a uniswap pool for DAI and USDC + // sqrtPrice = "79228162514264334008320" + // if (mockUSDC.address < dai.address.toString()) { + // sqrtPrice = "79228162514264337593543950336000000" + // } + // const createUniswapPoolParams3 = { + // projectToken: dai.address, + // usdcToken: mockUSDC.address, + // uniswapFee: 3000, + // amountA: ethers.utils.parseEther("100000000"), + // amountB: ethers.utils.parseUnits("100000000", 6), + // sqrtPriceX96: sqrtPrice, + // tickLower: "-598680", + // tickUpper: "506580", + // } + // dai.approve(uniswap_utils.address, ethers.utils.parseEther("100000000")) + // mockUSDC.approve(uniswap_utils.address, ethers.utils.parseUnits("100000000", 6)) + // await uniswap_utils.createPoolAndMintPositionErC20(createUniswapPoolParams3) + // console.log("Created DAI pool") + // } // requires setting up of a HALO - MockUSDC pool on forked uniswap in deployment - // if PROD flag is false + // if on non-production network let donationMatchCharityData = { reserveToken: config.DONATION_MATCH_CHARITY_DATA.reserveToken, @@ -336,9 +336,9 @@ export async function main(apTeamAdmins = []) { usdcAddress: config.DONATION_MATCH_CHARITY_DATA.usdcAddress, } - if (network.name === "hardhat") { + if (isLocalNetwork(network)) { // haloToken - donationMatchCharityData.reserveToken = haloToken.address + // donationMatchCharityData.reserveToken = haloToken.address donationMatchCharityData.uniswapFactory = config.SWAP_ROUTER_DATA.SWAP_FACTORY_ADDRESS donationMatchCharityData.poolFee = 3000 donationMatchCharityData.usdcAddress = mockUSDC!.address @@ -348,62 +348,58 @@ export async function main(apTeamAdmins = []) { let implementations = await deployImplementation( ANGEL_CORE_STRUCT.address, - lockedWithdrawalData, donationMatchCharityData, verify_contracts, hre ) - if (network.name === "hardhat") { - await haloToken.transfer(implementations.DonationMatchCharity, ethers.utils.parseEther("100000000")) - } - - config.REGISTRAR_DATA.acceptedTokens.cw20.push(haloToken.address) - - updateConfig = { - accountsContract: ACCOUNT_ADDRESS, //Address - taxRate: config.REGISTRAR_DATA.taxRate, //uint256 - rebalance: config.REGISTRAR_DATA.rebalance, - approved_charities: [], //string[] - splitMax: 100, //uint256 - splitMin: 0, //uint256 - splitDefault: 50, //uint256 - collectorShare: config.REGISTRAR_UPDATE_CONFIG.collectorShare, //uint256 - acceptedTokens: config.REGISTRAR_DATA.acceptedTokens, - subdaoGovCode: implementations.SubDao, //address - subdaoCw20TokenCode: implementations.SubDaoERC20, //address - subdaoBondingTokenCode: implementations.SubDaoBondingCurve, //address - subdaoCw900Code: implementations.IncentiisedVoting, //address - subdaoDistributorCode: ADDRESS_ZERO, - subdaoEmitter: emitters.subDaoEmitter, //TODO: - donationMatchCode: implementations.DonationMatch, //address - indexFundContract: INDEX_FUND_ADDRESS, //address - govContract: haloAddress.Gov.GovProxy, //address - treasury: config.REGISTRAR_DATA.treasury, - donationMatchCharitesContract: implementations.DonationMatchCharity, // once uniswap is setup //address - donationMatchEmitter: emitters.DonationMatchEmitter, - haloToken: haloAddress.Halo, //address - haloTokenLpContract: config.REGISTRAR_UPDATE_CONFIG.haloTokenLpContract, //address - charitySharesContract: ADDRESS_ZERO, //TODO: //address - fundraisingContract: fundraisingAddress, //TODO: //address - applicationsReview: multisigAddress.ApplicationsMultiSig, //address - swapsRouter: SWAP_ROUTER, //address - multisigFactory: multisigDat.MultiSigWalletFactory, //address - multisigEmitter: multisigDat.EndowmentMultiSigEmitter, //address - charityProposal: charityApplicationsAddress, //address - lockedWithdrawal: implementations.LockedWithdraw, //address - proxyAdmin: proxyAdmin.address, //address - usdcAddress: config.REGISTRAR_UPDATE_CONFIG.usdcAddress, //address - wethAddress: config.REGISTRAR_UPDATE_CONFIG.wethAddress, - cw900lvAddress: implementations.cw900lv, - } + // if (isLocalNetwork(network)) { + // await haloToken.transfer(implementations.donationMatchCharity.proxy, ethers.utils.parseEther("100000000")) + // } + + // config.REGISTRAR_DATA.acceptedTokens.cw20.push(haloToken.address) + + updateConfig = { + accountsContract: ACCOUNT_ADDRESS, //Address + approved_charities: [], //string[] + splitMax: 100, //uint256 + splitMin: 0, //uint256 + splitDefault: 50, //uint256 + collectorShare: config.REGISTRAR_UPDATE_CONFIG.collectorShare, //uint256 + subdaoGovContract: implementations.subDao.implementation, //address + subdaoTokenContract: implementations.subDao.token, //address + subdaoBondingTokenContract: implementations.subDao.veBondingToken, //address + subdaoCw900Contract: implementations.incentivisedVotingLockup.implementation, //address + subdaoDistributorContract: ADDRESS_ZERO, + subdaoEmitter: emitters.subDaoEmitter, //TODO: + donationMatchContract: implementations.donationMatch.implementation, //address + indexFundContract: INDEX_FUND_ADDRESS, //address + govContract: ADDRESS_ZERO, //address + treasury: config.REGISTRAR_DATA.treasury, + donationMatchCharitesContract: implementations.donationMatchCharity.proxy, // once uniswap is setup //address + donationMatchEmitter: emitters.DonationMatchEmitter, + haloToken: ADDRESS_ZERO, //address + haloTokenLpContract: config.REGISTRAR_UPDATE_CONFIG.haloTokenLpContract, //address + charitySharesContract: ADDRESS_ZERO, //TODO: //address + fundraisingContract: ADDRESS_ZERO, //TODO: //address + applicationsReview: multisigAddress.ApplicationsMultiSig, //address + swapsRouter: SWAP_ROUTER, //address + multisigFactory: multisigDat.MultiSigWalletFactory, //address + multisigEmitter: multisigDat.EndowmentMultiSigEmitter, //address + charityProposal: charityApplicationsAddress, //address + lockedWithdrawal: ADDRESS_ZERO, + proxyAdmin: proxyAdmin.address, //address + usdcAddress: config.REGISTRAR_UPDATE_CONFIG.usdcAddress, //address + wethAddress: config.REGISTRAR_UPDATE_CONFIG.wethAddress, + cw900lvAddress: implementations.cw900lv, + } let REGISTRAR_CONTRACT = await ethers.getContractAt("Registrar", REGISTRAR_ADDRESS) let data = await REGISTRAR_CONTRACT.updateConfig(updateConfig) console.log("Successfully updated config:-", data.hash) - let newOwner = await REGISTRAR_CONTRACT.updateOwner(multisigAddress.APTeamMultiSig) + let newOwner = await REGISTRAR_CONTRACT.transferOwnership(multisigAddress.APTeamMultiSig) console.log("Successfully transferred Ownership:-", newOwner.hash) let INDEX_FUND_CONTRACT = await ethers.getContractAt("IndexFund", INDEX_FUND_ADDRESS) @@ -411,35 +407,8 @@ export async function main(apTeamAdmins = []) { let new_owner_index = await INDEX_FUND_CONTRACT.updateOwner(multisigAddress.APTeamMultiSig) console.log("Successfully transferred Ownership:-", new_owner_index.hash) - var composedAddress = { - libraries: { - stringLibrary: STRING_LIBRARY.address, - AngelCoreStruct: ANGEL_CORE_STRUCT.address, - }, - dai: config.REGISTRAR_UPDATE_CONFIG.DAI_address, - registrar: REGISTRAR_ADDRESS, - account: ACCOUNT_ADDRESS, - multisigAddress, - charityApplicationsAddress, - swapRouter: SWAP_ROUTER, - indexFund: INDEX_FUND_ADDRESS, - multisigDat, - implementations, - haloAddress, - giftCardAddress, - fundraisingAddress, - haloGovContract: haloAddress.Gov.GovProxy, - timelockContract: haloAddress.Gov.TimeLock, - votingERC20: haloAddress.Gov.VotingERC20Proxy, - lockedWithdraw: implementations.LockedWithdraw, - } - - await saveFrontendFiles({ addressWriter }) - await saveFrontendFiles({ composedAddress }) - return { - addresses: composedAddress, - registrarConfig: updateConfig, - } + // await saveFrontendFiles({ addressWriter }) + // await saveFrontendFiles({ composedAddress }) } catch (e) { console.error("Failed deploying Contracts:-", e) return Promise.reject(false) diff --git a/scripts/deployRegistrar.ts b/scripts/deployRegistrar.ts index 9de294578..3f7c6c0f7 100644 --- a/scripts/deployRegistrar.ts +++ b/scripts/deployRegistrar.ts @@ -1,12 +1,11 @@ -import { ethers, upgrades } from "hardhat"; -import { logger } from "utils" -import * as fs from "fs"; +import hre from "hardhat"; +import { logger, updateAddresses } from "utils" import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers"; import { Registrar, Registrar__factory } from "typechain-types" -import { BigNumber } from "ethers"; async function deploy() { - + const { ethers, upgrades } = hre + let deployer: SignerWithAddress [deployer] = await ethers.getSigners() @@ -26,13 +25,9 @@ async function deploy() { logger.divider() - logger.out("Writing to address.json", logger.Level.Info) + logger.out("Writing to contract-address.json", logger.Level.Info) - let rawdata = fs.readFileSync('address.json', "utf8") - let address: any = JSON.parse(rawdata) - address[network.chainId] = {"registrar": registrar.address} - const json = JSON.stringify(address, null, 2) - fs.writeFileSync('address.json', json, "utf8") + await updateAddresses({ registrar: { implementation: registrar.address } }, hre) } deploy().catch((error) => { diff --git a/scripts/deployRouter.ts b/scripts/deployRouter.ts index b64fb418e..6375d7fae 100644 --- a/scripts/deployRouter.ts +++ b/scripts/deployRouter.ts @@ -1,19 +1,17 @@ -import { ethers, upgrades } from "hardhat"; -import { logger } from "utils" -import * as fs from "fs"; +import hre from "hardhat"; +import { getAddresses, logger, updateAddresses } from "utils" import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers"; import { Router, Router__factory } from "typechain-types" -import { BigNumber } from "ethers"; async function deploy() { + const { ethers, upgrades } = hre let deployer: SignerWithAddress [deployer] = await ethers.getSigners() const network = await ethers.provider.getNetwork() - let rawdata = fs.readFileSync('address.json', "utf8") - let address: any = JSON.parse(rawdata) + const addresses = await getAddresses(hre) logger.divider() logger.out("Deploying to: " + network.name, logger.Level.Info) @@ -21,7 +19,7 @@ async function deploy() { const gatewayAddress = "" const gasReceiverAddress = "" - const registrarAddress = address[network.chainId]["registrar"] + const registrarAddress = addresses.registrar.proxy const Router = await ethers.getContractFactory("Router__factory") as Router__factory; const router = await upgrades.deployProxy( @@ -34,11 +32,9 @@ async function deploy() { logger.pad(30, "Deployed to:", router.address); logger.divider() - logger.out("Writing to address.json", logger.Level.Info) + logger.out("Writing to contract-address.json", logger.Level.Info) - address[network.chainId] = router.address - const json = JSON.stringify(address, null, 2) - fs.writeFileSync('address.json', json, "utf8") + await updateAddresses({ router: { implementation: router.address } }, hre) } deploy().catch((error) => { diff --git a/scripts/deploySetUp.ts b/scripts/deploySetUp.ts index db2f56ca5..63028622e 100644 --- a/scripts/deploySetUp.ts +++ b/scripts/deploySetUp.ts @@ -2,9 +2,13 @@ // yours, or create new ones. import path from 'path' +import hre from 'hardhat' +import config from 'config' +import { Contract } from 'ethers' +import { APTeamMultiSig, ApplicationsMultiSig } from 'typechain-types' +import { convertCompilerOptionsFromJson } from 'typescript' import { deployDiamond } from 'contracts/core/accounts/scripts/deploy' -import hre from 'hardhat' import { deployRegistrar } from 'contracts/core/registrar/scripts/deploy' import { deployImplementation } from 'contracts/normalized_endowment/scripts/deployImplementation' import { deployMultisig } from 'contracts/multisigs/scripts/deploy' @@ -13,15 +17,13 @@ import { deployIndexFund } from 'contracts/core/index-fund/scripts/deploy' import { deployEndowmentMultiSig } from 'contracts/normalized_endowment/endowment-multisig/scripts/deploy' import { deployHaloImplementation } from 'contracts/halo/scripts/deploy' import { charityApplications } from 'contracts/multisigs/charity_applications/scripts/deploy' -const ethers = hre.ethers; - -import config from 'config' import { deployEmitters } from 'contracts/normalized_endowment/scripts/deployEmitter' -import { giftCard } from 'contracts/accessory/gift-cards/scripts/deploy' +import { deployGiftCard } from 'contracts/accessory/gift-cards/scripts/deploy' +// import { deployFundraising } from 'contracts/accessory/fundraising/scripts/deploy' + +const ethers = hre.ethers; import { deployFundraising } from 'contracts/accessory/fundraising/scripts/deploy' -import { convertCompilerOptionsFromJson } from 'typescript' -import { Contract } from 'ethers' -import { APTeamMultiSig, ApplicationsMultiSig } from 'typechain-types' +import { envConfig } from 'utils' //TODO: Deploy and initilize emitters //TODO: deploy gift card contract @@ -70,7 +72,7 @@ export async function mainRouter(apTeamAdmins = [], USDC: string, verify_contrac // Mock setup required for testing let mockUSDC = await ethers.getContractAt('MockUSDC', USDC); console.log("walla walla",await mockUSDC.balanceOf(deployer.address)); - // if (!config.PROD) { + // if (network.config.chainId !== envConfig.PROD_NETWORK_ID) { // const MockUSDC = await ethers.getContractFactory('MockUSDC'); // mockUSDC = await MockUSDC.deploy('USDC', 'USDC', 100); // await mockUSDC.deployed(); @@ -164,13 +166,6 @@ export async function mainRouter(apTeamAdmins = [], USDC: string, verify_contrac console.log('multisigDat contract deployed at:-', multisigDat); - const lockedWithdrawalData = [ - REGISTRAR_ADDRESS, - ACCOUNT_ADDRESS, - multisigAddress.APTeamMultiSig, - multisigDat.MultiSigWalletFactory, - ]; - // console.log('implementations deployed at:', implementations); let GiftCardDataInput = { @@ -178,7 +173,7 @@ export async function mainRouter(apTeamAdmins = [], USDC: string, verify_contrac registrarContract: REGISTRAR_ADDRESS, }; - let giftCardAddress = await giftCard(GiftCardDataInput, ANGEL_CORE_STRUCT.address, verify_contracts, hre); + let giftCardAddress = await deployGiftCard(GiftCardDataInput, ANGEL_CORE_STRUCT.address, verify_contracts, hre); let FundraisingDataInput = { registrarContract: REGISTRAR_ADDRESS, @@ -201,7 +196,10 @@ export async function mainRouter(apTeamAdmins = [], USDC: string, verify_contrac console.log('halo token balance: ', await haloToken.balanceOf(deployer.address)); - if (!config.PROD) { + // TODO: + // Either create different .env files for different environments + // or check whether network is mainnet instead + if (ethers.provider.network.chainId !== envConfig.PROD_NETWORK_ID) { let UniswapUtils = await ethers.getContractFactory('UniswapUtils'); let uniswap_utils = await UniswapUtils.deploy(); await uniswap_utils.deployed(); @@ -288,7 +286,7 @@ export async function mainRouter(apTeamAdmins = [], USDC: string, verify_contrac } // requires setting up of a HALO - MockUSDC pool on forked uniswap in deployment - // if PROD flag is false + // if on non-production network let donationMatchCharityData = { reserveToken: config.DONATION_MATCH_CHARITY_DATA.reserveToken, @@ -298,7 +296,7 @@ export async function mainRouter(apTeamAdmins = [], USDC: string, verify_contrac usdcAddress: config.DONATION_MATCH_CHARITY_DATA.usdcAddress, }; - if (!config.PROD) { + if (ethers.provider.network.chainId !== envConfig.PROD_NETWORK_ID) { // haloToken donationMatchCharityData.reserveToken = haloToken.address; donationMatchCharityData.uniswapFactory = config.SWAP_ROUTER_DATA.SWAP_FACTORY_ADDRESS; @@ -310,14 +308,13 @@ export async function mainRouter(apTeamAdmins = [], USDC: string, verify_contrac let implementations = await deployImplementation( ANGEL_CORE_STRUCT.address, - lockedWithdrawalData, donationMatchCharityData, verify_contracts, hre ); - if (!config.PROD) { - await haloToken.transfer(implementations.DonationMatchCharity, ethers.utils.parseEther('100000000')); + if (ethers.provider.network.chainId !== envConfig.PROD_NETWORK_ID) { + await haloToken.transfer(implementations.donationMatchCharity.proxy, ethers.utils.parseEther('100000000')); } config.REGISTRAR_DATA.acceptedTokens.cw20.push(haloToken.address); @@ -332,17 +329,17 @@ export async function mainRouter(apTeamAdmins = [], USDC: string, verify_contrac splitDefault: 50, //uint256 collectorShare: config.REGISTRAR_UPDATE_CONFIG.collectorShare, //uint256 acceptedTokens: config.REGISTRAR_DATA.acceptedTokens, - subdaoGovCode: implementations.SubDao, //address - subdaoCw20TokenCode: implementations.SubDaoERC20, //address - subdaoBondingTokenCode: implementations.SubDaoBondingCurve, //address - subdaoCw900Code: implementations.IncentiisedVoting, //address - subdaoDistributorCode: implementations.FeeDistributor, + subdaoGovContract: implementations.subDao.implementation, //address + subdaoTokenContract: implementations.subDao.token, //address + subdaoBondingTokenContract: implementations.subDao.veBondingToken, //address + subdaoCw900Contract: implementations.incentivisedVotingLockup, //address + subdaoDistributorContract: implementations.feeDistributor, subdaoEmitter: emitters.subDaoEmitter, //TODO: - donationMatchCode: implementations.DonationMatch, //address + donationMatchContract: implementations.donationMatch, //address indexFundContract: INDEX_FUND_ADDRESS, //address govContract: haloAddress.Gov.GovProxy, //address treasury: config.REGISTRAR_DATA.treasury, - donationMatchCharitesContract: implementations.DonationMatchCharity, // once uniswap is setup //address + donationMatchCharitesContract: implementations.donationMatchCharity, // once uniswap is setup //address donationMatchEmitter: emitters.DonationMatchEmitter, haloToken: haloAddress.Halo, //address haloTokenLpContract: config.REGISTRAR_UPDATE_CONFIG.haloTokenLpContract, //address @@ -353,7 +350,6 @@ export async function mainRouter(apTeamAdmins = [], USDC: string, verify_contrac multisigFactory: multisigDat.MultiSigWalletFactory, //address multisigEmitter: multisigDat.EndowmentMultiSigEmitter, //address charityProposal: charityApplicationsAddress, //address - lockedWithdrawal: implementations.LockedWithdraw, //address proxyAdmin: proxyAdmin.address, //address usdcAddress: config.REGISTRAR_UPDATE_CONFIG.usdcAddress, //address wethAddress: config.REGISTRAR_UPDATE_CONFIG.wethAddress, @@ -393,7 +389,6 @@ export async function mainRouter(apTeamAdmins = [], USDC: string, verify_contrac haloGovContract: haloAddress.Gov.GovProxy, timelockContract: haloAddress.Gov.TimeLock, votingERC20: haloAddress.Gov.VotingERC20Proxy, - lockedWithdraw: implementations.LockedWithdraw, }; await saveFrontendFiles(address); diff --git a/scripts/deployTask.ts b/scripts/deployTask.ts index 2634d5f04..d4b8b44f7 100644 --- a/scripts/deployTask.ts +++ b/scripts/deployTask.ts @@ -1,8 +1,6 @@ // This is a script for deploying your contracts. You can adapt it to deploy // yours, or create new ones. -import path from 'path' - import { deployDiamond } from 'contracts/core/accounts/scripts/deploy' import { deployRegistrar } from 'contracts/core/registrar/scripts/deploy' import { deployImplementation } from 'contracts/normalized_endowment/scripts/deployImplementation' @@ -12,11 +10,11 @@ import { deployIndexFund } from 'contracts/core/index-fund/scripts/deploy' import { deployEndowmentMultiSig } from 'contracts/normalized_endowment/endowment-multisig/scripts/deploy' import { deployHaloImplementation } from 'contracts/halo/scripts/deploy' import { charityApplications } from 'contracts/multisigs/charity_applications/scripts/deploy' +import { deployEmitters } from 'contracts/normalized_endowment/scripts/deployEmitter' +import { deployGiftCard } from 'contracts/accessory/gift-cards/scripts/deploy' +// import { deployFundraising } from 'contracts/accessory/fundraising/scripts/deploy' import config from 'config' -import { deployEmitters } from 'contracts/normalized_endowment/scripts/deployEmitter' -import { giftCard } from 'contracts/accessory/gift-cards/scripts/deploy' -import { deployFundraising } from 'contracts/accessory/fundraising/scripts/deploy' var ANGEL_CORE_STRUCT: Contract; var STRING_LIBRARY: Contract; @@ -25,20 +23,20 @@ var REGISTRAR_ADDRESS; var deployer; var proxyAdmin; -let updateConfig; +let updateConfig: RegistrarMessages.UpdateConfigRequestStruct interface AddressWriter { [key: string]: string | AddressWriter } let addressWriter: AddressWriter = {}; -import { saveFrontendFiles, cleanFile } from './readWriteFile' +import { cleanAddresses, updateAddresses } from 'utils' import { HardhatRuntimeEnvironment } from 'hardhat/types' import { Contract } from 'ethers' import { APTeamMultiSig, ApplicationsMultiSig } from 'typechain-types' +import { isLocalNetwork } from 'utils' +import { RegistrarMessages } from 'typechain-types/contracts/core/registrar/interfaces/IRegistrar' async function deployLibraries(verify_contracts: boolean,hre: HardhatRuntimeEnvironment) { try { - await cleanFile(); - const { ethers, run, network } = hre; const angel_core_struct = await ethers.getContractFactory('AngelCoreStruct'); @@ -54,12 +52,15 @@ async function deployLibraries(verify_contracts: boolean,hre: HardhatRuntimeEnvi 'ANGEL_CORE_STRUCT_LIBRARY Deployed at ': ANGEL_CORE_STRUCT.address, }); - let libraries = { - "STRING_LIBRARY" : STRING_LIBRARY.address, - "ANGEL_CORE_STRUCT_LIBRARY" : ANGEL_CORE_STRUCT.address - } - - await saveFrontendFiles({libraries}); + await updateAddresses( + { + libraries: { + ANGEL_CORE_STRUCT_LIBRARY : ANGEL_CORE_STRUCT.address, + STRING_LIBRARY : STRING_LIBRARY.address, + } + }, + hre + ); if(network.name !== 'hardhat' && verify_contracts){ await run(`verify:verify`, { @@ -83,6 +84,7 @@ export async function mainTask(apTeamAdmins = [], verify_contracts = false, hre: try { const { run, network, ethers } = hre; + await cleanAddresses(hre); var Admins = config.AP_TEAM_MULTISIG_DATA.admins; if (apTeamAdmins.length != 0) Admins = apTeamAdmins; @@ -92,7 +94,7 @@ export async function mainTask(apTeamAdmins = [], verify_contracts = false, hre: // Mock setup required for testing let mockUSDC: Contract | undefined; - if (network.name === 'hardhat') { + if (isLocalNetwork(network)) { const MockUSDC = await ethers.getContractFactory('MockUSDC'); mockUSDC = await MockUSDC.deploy('USDC', 'USDC', 100); await mockUSDC.deployed(); @@ -112,15 +114,13 @@ export async function mainTask(apTeamAdmins = [], verify_contracts = false, hre: const registrarData = { treasury: config.REGISTRAR_DATA.treasury, - taxRate: config.REGISTRAR_DATA.taxRate, - rebalance: config.REGISTRAR_DATA.rebalance, splitToLiquid: config.REGISTRAR_DATA.splitToLiquid, - acceptedTokens: config.REGISTRAR_DATA.acceptedTokens, router: config.REGISTRAR_DATA.router, - axelerGateway: config.REGISTRAR_DATA.axelerGateway, + axelarGateway: config.REGISTRAR_DATA.axelarGateway, + axelarGasRecv: config.REGISTRAR_DATA.axelarGasRecv }; - REGISTRAR_ADDRESS = await deployRegistrar(STRING_LIBRARY.address, registrarData,verify_contracts,hre); + REGISTRAR_ADDRESS = await deployRegistrar(STRING_LIBRARY.address, registrarData, verify_contracts, hre); var APTeamData: Parameters = [Admins, config.AP_TEAM_MULTISIG_DATA.threshold, config.AP_TEAM_MULTISIG_DATA.requireExecution]; var ApplicationData: Parameters = [ @@ -189,30 +189,23 @@ export async function mainTask(apTeamAdmins = [], verify_contracts = false, hre: console.log('multisigDat contract deployed at:-', multisigDat); - const lockedWithdrawalData = [ - REGISTRAR_ADDRESS, - ACCOUNT_ADDRESS, - multisigAddress.APTeamMultiSig, - multisigDat.MultiSigWalletFactory, - ]; - // console.log('implementations deployed at:', implementations); - let GiftCardDataInput = { - keeper: multisigAddress.APTeamMultiSig, - registrarContract: REGISTRAR_ADDRESS, - }; + // let GiftCardDataInput = { + // keeper: multisigAddress.APTeamMultiSig, + // registrarContract: REGISTRAR_ADDRESS, + // }; - let giftCardAddress = await giftCard(GiftCardDataInput, ANGEL_CORE_STRUCT.address, verify_contracts, hre); + // let giftCardAddress = await giftCard(GiftCardDataInput, ANGEL_CORE_STRUCT.address, verify_contracts, hre); - let FundraisingDataInput = { - registrarContract: REGISTRAR_ADDRESS, - nextId: config.FundraisingDataInput.nextId, - campaignPeriodSeconds: config.FundraisingDataInput.campaignPeriodSeconds, - taxRate: config.FundraisingDataInput.taxRate, - acceptedTokens: config.FundraisingDataInput.acceptedTokens, - }; - let fundraisingAddress = await deployFundraising(FundraisingDataInput, ANGEL_CORE_STRUCT.address, verify_contracts, hre); + // let FundraisingDataInput = { + // registrarContract: REGISTRAR_ADDRESS, + // nextId: config.FundraisingDataInput.nextId, + // campaignPeriodSeconds: config.FundraisingDataInput.campaignPeriodSeconds, + // taxRate: config.FundraisingDataInput.taxRate, + // acceptedTokens: config.FundraisingDataInput.acceptedTokens, + // }; + // let fundraisingAddress = await deployFundraising(FundraisingDataInput, ANGEL_CORE_STRUCT.address, verify_contracts, hre); var haloAddress = await deployHaloImplementation( SWAP_ROUTER, @@ -229,7 +222,7 @@ export async function mainTask(apTeamAdmins = [], verify_contracts = false, hre: console.log('halo token balance: ', await haloToken.balanceOf(deployer.address)); // - if (network.name === 'hardhat') { + if (isLocalNetwork(network)) { // if network is 'hardhat' then mockUSDC should always be initialized // but TS forces us to confirm this is the case mockUSDC = mockUSDC! @@ -320,7 +313,7 @@ export async function mainTask(apTeamAdmins = [], verify_contracts = false, hre: } // requires setting up of a HALO - MockUSDC pool on forked uniswap in deployment - // if PROD flag is false + // if on non-production network let donationMatchCharityData = { reserveToken: config.DONATION_MATCH_CHARITY_DATA.reserveToken, @@ -330,7 +323,7 @@ export async function mainTask(apTeamAdmins = [], verify_contracts = false, hre: usdcAddress: config.DONATION_MATCH_CHARITY_DATA.usdcAddress, }; - if (network.name === 'hardhat') { + if (isLocalNetwork(network)) { // haloToken donationMatchCharityData.reserveToken = haloToken.address; donationMatchCharityData.uniswapFactory = config.SWAP_ROUTER_DATA.SWAP_FACTORY_ADDRESS; @@ -342,54 +335,50 @@ export async function mainTask(apTeamAdmins = [], verify_contracts = false, hre: let implementations = await deployImplementation( ANGEL_CORE_STRUCT.address, - lockedWithdrawalData, donationMatchCharityData, verify_contracts, hre ); - if (network.name === 'hardhat') { - await haloToken.transfer(implementations.DonationMatchCharity, ethers.utils.parseEther('100000000')); + if (isLocalNetwork(network)) { + await haloToken.transfer(implementations.donationMatchCharity.proxy, ethers.utils.parseEther('100000000')); } config.REGISTRAR_DATA.acceptedTokens.cw20.push(haloToken.address); updateConfig = { accountsContract: ACCOUNT_ADDRESS, //Address - taxRate: config.REGISTRAR_DATA.taxRate, //uint256 - rebalance: config.REGISTRAR_DATA.rebalance, approved_charities: [], //string[] splitMax: 100, //uint256 splitMin: 0, //uint256 splitDefault: 50, //uint256 collectorShare: config.REGISTRAR_UPDATE_CONFIG.collectorShare, //uint256 - acceptedTokens: config.REGISTRAR_DATA.acceptedTokens, - subdaoGovCode: implementations.SubDao, //address - subdaoCw20TokenCode: implementations.SubDaoERC20, //address - subdaoBondingTokenCode: implementations.SubDaoBondingCurve, //address - subdaoCw900Code: implementations.IncentiisedVoting, //address - subdaoDistributorCode: ADDRESS_ZERO, + subdaoGovContract: implementations.subDao.implementation, //address + subdaoTokenContract: implementations.subDao.token, //address + subdaoBondingTokenContract: implementations.subDao.veBondingToken, //address + subdaoCw900Contract: implementations.incentivisedVotingLockup.implementation, //address + subdaoDistributorContract: ADDRESS_ZERO, subdaoEmitter: emitters.subDaoEmitter, //TODO: - donationMatchCode: implementations.DonationMatch, //address + donationMatchContract: implementations.donationMatch.implementation, //address indexFundContract: INDEX_FUND_ADDRESS, //address govContract: haloAddress.Gov.GovProxy, //address treasury: config.REGISTRAR_DATA.treasury, - donationMatchCharitesContract: implementations.DonationMatchCharity, // once uniswap is setup //address + donationMatchCharitesContract: implementations.donationMatchCharity.proxy, // once uniswap is setup //address donationMatchEmitter: emitters.DonationMatchEmitter, haloToken: haloAddress.Halo, //address haloTokenLpContract: config.REGISTRAR_UPDATE_CONFIG.haloTokenLpContract, //address charitySharesContract: ADDRESS_ZERO, //TODO: //address - fundraisingContract: fundraisingAddress, //TODO: //address + fundraisingContract: ADDRESS_ZERO, //TODO: //address applicationsReview: multisigAddress.ApplicationsMultiSig, //address swapsRouter: SWAP_ROUTER, //address multisigFactory: multisigDat.MultiSigWalletFactory, //address multisigEmitter: multisigDat.EndowmentMultiSigEmitter, //address charityProposal: charityApplicationsAddress, //address - lockedWithdrawal: implementations.LockedWithdraw, //address proxyAdmin: proxyAdmin.address, //address usdcAddress: config.REGISTRAR_UPDATE_CONFIG.usdcAddress, //address wethAddress: config.REGISTRAR_UPDATE_CONFIG.wethAddress, cw900lvAddress: implementations.cw900lv, + lockedWithdrawal: ADDRESS_ZERO, }; let REGISTRAR_CONTRACT = await ethers.getContractAt('Registrar', REGISTRAR_ADDRESS); @@ -397,7 +386,7 @@ export async function mainTask(apTeamAdmins = [], verify_contracts = false, hre: let data = await REGISTRAR_CONTRACT.updateConfig(updateConfig); console.log('Successfully updated config:-', data.hash); - let newOwner = await REGISTRAR_CONTRACT.updateOwner(multisigAddress.APTeamMultiSig); + let newOwner = await REGISTRAR_CONTRACT.transferOwnership(multisigAddress.APTeamMultiSig); console.log('Successfully transferred Ownership:-', newOwner.hash); let INDEX_FUND_CONTRACT = await ethers.getContractAt('IndexFund', INDEX_FUND_ADDRESS); @@ -420,16 +409,15 @@ export async function mainTask(apTeamAdmins = [], verify_contracts = false, hre: multisigDat, implementations, haloAddress, - giftCardAddress, - fundraisingAddress, + // giftCardAddress, + // fundraisingAddress, haloGovContract: haloAddress.Gov.GovProxy, timelockContract: haloAddress.Gov.TimeLock, votingERC20: haloAddress.Gov.VotingERC20Proxy, - lockedWithdraw: implementations.LockedWithdraw, }; - await saveFrontendFiles({addressWriter}); - await saveFrontendFiles({composedAddress}); + // await saveFrontendFiles({addressWriter}); + // await saveFrontendFiles({composedAddress}); return { addresses: composedAddress, registrarConfig: updateConfig, diff --git a/scripts/readWriteFile.ts b/scripts/readWriteFile.ts deleted file mode 100644 index 184c6c74a..000000000 --- a/scripts/readWriteFile.ts +++ /dev/null @@ -1,55 +0,0 @@ -import fs from "fs" -import path from "path" - -export const cleanFile = () => { - return new Promise(async (resolve, reject) => { - try { - const contractsDir = path.join(__dirname, "../") - - if (!fs.existsSync(contractsDir)) { - fs.mkdirSync(contractsDir) - } - - fs.writeFileSync( - path.join(contractsDir, "contract-address.json"), - JSON.stringify( - { INFO: "ALL ADDRESS ARE MENTIONED INTO THIS FILE" }, - undefined, - 2 - ) - ) - resolve(true) - } catch (e) { - reject(e) - } - }) -} - -export const saveFrontendFiles = (addressesObj: object) => { - return new Promise(async (resolve, reject) => { - try { - const contractsDir = path.join(__dirname, "../") - - if (!fs.existsSync(contractsDir)) { - fs.mkdirSync(contractsDir) - } - - const jsonData = fs.readFileSync( - path.join(contractsDir, "contract-address.json"), - "utf-8" - ) - - const data = JSON.parse(jsonData) - - Object.assign(data, addressesObj) - - fs.writeFileSync( - path.join(contractsDir, "contract-address.json"), - JSON.stringify(data, undefined, 2) - ) - resolve(true) - } catch (e) { - reject(e) - } - }) -} diff --git a/tasks/accounts.ts b/tasks/accounts.ts index 86e291678..784634614 100644 --- a/tasks/accounts.ts +++ b/tasks/accounts.ts @@ -1,10 +1,11 @@ import { Signer } from "@ethersproject/abstract-signer"; import { task } from "hardhat/config"; +import { logger } from "utils" task("accounts", "Prints the list of accounts", async (_taskArgs, hre) => { const accounts: Signer[] = await hre.ethers.getSigners(); for (const account of accounts) { - console.log(await account.getAddress()); + logger.out(await account.getAddress()); } -}); \ No newline at end of file +}); diff --git a/tasks/deploy/deployAngelProtocol.ts b/tasks/deploy/deployAngelProtocol.ts index 4236bb89e..b38a68c3e 100644 --- a/tasks/deploy/deployAngelProtocol.ts +++ b/tasks/deploy/deployAngelProtocol.ts @@ -1,13 +1,14 @@ import { task } from "hardhat/config" import { mainTask } from "scripts/deployTask" +import { logger } from "utils" task("Deploy:deployAngelProtocol", "Will deploy CompleteAngel protocol") .addParam("verify", "Want to verify contract") .setAction(async (taskArgs, hre) => { try { - var isTrueSet = taskArgs.verify === "true"; - await mainTask([], isTrueSet, hre); + var isTrueSet = taskArgs.verify === "true" + await mainTask([], isTrueSet, hre) } catch (error) { - console.log(error); + logger.out(error, logger.Level.Error) } - }); + }) diff --git a/tasks/deploy/deployCharityApplications.ts b/tasks/deploy/deployCharityApplications.ts index 66fe70282..89bcacc79 100644 --- a/tasks/deploy/deployCharityApplications.ts +++ b/tasks/deploy/deployCharityApplications.ts @@ -1,18 +1,17 @@ -import { task } from "hardhat/config" import config from "config" import { charityApplications } from "contracts/multisigs/charity_applications/scripts/deploy" -import addresses from "contract-address.json" +import { task } from "hardhat/config" +import { logger } from "utils" +import { getAddresses } from "utils" -task( - "Deploy:deployCharityApplications", - "Will deploy CharityApplications contract" -) +task("Deploy:deployCharityApplications", "Will deploy CharityApplications contract") .addParam("verify", "Want to verify contract") .setAction(async (taskArgs, hre) => { try { + const addresses = await getAddresses(hre) const charityApplicationsData: Parameters[0] = [ config.CHARITY_APPLICATION_DATA.expiry, - addresses.multiSig.ApplicationsMultiSigProxy, + addresses.multiSig.applications.proxy, addresses.accounts.diamond, config.CHARITY_APPLICATION_DATA.seedSplitToLiquid, config.CHARITY_APPLICATION_DATA.newEndowGasMoney, @@ -20,11 +19,11 @@ task( config.CHARITY_APPLICATION_DATA.fundSeedAsset, config.CHARITY_APPLICATION_DATA.seedAsset, config.CHARITY_APPLICATION_DATA.seedAssetAmount, - ]; - const isTrueSet = taskArgs.verify === "true"; + ] + const isTrueSet = taskArgs.verify === "true" - await charityApplications(charityApplicationsData, isTrueSet, hre); + await charityApplications(charityApplicationsData, isTrueSet, hre) } catch (error) { - console.log(error); + logger.out(error, logger.Level.Error) } - }); + }) diff --git a/tasks/deploy/deployEmitters.ts b/tasks/deploy/deployEmitters.ts index 3accea179..b9899c302 100644 --- a/tasks/deploy/deployEmitters.ts +++ b/tasks/deploy/deployEmitters.ts @@ -1,5 +1,6 @@ import { task } from "hardhat/config" import { deployEmitters } from "contracts/normalized_endowment/scripts/deployEmitter" +import { logger } from "utils" task("Deploy:deployEmitters", "Will deploy Emitters contract") .addParam("verify", "Want to verify contract") @@ -10,6 +11,6 @@ task("Deploy:deployEmitters", "Will deploy Emitters contract") await deployEmitters(taskArgs.accountaddress, isTrueSet, hre); } catch (error) { - console.log(error); + logger.out(error, logger.Level.Error) } }); diff --git a/tasks/deploy/deployEndowmentMultisig.ts b/tasks/deploy/deployEndowmentMultisig.ts index 3f5b1ca59..4635877cd 100644 --- a/tasks/deploy/deployEndowmentMultisig.ts +++ b/tasks/deploy/deployEndowmentMultisig.ts @@ -1,5 +1,6 @@ import { task } from "hardhat/config" import { deployEndowmentMultiSig } from "contracts/normalized_endowment/endowment-multisig/scripts/deploy" +import { logger } from "utils" task("Deploy:deployEndowmentMultiSig", "Will deploy EndowmentMultiSig contract") .addParam("verify", "Want to verify contract") @@ -9,6 +10,6 @@ task("Deploy:deployEndowmentMultiSig", "Will deploy EndowmentMultiSig contract") await deployEndowmentMultiSig(isTrueSet, hre); } catch (error) { - console.log(error); + logger.out(error, logger.Level.Error) } }); diff --git a/tasks/deploy/deployFundraising.ts b/tasks/deploy/deployFundraising.ts index 22b6532a1..f0ce35f5e 100644 --- a/tasks/deploy/deployFundraising.ts +++ b/tasks/deploy/deployFundraising.ts @@ -1,6 +1,7 @@ import { task } from "hardhat/config" import config from "config" import { deployFundraising } from "contracts/accessory/fundraising/scripts/deploy" +import { logger } from "utils" task("Deploy:deployFundraising", "Will deploy Fundraising contract") .addParam("verify", "Want to verify contract") @@ -25,6 +26,6 @@ task("Deploy:deployFundraising", "Will deploy Fundraising contract") hre ); } catch (error) { - console.log(error); + logger.out(error, logger.Level.Error) } }); diff --git a/tasks/deploy/deployGiftcard.ts b/tasks/deploy/deployGiftcard.ts index a395b4764..674baafc5 100644 --- a/tasks/deploy/deployGiftcard.ts +++ b/tasks/deploy/deployGiftcard.ts @@ -1,5 +1,6 @@ import { task } from "hardhat/config" import { giftCard } from "contracts/accessory/gift-cards/scripts/deploy" +import { logger } from "utils" task("Deploy:deployGiftCard", "Will deploy GiftCardContracts contract") .addParam("verify", "Want to verify contract") @@ -13,7 +14,7 @@ task("Deploy:deployGiftCard", "Will deploy GiftCardContracts contract") registrarContract: taskArgs.registraraddress, }; - console.log(taskArgs.corelibrary); + logger.out(taskArgs.corelibrary); var isTrueSet = taskArgs.verify === "true"; @@ -24,6 +25,6 @@ task("Deploy:deployGiftCard", "Will deploy GiftCardContracts contract") hre ); } catch (error) { - console.log(error); + logger.out(error, logger.Level.Error) } }); diff --git a/tasks/deploy/deployHaloImplementation.ts b/tasks/deploy/deployHaloImplementation.ts index e1e3da36b..f1285013d 100644 --- a/tasks/deploy/deployHaloImplementation.ts +++ b/tasks/deploy/deployHaloImplementation.ts @@ -1,5 +1,6 @@ import { task } from "hardhat/config" import { deployHaloImplementation } from "contracts/halo/scripts/deploy" +import { logger } from "utils" task( "Deploy:deployHaloImplementation", @@ -13,6 +14,6 @@ task( await deployHaloImplementation(taskArgs.swaprouter, isTrueSet, hre); } catch (error) { - console.log(error); + logger.out(error, logger.Level.Error) } }); diff --git a/tasks/deploy/deployImplementation.ts b/tasks/deploy/deployImplementation.ts index 58d0b8521..15f595353 100644 --- a/tasks/deploy/deployImplementation.ts +++ b/tasks/deploy/deployImplementation.ts @@ -1,6 +1,7 @@ import { task } from "hardhat/config" import config from "config" import { deployImplementation } from "contracts/normalized_endowment/scripts/deployImplementation" +import { logger } from "utils" task("Deploy:deployImplementation", "Will deploy Implementation") .addParam("verify", "Want to verify contract") @@ -12,12 +13,6 @@ task("Deploy:deployImplementation", "Will deploy Implementation") .setAction(async (taskArgs, hre) => { try { var isTrueSet = taskArgs.verify === "true"; - const lockedWithdrawalData = [ - taskArgs.registraraddress, - taskArgs.accountaddress, - taskArgs.apteammultisigaddress, - taskArgs.endowmentmultisigaddress, - ]; let donationMatchCharityData = { reserveToken: config.DONATION_MATCH_CHARITY_DATA.reserveToken, @@ -30,12 +25,11 @@ task("Deploy:deployImplementation", "Will deploy Implementation") await deployImplementation( taskArgs.angelcorestruct, - lockedWithdrawalData, donationMatchCharityData, isTrueSet, hre ); } catch (error) { - console.log(error); + logger.out(error, logger.Level.Error) } }); diff --git a/tasks/deploy/deployIndexFund.ts b/tasks/deploy/deployIndexFund.ts index 6728fd374..444a5854e 100644 --- a/tasks/deploy/deployIndexFund.ts +++ b/tasks/deploy/deployIndexFund.ts @@ -1,6 +1,7 @@ import { task } from "hardhat/config" import config from "config" import { deployIndexFund } from "contracts/core/index-fund/scripts/deploy" +import { logger } from "utils" task("Deploy:deployIndexFund", "Will deploy IndexFund contract") .addParam("verify", "Want to verify contract") @@ -17,6 +18,6 @@ task("Deploy:deployIndexFund", "Will deploy IndexFund contract") await deployIndexFund(indexFundData, isTrueSet, hre); } catch (error) { - console.log(error); + logger.out(error, logger.Level.Error) } }); diff --git a/tasks/deploy/deployLibraries.ts b/tasks/deploy/deployLibraries.ts index 34e7f3064..132808fce 100644 --- a/tasks/deploy/deployLibraries.ts +++ b/tasks/deploy/deployLibraries.ts @@ -1,5 +1,5 @@ import { task } from "hardhat/config" -import { saveFrontendFiles } from "scripts/readWriteFile" +import { logger, updateAddresses } from "utils" task("Deploy:DeployLibraries", "Will deploy Libraries") .addParam("verify", "Want to verify contract") @@ -18,18 +18,26 @@ task("Deploy:DeployLibraries", "Will deploy Libraries") let STRING_LIBRARY = await string_library.deploy(); await STRING_LIBRARY.deployed(); - console.log("Libraries Deployed as", { - "STRING_LIBRARY Deployed at ": STRING_LIBRARY.address, - "ANGEL_CORE_STRUCT_LIBRARY Deployed at ": - ANGEL_CORE_STRUCT.address, - }); + logger.out( + `Libraries Deployed as ${JSON.stringify( + { + "STRING_LIBRARY Deployed at ": STRING_LIBRARY.address, + "ANGEL_CORE_STRUCT_LIBRARY Deployed at ": ANGEL_CORE_STRUCT.address, + }, + undefined, + 4 + )}` + ) - let libraries = { - STRING_LIBRARY: STRING_LIBRARY.address, - ANGEL_CORE_STRUCT_LIBRARY: ANGEL_CORE_STRUCT.address, - }; - - await saveFrontendFiles({ libraries }); + await updateAddresses( + { + libraries: { + ANGEL_CORE_STRUCT_LIBRARY: ANGEL_CORE_STRUCT.address, + STRING_LIBRARY: STRING_LIBRARY.address, + } + }, + hre + ); var isTrueSet = taskArgs.verify === "true"; @@ -44,6 +52,6 @@ task("Deploy:DeployLibraries", "Will deploy Libraries") }); } } catch (error) { - console.log(error); + logger.out(error, logger.Level.Error) } }); diff --git a/tasks/deploy/deployLockedWithdraw.ts b/tasks/deploy/deployLockedWithdraw.ts deleted file mode 100644 index 7e8255503..000000000 --- a/tasks/deploy/deployLockedWithdraw.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { task } from "hardhat/config" -import config from "config" -import { deployLockedWithdraw } from "contracts/normalized_endowment/locked-withdraw/scripts/deploy" - -task( - "Deploy:deployLockedWithdraw", - "Will deploy LockedWithdraw contract" -) - .addParam("verify", "Want to verify contract") - .addParam("registraraddress", "Address of the registrar") - .addParam("accountaddress", "Address of the account") - .addParam("multisigaddress", "Address of the AP team multisig") - .addParam("endowfactory", "Address of the endowfactory") - .setAction(async (taskArgs, hre) => { - - try { - let LockedWithdrawDataInput = [ - taskArgs.registraraddress, - taskArgs.accountaddress, - taskArgs.multisigaddress, - taskArgs.endowfactory - ]; - var isTrueSet = taskArgs.verify === "true"; - await deployLockedWithdraw(config.PROXY_ADMIN_ADDRESS, LockedWithdrawDataInput, isTrueSet, hre); - } catch (error) { - console.log(error); - } - }); diff --git a/tasks/deploy/deployMultisig.ts b/tasks/deploy/deployMultisig.ts index 29481b6ed..943552b7e 100644 --- a/tasks/deploy/deployMultisig.ts +++ b/tasks/deploy/deployMultisig.ts @@ -2,6 +2,7 @@ import { task } from "hardhat/config" import config from "config" import { ApplicationsMultiSig, APTeamMultiSig } from "typechain-types" import { deployMultisig } from "contracts/multisigs/scripts/deploy" +import { logger } from "utils" task("Deploy:deployMultisig", "Will deploy Multisig contract") .addParam("verify", "Want to verify contract") @@ -21,6 +22,6 @@ task("Deploy:deployMultisig", "Will deploy Multisig contract") const isTrueSet = taskArgs.verify === "true" await deployMultisig(ApplicationData, APTeamData, isTrueSet, hre) } catch (error) { - console.log(error) + logger.out(error, logger.Level.Error) } }) diff --git a/tasks/deploy/deployRegistrar.ts b/tasks/deploy/deployRegistrar.ts index b9dbd67b2..d46065722 100644 --- a/tasks/deploy/deployRegistrar.ts +++ b/tasks/deploy/deployRegistrar.ts @@ -1,6 +1,7 @@ import { task } from "hardhat/config" import config from "config" import { deployRegistrar } from "contracts/core/registrar/scripts/deploy" +import { logger } from "utils" task("Deploy:deployRegistrar", "Will deploy Registrar contract") .addParam("verify", "Want to verify contract") @@ -9,13 +10,11 @@ task("Deploy:deployRegistrar", "Will deploy Registrar contract") try { const registrarData = { treasury: config.REGISTRAR_DATA.treasury, - taxRate: config.REGISTRAR_DATA.taxRate, - rebalance: config.REGISTRAR_DATA.rebalance, splitToLiquid: config.REGISTRAR_DATA.splitToLiquid, - acceptedTokens: config.REGISTRAR_DATA.acceptedTokens, router: config.REGISTRAR_DATA.router, - axelerGateway: config.REGISTRAR_DATA.axelerGateway, - }; + axelarGateway: config.REGISTRAR_DATA.axelarGateway, + axelarGasRecv: config.REGISTRAR_DATA.axelarGasRecv + } var isTrueSet = taskArgs.verify === "true"; await deployRegistrar( taskArgs.strlib, @@ -24,6 +23,6 @@ task("Deploy:deployRegistrar", "Will deploy Registrar contract") hre ); } catch (error) { - console.log(error); + logger.out(error, logger.Level.Error) } }); diff --git a/tasks/deploy/deploySwapRouter.ts b/tasks/deploy/deploySwapRouter.ts index aa6c6e225..d0271cf6d 100644 --- a/tasks/deploy/deploySwapRouter.ts +++ b/tasks/deploy/deploySwapRouter.ts @@ -1,6 +1,7 @@ import { task } from "hardhat/config" import config from "config" import { deploySwapRouter } from "contracts/core/swap-router/scripts/deploy" +import { logger } from "utils" task("Deploy:deploySwapRouter", "Will deploy SwapRouter contract") .addParam("verify", "Want to verify contract") @@ -19,6 +20,6 @@ task("Deploy:deploySwapRouter", "Will deploy SwapRouter contract") hre ); } catch (error) { - console.log(error); + logger.out(error, logger.Level.Error) } }); diff --git a/tasks/deploy/index.ts b/tasks/deploy/index.ts index bd5455bd1..714a5ea64 100644 --- a/tasks/deploy/index.ts +++ b/tasks/deploy/index.ts @@ -9,7 +9,8 @@ import "./deployHaloImplementation" import "./deployImplementation" import "./deployIndexFund" import "./deployLibraries" -import "./deployLockedWithdraw" import "./deployMultisig" import "./deployRegistrar" import "./deploySwapRouter" +import "./integrations" +import "./routerAndRegistrar" diff --git a/tasks/deploy/integrations/goldfinch.ts b/tasks/deploy/integrations/goldfinch.ts index 569739bb2..34a764977 100644 --- a/tasks/deploy/integrations/goldfinch.ts +++ b/tasks/deploy/integrations/goldfinch.ts @@ -1,9 +1,7 @@ import { task,types } from "hardhat/config" import type { TaskArguments } from "hardhat/types" -import { logger } from "utils" -import * as fs from "fs" +import { getAddresses, logger, updateAddresses } from "utils" import { GoldfinchVault, GoldfinchVault__factory, Registrar} from "typechain-types" -import { getImplementationAddress } from '@openzeppelin/upgrades-core' // Goerli addresses @@ -21,17 +19,15 @@ task("deploy:integrations:goldfinch") .addParam("usdc", "address of the USDC token", "", types.string) .addParam("fidu", "address of the FIDU token", "", types.string) .addParam("gfi", "address of the GFI token", "", types.string) - .addOptionalParam("registrar", "address of the registrar. Will do a local lookup from address.json if none is provided", "", types.string) + .addOptionalParam("registrar", "address of the registrar. Will do a local lookup from contract-address.json if none is provided", "", types.string) .setAction(async function (taskArguments: TaskArguments, hre) { logger.divider() let registrarAddress if(taskArguments.registrar == "") { logger.out("Connecting to registrar on specified network...") - const network = await hre.ethers.provider.getNetwork() - let rawdata = fs.readFileSync('address.json', "utf8") - let addresses: any = JSON.parse(rawdata) - registrarAddress = addresses[network.chainId]["registrar"]["proxy"] + const addresses = await getAddresses(hre) + registrarAddress = addresses["registrar"]["proxy"] } else { registrarAddress = taskArguments.registrar } @@ -74,16 +70,17 @@ task("deploy:integrations:goldfinch") // Write data to address json logger.divider() - logger.out("Writing to address.json", logger.Level.Info) - let rawdata = fs.readFileSync('address.json', "utf8") - let address: any = JSON.parse(rawdata) - address[network.chainId]["goldfinch"] = { - "lockedVault": lockedVault.address, - "liquidVault": liquidVault.address - } - const json = JSON.stringify(address, null, 2) - fs.writeFileSync('address.json', json, "utf8") + logger.out("Writing to contract-address.json", logger.Level.Info) + await updateAddresses( + { + goldfinch: { + lockedVault: lockedVault.address, + liquidVault: liquidVault.address + } + }, + hre + ) // Verify contracts on etherscan logger.divider() logger.out("Verifying contracts on etherscan") @@ -94,7 +91,7 @@ task("deploy:integrations:goldfinch") }) } catch (error){ logger.out("Caught the following error while trying to verify locked Vault:", logger.Level.Warn) - logger.out(error) + logger.out(error, logger.Level.Error) } try { await hre.run("verify:verify", { @@ -103,6 +100,6 @@ task("deploy:integrations:goldfinch") }) } catch (error){ logger.out("Caught the following error while trying to verify liquid Vault:", logger.Level.Warn) - logger.out(error) + logger.out(error, logger.Level.Error) } - }) \ No newline at end of file + }) diff --git a/tasks/deploy/routerAndRegistrar.ts b/tasks/deploy/routerAndRegistrar.ts index bf8cda7f3..a0f0ed59f 100644 --- a/tasks/deploy/routerAndRegistrar.ts +++ b/tasks/deploy/routerAndRegistrar.ts @@ -1,9 +1,8 @@ import { getImplementationAddress } from '@openzeppelin/upgrades-core' -import * as fs from "fs" import { task } from "hardhat/config" import type { TaskArguments } from "hardhat/types" import { Registrar, Registrar__factory, Router, Router__factory } from "typechain-types" -import { logger } from "utils" +import { logger, updateAddresses } from "utils" // Goerli addresses // Axelar Gateway: 0xe432150cce91c13a887f7D836923d5597adD8E31 @@ -51,23 +50,20 @@ task("deploy:RouterAndRegistrar") logger.pad(50, "with the current implementation at: ", routerImplAddress) logger.divider() - // Write data to address json - logger.out("Writing to address.json", logger.Level.Info) - let rawdata = fs.readFileSync('address.json', "utf8") - let address: any = JSON.parse(rawdata) - address[network.chainId] = - { - "registrar": { - "proxy": registrar.address, - "impl": registrarImplAddress + logger.out("Saving addresses to contract-address.json...") + await updateAddresses( + { + registrar: { + proxy: registrar.address, + implementation: registrarImplAddress + }, + router: { + proxy: router.address, + implementation: routerImplAddress + } }, - "router": { - "proxy": router.address, - "impl": routerImplAddress - } - } - const json = JSON.stringify(address, null, 2) - fs.writeFileSync('address.json', json, "utf8") + hre + ); // Verify contracts on etherscan try { @@ -77,7 +73,7 @@ task("deploy:RouterAndRegistrar") }) } catch (error){ logger.out("Caught the following error while trying to verify registrar:", logger.Level.Warn) - logger.out(error) + logger.out(error, logger.Level.Error) } try { await hre.run("verify:verify", { @@ -86,6 +82,6 @@ task("deploy:RouterAndRegistrar") }) } catch (error){ logger.out("Caught the following error while trying to verify router:", logger.Level.Warn) - logger.out(error) + logger.out(error, logger.Level.Error) } - }) \ No newline at end of file + }) diff --git a/tasks/manage/addMultisigOwner.ts b/tasks/manage/addMultisigOwner.ts index 69bcd40f1..1f795b0b6 100644 --- a/tasks/manage/addMultisigOwner.ts +++ b/tasks/manage/addMultisigOwner.ts @@ -2,6 +2,7 @@ import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers" import { task } from "hardhat/config" import type { TaskArguments } from "hardhat/types" import { MultiSigGeneric } from "typechain-types" +import { logger } from "utils" task("manage:addMultisigOwner", "Will add the specified address to the multisig as an owner") .addParam("multisig", "Address of multisig") @@ -16,12 +17,12 @@ task("manage:addMultisigOwner", "Will add the specified address to the multisig const multisig = (await hre.ethers.getContractAt("MultiSigGeneric", taskArguments.multisig)) as MultiSigGeneric - console.log("Current owners") + logger.out("Current owners") let currentOwners = await multisig.getOwners() - console.log(currentOwners) + logger.out(currentOwners) - console.log("Adding new owner:") - console.log(taskArguments.owner) + logger.out("Adding new owner:") + logger.out(taskArguments.owner) const { data } = await multisig.populateTransaction.addOwner(taskArguments.owner) const addOwnerData = hre.ethers.utils.toUtf8Bytes(data!) @@ -30,14 +31,15 @@ task("manage:addMultisigOwner", "Will add the specified address to the multisig "add ap team 3 as owner", //description multisig.address, //destination, 0, //value - addOwnerData //data) + addOwnerData, //data) + "0x" ) await hre.ethers.provider.waitForTransaction(tx.hash) - console.log("Owner addition successful. New owner list:") + logger.out("Owner addition successful. New owner list:") currentOwners = await multisig.getOwners() - console.log(currentOwners) + logger.out(currentOwners) } catch (error) { - console.log(error) + logger.out(error, logger.Level.Error) } }) diff --git a/tasks/manage/changeAdmin.ts b/tasks/manage/changeAdmin.ts index bbbf25717..f85ca0956 100644 --- a/tasks/manage/changeAdmin.ts +++ b/tasks/manage/changeAdmin.ts @@ -1,9 +1,8 @@ import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers" import { task } from "hardhat/config" import { HardhatRuntimeEnvironment } from "hardhat/types" -import addresses from "contract-address.json" import { ITransparentUpgradeableProxy__factory, OwnershipFacet__factory } from "typechain-types" -import { confirmAction, logger } from "utils" +import { AddressObj, confirmAction, getAddresses, logger } from "utils" task("manage:changeAdmin", "Will update the admin for all proxy contracts") .addParam("currentAdmin", "Current admin address") @@ -12,37 +11,45 @@ task("manage:changeAdmin", "Will update the admin for all proxy contracts") try { const isConfirmed = await confirmAction(`You're about to set ${taskArguments.newAdmin} as the new admin`) if (!isConfirmed) { - return console.log("Aborting...") + return logger.out("Aborting...") } const currentAdmin = await hre.ethers.getSigner(taskArguments.currentAdmin) - await transferAccountOwnership(currentAdmin, taskArguments.newAdmin, hre) + const addresses = await getAddresses(hre) - await changeProxiesAdmin(currentAdmin, taskArguments.newAdmin, hre) + await transferAccountOwnership(currentAdmin, taskArguments.newAdmin, addresses, hre) + + await changeProxiesAdmin(currentAdmin, taskArguments.newAdmin, addresses, hre) } catch (error) { logger.out(error, logger.Level.Error) } finally { - console.log("Done.") + logger.out("Done.") } }) async function transferAccountOwnership( currentAdmin: SignerWithAddress, newAdmin: string, + addresses: AddressObj, hre: HardhatRuntimeEnvironment ) { try { const ownershipFacet = OwnershipFacet__factory.connect(addresses.accounts.diamond, currentAdmin) const tx = await ownershipFacet.transferOwnership(newAdmin) await hre.ethers.provider.waitForTransaction(tx.hash) - console.log("Transferred Account diamond ownership.") + logger.out("Transferred Account diamond ownership.") } catch (error) { logger.out(`Failed to change admin for Account diamond, reason: ${error}`, logger.Level.Error) } } -async function changeProxiesAdmin(currentAdmin: SignerWithAddress, taskArguments: any, hre: HardhatRuntimeEnvironment) { +async function changeProxiesAdmin( + currentAdmin: SignerWithAddress, + taskArguments: any, + addresses: AddressObj, + hre: HardhatRuntimeEnvironment +) { console.log("Reading proxy contract addresses...") const proxies = extractProxyContractAddresses("", addresses) @@ -52,7 +59,7 @@ async function changeProxiesAdmin(currentAdmin: SignerWithAddress, taskArguments const upgradeableProxy = ITransparentUpgradeableProxy__factory.connect(proxy.address, currentAdmin) const tx = await upgradeableProxy.changeAdmin(taskArguments.newAdmin) await hre.ethers.provider.waitForTransaction(tx.hash) - console.log(`Changed admin for ${proxy.name}.`) + logger.out(`Changed admin for ${proxy.name}.`) } catch (error) { logger.out(`Failed to change admin for ${proxy.name}, reason: ${error}`, logger.Level.Error) } diff --git a/tasks/manage/changeOwner.ts b/tasks/manage/changeOwner.ts index 57b559738..4fa98dd26 100644 --- a/tasks/manage/changeOwner.ts +++ b/tasks/manage/changeOwner.ts @@ -1,29 +1,28 @@ import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers" import { task } from "hardhat/config" import type { TaskArguments } from "hardhat/types" -import addresses from "contract-address.json" -import { IndexFund } from "typechain-types" +import { getAddresses } from "utils" +import { IndexFund, IndexFund__factory } from "typechain-types" +import { logger } from "utils" task( "manage:changeOwner", "Will update the owner of the specified contract" ).setAction(async (_taskArguments: TaskArguments, hre) => { try { + const addresses = await getAddresses(hre) let deployer: SignerWithAddress - ;[deployer] = await hre.ethers.getSigners() - const indexfund = (await hre.ethers.getContractAt( - "IndexFund", - addresses.indexFundAddress.indexFundProxy - )) as IndexFund + [deployer] = await hre.ethers.getSigners() + const indexfund = IndexFund__factory.connect(addresses.indexFund.proxy, deployer) - console.log("Current owner:") + logger.out("Current owner:") let currentConfig = await indexfund.queryConfig() - console.log(currentConfig.owner) + logger.out(currentConfig.owner) - console.log("Changing owner to:") - console.log(addresses.multiSig.APTeamMultiSigProxy) - // await indexfund.connect(deployer).updateOwner(addresses.multiSig.APTeamMultiSigProxy) + logger.out("Changing owner to:") + logger.out(addresses.multiSig.apTeam.proxy) + await indexfund.updateOwner(addresses.multiSig.apTeam.proxy) } catch (error) { - console.log(error) + logger.out(error, logger.Level.Error) } }) diff --git a/tasks/manage/createCharityEndowment.ts b/tasks/manage/createCharityEndowment.ts index 8a32ad6b1..9cd350cb0 100644 --- a/tasks/manage/createCharityEndowment.ts +++ b/tasks/manage/createCharityEndowment.ts @@ -1,9 +1,8 @@ import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers" import { task } from "hardhat/config" -import addresses from "contract-address.json" -import { AccountsCreateEndowment, AccountsQueryEndowments, MultiSigGeneric, Registrar } from "typechain-types" +import { AccountsCreateEndowment, AccountsQueryEndowments, MultiSigGeneric } from "typechain-types" import { AccountMessages } from "typechain-types/contracts/core/accounts/IAccounts" -import { genWallet } from "utils" +import { genWallet, getAddresses, logger } from "utils" task("manage:createCharityEndowment", "Will create a new charity endowment").setAction( async (_taskArguments, hre) => { @@ -15,7 +14,7 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set [deployer, apTeam1, apTeam2, apTeam3] = await hre.ethers.getSigners() - + const addresses = await getAddresses(hre) let createEndowmentFacet = await hre.ethers.getContractAt( "AccountsCreateEndowment", @@ -29,12 +28,12 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set // .connect(addresses.accounts.diamond, apTeam1) // let config = await queryEndowmentFacet.queryConfig() - // console.log(config) + // logger.out(config) // let endowmentDetails = await queryEndowmentFacet.queryEndowmentDetails(0) - // console.log(endowmentDetails) + // logger.out(endowmentDetails) - console.log("Generating new wallet as owner") + logger.out("Generating new wallet as owner") let wallet = genWallet(true) let endowState = await queryEndowmentFacet.queryEndowmentDetails(37) // Charity #1 @@ -50,12 +49,11 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set general: [] }, tier: 3, - endow_type: 0, // Charity + endowType: 0, // Charity logo: "", image: "", - cw4_members: [wallet.address, endowState.owner], - kycDonorsOnly: false, - cw3Threshold: { + members: [wallet.address, endowState.owner], + threshold: { enumData: 0, data: { weight: 0, @@ -64,15 +62,15 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set quorum: 1 } }, - cw3MaxVotingPeriod: { + maxVotingPeriod: { enumData: 0, data: { height: 0, time: 0 } }, - whitelistedBeneficiaries: [wallet.address, apTeam2.address], - whitelistedContributors: [wallet.address, apTeam2.address], + allowlistedBeneficiaries: [wallet.address, apTeam2.address], + allowlistedContributors: [wallet.address, apTeam2.address], splitMax: 100, splitMin: 0, splitDefault: 50, @@ -91,7 +89,7 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set feePercentage: 2, active: true }, - aumFee: { + balanceFee: { payoutAddress: apTeam1.address, feePercentage: 2, active: true @@ -107,7 +105,7 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set token: { token: 0, data: { - existingCw20Data: apTeam1.address, + existingData: apTeam1.address, newCw20InitialSupply: 0, newCw20Name: "", newCw20Symbol: "", @@ -133,8 +131,6 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set proposalLink: 0, settingsController: { endowmentController: { - ownerControlled: false, - govControlled: false, modifiableAfterInit: true, delegate: { Addr: apTeam1.address, @@ -142,35 +138,27 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set } }, strategies: { - ownerControlled: false, - govControlled: false, modifiableAfterInit: true, delegate: { Addr: apTeam1.address, expires: 0 } }, - whitelistedBeneficiaries: { - ownerControlled: false, - govControlled: false, + allowlistedBeneficiaries: { modifiableAfterInit: true, delegate: { Addr: apTeam1.address, expires: 0 } }, - whitelistedContributors: { - ownerControlled: false, - govControlled: false, + allowlistedContributors: { modifiableAfterInit: true, delegate: { Addr: apTeam1.address, expires: 0 } }, - maturityWhitelist: { - ownerControlled: false, - govControlled: false, + maturityAllowlist: { modifiableAfterInit: true, delegate: { Addr: apTeam1.address, @@ -178,8 +166,6 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set } }, maturityTime: { - ownerControlled: false, - govControlled: false, modifiableAfterInit: true, delegate: { Addr: apTeam1.address, @@ -187,8 +173,6 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set } }, profile: { - ownerControlled: false, - govControlled: false, modifiableAfterInit: true, delegate: { Addr: apTeam1.address, @@ -196,8 +180,6 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set } }, earningsFee: { - ownerControlled: false, - govControlled: false, modifiableAfterInit: true, delegate: { Addr: apTeam1.address, @@ -205,8 +187,6 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set } }, withdrawFee: { - ownerControlled: false, - govControlled: false, modifiableAfterInit: true, delegate: { Addr: apTeam1.address, @@ -214,26 +194,13 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set } }, depositFee: { - ownerControlled: false, - govControlled: false, - modifiableAfterInit: true, - delegate: { - Addr: apTeam1.address, - expires: 0 - } - }, - aumFee: { - ownerControlled: false, - govControlled: false, modifiableAfterInit: true, delegate: { Addr: apTeam1.address, expires: 0 } }, - kycDonorsOnly: { - ownerControlled: false, - govControlled: false, + balanceFee: { modifiableAfterInit: true, delegate: { Addr: apTeam1.address, @@ -241,8 +208,6 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set } }, name: { - ownerControlled: false, - govControlled: false, modifiableAfterInit: true, delegate: { Addr: apTeam1.address, @@ -250,8 +215,6 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set } }, image: { - ownerControlled: false, - govControlled: false, modifiableAfterInit: true, delegate: { Addr: apTeam1.address, @@ -259,8 +222,6 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set } }, logo: { - ownerControlled: false, - govControlled: false, modifiableAfterInit: true, delegate: { Addr: apTeam1.address, @@ -268,8 +229,6 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set } }, categories: { - ownerControlled: false, - govControlled: false, modifiableAfterInit: true, delegate: { Addr: apTeam1.address, @@ -277,8 +236,6 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set } }, splitToLiquid: { - ownerControlled: false, - govControlled: false, modifiableAfterInit: true, delegate: { Addr: apTeam1.address, @@ -286,8 +243,6 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set } }, ignoreUserSplits: { - ownerControlled: false, - govControlled: false, modifiableAfterInit: true, delegate: { Addr: apTeam1.address, @@ -296,7 +251,7 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set } }, parent: 0, - maturityWhitelist: [wallet.address, apTeam2.address], + maturityAllowlist: [wallet.address, apTeam2.address], ignoreUserSplits: false, splitToLiquid: { max: 100, @@ -310,11 +265,11 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set for (let i=1; i<1000; i++) { try { let endowState = await queryEndowmentFacet.queryEndowmentDetails(i) - console.log(i, endowState.name, endowState.owner) + logger.out(`${i} ${endowState.name} ${endowState.owner}`) let multisig = await hre.ethers.getContractAt("MultiSigGeneric", endowState.owner) as MultiSigGeneric for (let j=0; i<50; j++){ try { - console.log(await multisig.owners(j)) + logger.out(await multisig.owners(j)) } catch(error) { break @@ -322,13 +277,13 @@ task("manage:createCharityEndowment", "Will create a new charity endowment").set } } catch(error) { - console.log(error) + logger.out(error, logger.Level.Error) return } } } catch (error) { - console.log(error) + logger.out(error, logger.Level.Error) } } ) diff --git a/tasks/manage/createIndexFund.ts b/tasks/manage/createIndexFund.ts index 7571300b4..ad1134c7f 100644 --- a/tasks/manage/createIndexFund.ts +++ b/tasks/manage/createIndexFund.ts @@ -1,8 +1,8 @@ import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers" import { BytesLike } from "ethers" import { task } from "hardhat/config" -import addresses from "contract-address.json" import { IndexFund, MultiSigGeneric } from "typechain-types" +import { getAddresses, logger } from "utils" task("manage:createIndexFund", "Will create a new index fund").setAction( async (_taskArguments, hre) => { @@ -14,14 +14,16 @@ task("manage:createIndexFund", "Will create a new index fund").setAction( ;[deployer, apTeam1, apTeam2, apTeam3] = await hre.ethers.getSigners() + const addresses = await getAddresses(hre) + const multisig = (await hre.ethers.getContractAt( "MultiSigGeneric", - addresses.multiSig.APTeamMultiSigProxy + addresses.multiSig.apTeam.proxy )) as MultiSigGeneric const indexfund = (await hre.ethers.getContractAt( "IndexFund", - addresses.indexFundAddress.indexFundProxy + addresses.indexFund.proxy )) as IndexFund const { data } = @@ -43,24 +45,25 @@ task("manage:createIndexFund", "Will create a new index fund").setAction( "create a new index fund", indexfund.address, 0, - txData + txData, + "0x" ) await hre.ethers.provider.waitForTransaction(submission.hash) let txId = (await multisig.transactionCount()).sub(1) let confirmations = await multisig.getConfirmations(txId) - console.log(confirmations) + logger.out(confirmations) let execution = await multisig .connect(apTeam2) .executeTransaction(txId) await hre.ethers.provider.waitForTransaction(execution.hash) - console.log(execution) + logger.out(execution) let txDetails = await multisig.transactions(txId) - console.log(txDetails) + logger.out(txDetails) } catch (error) { - console.log(error) + logger.out(error, logger.Level.Error) } } ) diff --git a/tasks/manage/registrar/setAPParams.ts b/tasks/manage/registrar/setAPParams.ts index c516aea94..03b23ab1f 100644 --- a/tasks/manage/registrar/setAPParams.ts +++ b/tasks/manage/registrar/setAPParams.ts @@ -1,8 +1,7 @@ import { task, types } from "hardhat/config" -import type { TaskArguments } from "hardhat/types"; -import { Registrar, Registrar__factory } from "typechain-types" -import { logger } from "utils" -import * as fs from "fs" +import type { TaskArguments } from "hardhat/types" +import { Registrar } from "typechain-types" +import { getAddresses, logger } from "utils" const NULL_NUMBER = 0 const NULL_STRING = "" @@ -17,10 +16,8 @@ task("manage:registrar:setAPParams", "Set any or all of the AP params. This task logger.divider() logger.out("Connecting to registrar on specified network...") - const network = await hre.ethers.provider.getNetwork() - let rawdata = fs.readFileSync('address.json', "utf8") - let addresses: any = JSON.parse(rawdata) - const registrarAddress = addresses[network.chainId]["registrar"]["proxy"] + const addresses = await getAddresses(hre) + const registrarAddress = addresses["registrar"]["proxy"] const registrar = await hre.ethers.getContractAt("Registrar",registrarAddress) as Registrar logger.pad(50, "Connected to Registrar at: ", registrar.address) diff --git a/tasks/manage/registrar/setAccountsChainAndAddress.ts b/tasks/manage/registrar/setAccountsChainAndAddress.ts index 054ee4dfe..af58e5d8b 100644 --- a/tasks/manage/registrar/setAccountsChainAndAddress.ts +++ b/tasks/manage/registrar/setAccountsChainAndAddress.ts @@ -1,9 +1,7 @@ import { task, types } from "hardhat/config" -import type { TaskArguments } from "hardhat/types"; -import { Registrar, Registrar__factory } from "typechain-types" -import { logger } from "utils" -import * as fs from "fs" -import { BigNumber } from "ethers"; +import type { TaskArguments } from "hardhat/types" +import { Registrar } from "typechain-types" +import { getAddresses, logger } from "utils" task("manage:registrar:setAccountsChainAndAddress") .addParam("chainName", "The Axelar blockchain name of the accounts contract", "", types.string) @@ -12,10 +10,8 @@ task("manage:registrar:setAccountsChainAndAddress") logger.divider() logger.out("Connecting to registrar on specified network...") - const network = await hre.ethers.provider.getNetwork() - let rawdata = fs.readFileSync('address.json', "utf8") - let addresses: any = JSON.parse(rawdata) - const registrarAddress = addresses[network.chainId]["registrar"]["proxy"] + const addresses = await getAddresses(hre) + const registrarAddress = addresses["registrar"]["proxy"] const registrar = await hre.ethers.getContractAt("Registrar",registrarAddress) as Registrar logger.pad(50, "Connected to Registrar at: ", registrar.address) diff --git a/tasks/manage/registrar/setGasByToken.ts b/tasks/manage/registrar/setGasByToken.ts index 6aad57884..529d4ed01 100644 --- a/tasks/manage/registrar/setGasByToken.ts +++ b/tasks/manage/registrar/setGasByToken.ts @@ -1,9 +1,8 @@ +import { BigNumber } from "ethers" import { task, types } from "hardhat/config" -import type { TaskArguments } from "hardhat/types"; -import { Registrar, Registrar__factory } from "typechain-types" -import { logger } from "utils" -import * as fs from "fs" -import { BigNumber } from "ethers"; +import type { TaskArguments } from "hardhat/types" +import { Registrar } from "typechain-types" +import { getAddresses, logger } from "utils" task("manage:registrar:setGasByToken") .addParam("tokenAddress", "Address of the token", "", types.string) @@ -12,10 +11,8 @@ task("manage:registrar:setGasByToken") logger.divider() logger.out("Connecting to registrar on specified network...") - const network = await hre.ethers.provider.getNetwork() - let rawdata = fs.readFileSync('address.json', "utf8") - let addresses: any = JSON.parse(rawdata) - const registrarAddress = addresses[network.chainId]["registrar"]["proxy"] + const addresses = await getAddresses(hre) + const registrarAddress = addresses["registrar"]["proxy"] const registrar = await hre.ethers.getContractAt("Registrar",registrarAddress) as Registrar logger.pad(50, "Connected to Registrar at: ", registrar.address) diff --git a/tasks/manage/registrar/setRebalParams.ts b/tasks/manage/registrar/setRebalParams.ts index 627e80379..6e13f8df8 100644 --- a/tasks/manage/registrar/setRebalParams.ts +++ b/tasks/manage/registrar/setRebalParams.ts @@ -1,8 +1,7 @@ import { task, types } from "hardhat/config" -import type { TaskArguments } from "hardhat/types"; -import { Registrar, Registrar__factory } from "typechain-types" -import { logger } from "utils" -import * as fs from "fs" +import type { TaskArguments } from "hardhat/types" +import { Registrar } from "typechain-types" +import { getAddresses, logger } from "utils" const NULL_NUMBER = 0 const NULL_STRING = "" @@ -19,10 +18,8 @@ task("manage:registrar:setRebalParams") logger.divider() logger.out("Connecting to registrar on specified network...") - const network = await hre.ethers.provider.getNetwork() - let rawdata = fs.readFileSync('address.json', "utf8") - let addresses: any = JSON.parse(rawdata) - const registrarAddress = addresses[network.chainId]["registrar"]["proxy"] + const addresses = await getAddresses(hre) + const registrarAddress = addresses["registrar"]["proxy"] const registrar = await hre.ethers.getContractAt("Registrar",registrarAddress) as Registrar logger.pad(50, "Connected to Registrar at: ", registrar.address) diff --git a/tasks/manage/registrar/setStratApproval.ts b/tasks/manage/registrar/setStratApproval.ts index f8bb6d502..017573fb2 100644 --- a/tasks/manage/registrar/setStratApproval.ts +++ b/tasks/manage/registrar/setStratApproval.ts @@ -1,8 +1,7 @@ import { task, types } from "hardhat/config" -import type { TaskArguments } from "hardhat/types"; -import { Registrar, Registrar__factory } from "typechain-types" -import { logger } from "utils" -import * as fs from "fs" +import type { TaskArguments } from "hardhat/types" +import { Registrar } from "typechain-types" +import { getAddresses, logger } from "utils" task("manage:registrar:setStratApproval") .addParam("strategySelector", "The 4-byte unique ID of the strategy, set by bytes4(keccack256('StrategyName'))", "", types.string) @@ -11,10 +10,8 @@ task("manage:registrar:setStratApproval") logger.divider() logger.out("Connecting to registrar on specified network...") - const network = await hre.ethers.provider.getNetwork() - let rawdata = fs.readFileSync('address.json', "utf8") - let addresses: any = JSON.parse(rawdata) - const registrarAddress = addresses[network.chainId]["registrar"]["proxy"] + const addresses = await getAddresses(hre) + const registrarAddress = addresses["registrar"]["proxy"] const registrar = await hre.ethers.getContractAt("Registrar",registrarAddress) as Registrar logger.pad(50, "Connected to Registrar at: ", registrar.address) diff --git a/tasks/manage/registrar/setStratParams.ts b/tasks/manage/registrar/setStratParams.ts index 00f372244..1eaddc2cc 100644 --- a/tasks/manage/registrar/setStratParams.ts +++ b/tasks/manage/registrar/setStratParams.ts @@ -1,8 +1,7 @@ import { task, types } from "hardhat/config" -import type { TaskArguments } from "hardhat/types"; -import { Registrar, Registrar__factory } from "typechain-types" -import { logger } from "utils" -import * as fs from "fs" +import type { TaskArguments } from "hardhat/types" +import { Registrar } from "typechain-types" +import { getAddresses, logger } from "utils" task("manage:registrar:setStratParams") .addParam("strategySelector", "The 4-byte unique ID of the strategy, set by bytes4(keccack256('StrategyName'))", "", types.string) @@ -14,10 +13,8 @@ task("manage:registrar:setStratParams") logger.divider() logger.out("Connecting to registrar on specified network...") - const network = await hre.ethers.provider.getNetwork() - let rawdata = fs.readFileSync('address.json', "utf8") - let addresses: any = JSON.parse(rawdata) - const registrarAddress = addresses[network.chainId]["registrar"]["proxy"] + const addresses = await getAddresses(hre) + const registrarAddress = addresses["registrar"]["proxy"] const registrar = await hre.ethers.getContractAt("Registrar",registrarAddress) as Registrar logger.pad(50, "Connected to Registrar at: ", registrar.address) diff --git a/tasks/manage/registrar/setTokenAccepted.ts b/tasks/manage/registrar/setTokenAccepted.ts index 0ff73c872..8a50c3290 100644 --- a/tasks/manage/registrar/setTokenAccepted.ts +++ b/tasks/manage/registrar/setTokenAccepted.ts @@ -1,8 +1,7 @@ import { task, types } from "hardhat/config" -import type { TaskArguments } from "hardhat/types"; -import { Registrar, Registrar__factory } from "typechain-types" -import { logger } from "utils" -import * as fs from "fs" +import type { TaskArguments } from "hardhat/types" +import { Registrar } from "typechain-types" +import { getAddresses, logger } from "utils" task("manage:registrar:setTokenAccepted") .addParam("tokenAddress", "Address of the token", "", types.string) @@ -11,10 +10,8 @@ task("manage:registrar:setTokenAccepted") logger.divider() logger.out("Connecting to registrar on specified network...") - const network = await hre.ethers.provider.getNetwork() - let rawdata = fs.readFileSync('address.json', "utf8") - let addresses: any = JSON.parse(rawdata) - const registrarAddress = addresses[network.chainId]["registrar"]["proxy"] + const addresses = await getAddresses(hre) + const registrarAddress = addresses["registrar"]["proxy"] const registrar = await hre.ethers.getContractAt("Registrar",registrarAddress) as Registrar logger.pad(50, "Connected to Registrar at: ", registrar.address) diff --git a/tasks/manage/updateRegistrar.ts b/tasks/manage/updateRegistrar.ts index f895679cd..85bff4e8c 100644 --- a/tasks/manage/updateRegistrar.ts +++ b/tasks/manage/updateRegistrar.ts @@ -1,75 +1,73 @@ +import config from "config" import { task } from "hardhat/config" import type { TaskArguments } from "hardhat/types" -import config from "config" -import addresses from "contract-address.json" import { Registrar } from "typechain-types" -import { RegistrarMessages } from "typechain-types/contracts/core/registrar/interface/IRegistrar" -import { multisigs } from "typechain-types/contracts" +import { RegistrarMessages } from "typechain-types/contracts/core/registrar/interfaces/IRegistrar" +import { ADDRESS_ZERO, getAddresses, logger } from "utils" task("manage:updateRegistrar", "Will update the registrar config") .setAction(async (taskArguments: TaskArguments, hre) => { try { - let [deployer, apTeam1] = await hre.ethers.getSigners() + let [deployer, proxyAdmin, apTeam1] = await hre.ethers.getSigners() + + const addresses = await getAddresses(hre) const registrar = (await hre.ethers.getContractAt( "Registrar", - addresses.registrar.registrarProxy + addresses.registrar.proxy )) as Registrar - console.log("Current config") + logger.out("Current config") let currentConfig = await registrar.queryConfig() - console.log(currentConfig) + logger.out(currentConfig) let newConfig: RegistrarMessages.UpdateConfigRequestStruct = { accountsContract: addresses.accounts.diamond, - taxRate: config.REGISTRAR_DATA.taxRate, - rebalance: config.REGISTRAR_DATA.rebalance, approved_charities: [], splitMax: config.REGISTRAR_DATA.splitToLiquid.max, splitMin: config.REGISTRAR_DATA.splitToLiquid.min, splitDefault: config.REGISTRAR_DATA.splitToLiquid.defaultSplit, - collectorShare: 1, - acceptedTokens: config.REGISTRAR_DATA.acceptedTokens, - subdaoGovCode: apTeam1.address, // subdao gov wasm code - subdaoCw20TokenCode: apTeam1.address, // subdao gov token (basic CW20) wasm code - subdaoBondingTokenCode: apTeam1.address, // subdao gov token (w/ bonding-curve) wasm code - subdaoCw900Code: apTeam1.address, // subdao gov ve-CURVE contract for locked token voting - subdaoDistributorCode: apTeam1.address, // subdao gov fee distributor wasm code - subdaoEmitter: apTeam1.address, - donationMatchCode: apTeam1.address, // donation matching contract wasm code + collectorShare: config.REGISTRAR_UPDATE_CONFIG.collectorShare, + subdaoGovContract: addresses.subDao.implementation, // subdao gov + subdaoTokenContract: addresses.subDao.token, // subdao gov token (basic CW20) + subdaoBondingTokenContract: addresses.subDao.veBondingToken, // subdao gov token (w/ bonding-curve) + subdaoCw900Contract: addresses.incentivisedVotingLockup.implementation, // subdao gov ve-CURVE contract for locked token voting + subdaoDistributorContract: apTeam1.address, // subdao gov fee distributor + subdaoEmitter: addresses.subDao.emitter.proxy, + donationMatchContract: addresses.donationMatch.implementation, // donation matching contract // CONTRACT ADSRESSES - indexFundContract: addresses.indexFundAddress.indexFundProxy, + indexFundContract: addresses.indexFund.proxy, govContract: apTeam1.address, - treasury: apTeam1.address, - donationMatchCharitesContract: addresses.HaloImplementations.DonationMatchAddress.DonationMatchProxy, - donationMatchEmitter: apTeam1.address, + treasury: config.REGISTRAR_DATA.treasury, + donationMatchCharitesContract: addresses.donationMatchCharity.proxy, + donationMatchEmitter: ADDRESS_ZERO, haloToken: apTeam1.address, - haloTokenLpContract: apTeam1.address, + haloTokenLpContract: config.REGISTRAR_UPDATE_CONFIG.haloTokenLpContract, charitySharesContract: apTeam1.address, fundraisingContract: apTeam1.address, - applicationsReview: apTeam1.address, - swapsRouter: apTeam1.address, + applicationsReview: addresses.multiSig.applications.proxy, + swapsRouter: addresses.swapRouter.proxy, multisigFactory: - addresses.EndowmentMultiSigAddress.MultiSigWalletFactory, + addresses.multiSig.endowment.factory, multisigEmitter: - addresses.EndowmentMultiSigAddress - .EndowmentMultiSigEmitterProxy, - charityProposal: addresses.charityApplication.CharityApplicationProxy, - lockedWithdrawal: addresses.lockedWithdraw.LockedWithdrawProxy, - proxyAdmin: deployer.address, - usdcAddress: addresses.Tokens.usdc, - wethAddress: addresses.Tokens.weth, + addresses.multiSig.endowment + .emitter.proxy, + charityProposal: ADDRESS_ZERO, + proxyAdmin: proxyAdmin.address, + usdcAddress: config.REGISTRAR_UPDATE_CONFIG.usdcAddress, + wethAddress: config.REGISTRAR_UPDATE_CONFIG.wethAddress, cw900lvAddress: apTeam1.address, - } + lockedWithdrawal: ADDRESS_ZERO, + } let tx = await registrar.updateConfig(newConfig) await hre.ethers.provider.waitForTransaction(tx.hash) let updatedConfig = await registrar.queryConfig() - console.log(updatedConfig) + logger.out(updatedConfig) } catch (error) { - console.log(error) + logger.out(error, logger.Level.Error) } }) diff --git a/tasks/manage/verifyRegistrar.ts b/tasks/manage/verifyRegistrar.ts index e2001171d..6bf3674af 100644 --- a/tasks/manage/verifyRegistrar.ts +++ b/tasks/manage/verifyRegistrar.ts @@ -1,8 +1,7 @@ import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers" import { task } from "hardhat/config" -import addresses from "contract-address.json" import { Registrar } from "typechain-types" -import { AccountMessages } from "typechain-types/contracts/core/accounts/IAccounts" +import { getAddresses, logger } from "utils" task("manage:verifyRegistrar", "Will create a new charity endowment").setAction( async (_taskArguments, hre) => { @@ -14,20 +13,22 @@ task("manage:verifyRegistrar", "Will create a new charity endowment").setAction( [deployer, apTeam1, apTeam2, apTeam3] = await hre.ethers.getSigners() + const addresses = await getAddresses(hre) + let registrar = await hre.ethers.getContractAt( "Registrar", - addresses.registrar.registrarProxy) as Registrar + addresses.registrar.proxy) as Registrar let registrarConfig = await registrar.queryConfig() - console.log("Registrar owner:", registrarConfig.owner) + logger.out(`Registrar owner: ${registrarConfig.owner}`) await hre.run("verify:verify", { - address: addresses.registrar.registrarImplementation, + address: addresses.registrar.implementation, constructorArguments: [], }) } catch (error) { - console.log(error) + logger.out(error, logger.Level.Error) } } ) diff --git a/tasks/upgrade/upgradeCharityApplication.ts b/tasks/upgrade/upgradeCharityApplication.ts index 532e27c0d..af980b69f 100644 --- a/tasks/upgrade/upgradeCharityApplication.ts +++ b/tasks/upgrade/upgradeCharityApplication.ts @@ -1,8 +1,6 @@ -import addresses from "contract-address.json" import { task } from "hardhat/config" -import { saveFrontendFiles } from "scripts/readWriteFile" import { CharityApplication__factory } from "typechain-types" -import { logger, shouldVerify } from "utils" +import { logger, updateAddresses, shouldVerify } from "utils" task( "upgrade:upgradeCharityApplication", @@ -32,9 +30,7 @@ task( logger.out(`Deployed CharityApplication at: ${charityApplicationImpl.address}`) logger.out("Saving the new implementation address to JSON file...") - const { charityApplication } = addresses - charityApplication.CharityApplicationImplementation = charityApplicationImpl.address - await saveFrontendFiles({ charityApplication }) + await updateAddresses({ charityApplication: { implementation: charityApplicationImpl.address } }, hre) if (shouldVerify(hre.network)) { logger.out("Verifying CharityApplication implementation...") diff --git a/tasks/upgrade/upgradeContractsUsingAccountStorage.ts b/tasks/upgrade/upgradeContractsUsingAccountStorage.ts index 55ab47460..a60a6236d 100644 --- a/tasks/upgrade/upgradeContractsUsingAccountStorage.ts +++ b/tasks/upgrade/upgradeContractsUsingAccountStorage.ts @@ -6,14 +6,11 @@ import { AccountsCreateEndowment__factory, AccountsDAOEndowments__factory, AccountsQueryEndowments__factory, - AccountsStrategiesCopyEndowments__factory, - AccountsStrategiesUpdateEndowments__factory, AccountsSwapEndowments__factory, AccountsUpdateEndowmentSettingsController__factory, AccountsUpdateEndowments__factory, AccountsUpdateStatusEndowments__factory, AccountsVaultFacet__factory, - AxelarExecutionContract__factory, } from "typechain-types" import { getContractName, logger } from "utils" @@ -36,14 +33,11 @@ const facets: string[] = [ getContractName(AccountsAllowance__factory), getContractName(AccountsDAOEndowments__factory), getContractName(AccountDonationMatch__factory), - getContractName(AccountsStrategiesCopyEndowments__factory), getContractName(AccountsCreateEndowment__factory), getContractName(AccountsQueryEndowments__factory), getContractName(AccountsSwapEndowments__factory), getContractName(AccountsUpdateEndowments__factory), getContractName(AccountsUpdateEndowmentSettingsController__factory), - getContractName(AxelarExecutionContract__factory), - getContractName(AccountsStrategiesUpdateEndowments__factory), getContractName(AccountsUpdateStatusEndowments__factory), getContractName(AccountDepositWithdrawEndowments__factory), getContractName(AccountsVaultFacet__factory), diff --git a/tasks/upgrade/upgradeEndowmentMultiSig.ts b/tasks/upgrade/upgradeEndowmentMultiSig.ts index 6d61db0e2..14074543a 100644 --- a/tasks/upgrade/upgradeEndowmentMultiSig.ts +++ b/tasks/upgrade/upgradeEndowmentMultiSig.ts @@ -1,6 +1,5 @@ -import addresses from "contract-address.json" import { task } from "hardhat/config" -import { saveFrontendFiles } from "scripts/readWriteFile" +import { getAddresses, updateAddresses } from "utils" import { EndowmentMultiSig__factory, MultiSigWalletFactory__factory } from "typechain-types" import { logger, shouldVerify } from "utils" @@ -9,9 +8,11 @@ task( "Will upgrade the implementation of the EndowmentMultiSig contracts" ).setAction(async (_taskArguments, hre) => { try { + logger.out("Deploying a new EndowmentMultiSig contract...") + const [_deployer, proxyAdmin] = await hre.ethers.getSigners() - logger.out("Deploying a new EndowmentMultiSig contract...") + const addresses = await getAddresses(hre) const factory = new EndowmentMultiSig__factory(proxyAdmin) const contract = await factory.deploy() @@ -22,7 +23,7 @@ task( logger.out(`Upgrading EndowmentMultiSig implementation address inside MultiSigWalletFactory...`) const multisigWalletFactory = MultiSigWalletFactory__factory.connect( - addresses.EndowmentMultiSigAddress.MultiSigWalletFactory, + addresses.multiSig.endowment.factory, proxyAdmin ) const tx = await multisigWalletFactory.updateImplementation(contract.address) @@ -35,9 +36,7 @@ task( logger.out("Saving the new implementation address to JSON file...") - const EndowmentMultiSigAddress = { ...addresses.EndowmentMultiSigAddress } - EndowmentMultiSigAddress.MultiSigWalletImplementation = contract.address - await saveFrontendFiles({ EndowmentMultiSigAddress }) + await updateAddresses({ multiSig: { endowment: { implementation: contract.address } } }, hre) if (shouldVerify(hre.network)) { logger.out("Verifying the contract...") diff --git a/tasks/upgrade/upgradeFacets/createFacetCuts.ts b/tasks/upgrade/upgradeFacets/createFacetCuts.ts deleted file mode 100644 index a4f0924da..000000000 --- a/tasks/upgrade/upgradeFacets/createFacetCuts.ts +++ /dev/null @@ -1,103 +0,0 @@ -import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers" -import { FacetCutAction, getSelectors } from "contracts/core/accounts/scripts/libraries/diamond" -import { DiamondLoupeFacet, DiamondLoupeFacet__factory } from "typechain-types" -import { ADDRESS_ZERO, logger } from "utils" -import { Facet, FacetCut } from "./types" - -export default async function createFacetCuts( - facets: Facet[], - diamondAddress: string, - diamondOwner: SignerWithAddress -): Promise { - logger.out("Creating facet cuts...") - - const facetCuts: FacetCut[] = [] - - const loupe = DiamondLoupeFacet__factory.connect(diamondAddress, diamondOwner) - - for (let i = 0; i < facets.length; i++) { - const facet = facets[i] - - const { toAdd, toRemove, toReplace } = await getFacetSelectors(facet, loupe) - - if (toAdd.length > 0) { - facetCuts.push({ - facetName: facet.name, - cut: { - facetAddress: facet.contract.address, - action: FacetCutAction.Add, - functionSelectors: toAdd, - }, - }) - } - if (toReplace.length > 0) { - facetCuts.push({ - facetName: facet.name, - cut: { - facetAddress: facet.contract.address, - action: FacetCutAction.Replace, - functionSelectors: toReplace, - }, - }) - } - if (toRemove.length > 0) { - facetCuts.push({ - facetName: facet.name, - cut: { - facetAddress: facet.contract.address, - action: FacetCutAction.Remove, - functionSelectors: toRemove, - }, - }) - } - } - - return facetCuts -} - -async function getFacetSelectors( - facet: Facet, - loupe: DiamondLoupeFacet -): Promise<{ toAdd: string[]; toRemove: string[]; toReplace: string[] }> { - const allSelectors = getSelectors(facet.contract) - - const toAdd: string[] = [] - const toReplace: string[] = [] - const toRemove: string[] = [] - - // To get selectors that need to be removed, we need to confirm that the facet itself - // was already added and store its address - let curFacetAddress = "" - - for (let j = 0; j < allSelectors.length; j++) { - const selector = allSelectors[j] - try { - const address = await loupe.facetAddress(selector) - - if (address === ADDRESS_ZERO) { - toAdd.push(selector) - continue - } - - toReplace.push(selector) - if (!curFacetAddress) { - curFacetAddress = address - } - } catch (error) { - logger.out(`Error occurred getting facet address for selector ${selector}, reason: ${error}`) - } - } - - // To get selectors that need to be removed it is enough to go through all the existing selectors - // and remove all those that do not exist in the most recently deployed facet contract - if (!!curFacetAddress) { - const curSelectors = await loupe.facetFunctionSelectors(curFacetAddress) - curSelectors.forEach((curSelector) => { - if (!allSelectors.includes(curSelector)) { - toRemove.push(curSelector) - } - }) - } - - return { toAdd, toRemove, toReplace } -} diff --git a/tasks/upgrade/upgradeFacets/createFacetCuts/createFacetCuts.ts b/tasks/upgrade/upgradeFacets/createFacetCuts/createFacetCuts.ts new file mode 100644 index 000000000..6c4f160d7 --- /dev/null +++ b/tasks/upgrade/upgradeFacets/createFacetCuts/createFacetCuts.ts @@ -0,0 +1,57 @@ +import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers" +import { FacetCutAction } from "contracts/core/accounts/scripts/libraries/diamond" +import { DiamondLoupeFacet__factory } from "typechain-types" +import { logger } from "utils" +import { Facet, FacetCut } from "../types" +import getFacetSelectors from "./getFacetSelectors" + +export default async function createFacetCuts( + facets: Facet[], + diamondAddress: string, + diamondOwner: SignerWithAddress +): Promise { + logger.out("Creating facet cuts...") + + const facetCuts: FacetCut[] = [] + + const loupe = DiamondLoupeFacet__factory.connect(diamondAddress, diamondOwner) + + for (let i = 0; i < facets.length; i++) { + const facet = facets[i] + + const { toAdd, toRemove, toReplace } = await getFacetSelectors(facet, loupe) + + if (toAdd.length > 0) { + facetCuts.push({ + facetName: facet.name, + cut: { + facetAddress: facet.contract.address, + action: FacetCutAction.Add, + functionSelectors: toAdd, + }, + }) + } + if (toReplace.length > 0) { + facetCuts.push({ + facetName: facet.name, + cut: { + facetAddress: facet.contract.address, + action: FacetCutAction.Replace, + functionSelectors: toReplace, + }, + }) + } + if (toRemove.length > 0) { + facetCuts.push({ + facetName: facet.name, + cut: { + facetAddress: facet.contract.address, + action: FacetCutAction.Remove, + functionSelectors: toRemove, + }, + }) + } + } + + return facetCuts +} diff --git a/tasks/upgrade/upgradeFacets/createFacetCuts/getFacetSelectors.ts b/tasks/upgrade/upgradeFacets/createFacetCuts/getFacetSelectors.ts new file mode 100644 index 000000000..4bdda0268 --- /dev/null +++ b/tasks/upgrade/upgradeFacets/createFacetCuts/getFacetSelectors.ts @@ -0,0 +1,56 @@ +import { getSelectors } from "contracts/core/accounts/scripts/libraries/diamond" +import { DiamondLoupeFacet } from "typechain-types" +import { ADDRESS_ZERO, logger } from "utils" +import { Facet } from "../types" + +export default async function getFacetSelectors( + facet: Facet, + loupe: DiamondLoupeFacet +): Promise<{ toAdd: string[]; toRemove: string[]; toReplace: string[] }> { + const allSelectors = getSelectors(facet.contract) + + const toAdd: string[] = [] + const toReplace: string[] = [] + const toRemove: string[] = [] + + // To get selectors that need to be removed, we need to confirm that the facet itself + // was already added and store its address + let curFacetAddress = "" + + // For each selector decide whether it needs to be added or replaced + for (let j = 0; j < allSelectors.length; j++) { + const selector = allSelectors[j] + try { + const address = await loupe.facetAddress(selector) + + // if there's no facet address for a given selector then this is a new selector + if (address === ADDRESS_ZERO) { + toAdd.push(selector) + continue + } + + // if there IS a facet address for a given selector then the appropriate function was updated + toReplace.push(selector) + + // store the existing facet address as it will be necessary for checking which selectors to remove + if (!curFacetAddress) { + curFacetAddress = address + } + } catch (error) { + logger.out(`Error occurred getting facet address for selector ${selector}, reason: ${error}`) + } + } + + // To get selectors that need to be removed it is enough to go through all the existing selectors + // and remove all those that do not exist in the most recently deployed facet contract + if (!!curFacetAddress) { + const curSelectors = await loupe.facetFunctionSelectors(curFacetAddress) + curSelectors.forEach((curSelector) => { + if (!allSelectors.includes(curSelector)) { + toRemove.push(curSelector) + } + }) + } + + return { toAdd, toRemove, toReplace } +} diff --git a/tasks/upgrade/upgradeFacets/createFacetCuts/index.ts b/tasks/upgrade/upgradeFacets/createFacetCuts/index.ts new file mode 100644 index 000000000..14af32ed5 --- /dev/null +++ b/tasks/upgrade/upgradeFacets/createFacetCuts/index.ts @@ -0,0 +1 @@ +export { default } from "./createFacetCuts" diff --git a/tasks/upgrade/upgradeFacets/upgradeFacets.ts b/tasks/upgrade/upgradeFacets/upgradeFacets.ts index b7f1488c4..f010515c3 100644 --- a/tasks/upgrade/upgradeFacets/upgradeFacets.ts +++ b/tasks/upgrade/upgradeFacets/upgradeFacets.ts @@ -1,6 +1,5 @@ -import addresses from "contract-address.json" import { task } from "hardhat/config" -import { confirmAction, logger, shouldVerify } from "utils" +import { confirmAction, getAddresses, logger, shouldVerify } from "utils" import createFacetCuts from "./createFacetCuts" import cutDiamond from "./cutDiamond" import deployFacets from "./deployFacets" @@ -21,6 +20,8 @@ task("upgrade:upgradeFacets", "Will redeploy and upgrade all facets that use Acc const [_deployer, proxyAdmin] = await hre.ethers.getSigners() + const addresses = await getAddresses(hre) + const facets = await deployFacets( taskArguments.facets, proxyAdmin, diff --git a/tasks/upgrade/upgradeMultisigs.ts b/tasks/upgrade/upgradeMultisigs.ts index 81d64a83a..93a687e3b 100644 --- a/tasks/upgrade/upgradeMultisigs.ts +++ b/tasks/upgrade/upgradeMultisigs.ts @@ -1,7 +1,6 @@ import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers" -import addresses from "contract-address.json" import { task } from "hardhat/config" -import { saveFrontendFiles } from "scripts/readWriteFile" +import { getAddresses, updateAddresses } from "utils" import { APTeamMultiSig__factory, ApplicationsMultiSig__factory, @@ -16,6 +15,8 @@ task("upgrade:upgradeMultisig", "Will upgrade the implementation of the AP Team let proxyAdmin: SignerWithAddress ;[deployer, proxyAdmin] = await hre.ethers.getSigners() + const addresses = await getAddresses(hre) + let IMPLEMENTATION_ADDRESS_SLOT = "0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc" // Get the new Multisig Factories @@ -29,25 +30,25 @@ task("upgrade:upgradeMultisig", "Will upgrade the implementation of the AP Team // Connect to the Proxy contracts const APTeamProxy = ITransparentUpgradeableProxy__factory.connect( - addresses.multiSig.APTeamMultiSigProxy, + addresses.multiSig.apTeam.proxy, proxyAdmin ) const ApplicationsProxy = ITransparentUpgradeableProxy__factory.connect( - addresses.multiSig.ApplicationsMultiSigProxy, + addresses.multiSig.applications.proxy, proxyAdmin ) // Confirm that the proxy is pointed to the new implementation let currentAPImpl = await hre.ethers.provider.getStorageAt(APTeamProxy.address, IMPLEMENTATION_ADDRESS_SLOT) - console.log("Current AP Team Impl: ", currentAPImpl) - console.log("For proxy at: ", APTeamProxy.address) + logger.out(`Current AP Team Impl: ${currentAPImpl}`) + logger.out(`For proxy at: ${APTeamProxy.address}`) let currentAppsImpl = await hre.ethers.provider.getStorageAt( ApplicationsProxy.address, IMPLEMENTATION_ADDRESS_SLOT ) - console.log("Current Apps impl: ", currentAppsImpl) - console.log("For proxy at: ", ApplicationsProxy.address) + logger.out(`Current Apps impl: ${currentAppsImpl}`) + logger.out(`For proxy at: ${ApplicationsProxy.address}`) // Send the upgrade call and wait for the tx to be finalized logger.out("Upgrading APTeamMultiSig proxy implementation...") @@ -62,22 +63,28 @@ task("upgrade:upgradeMultisig", "Will upgrade the implementation of the AP Team // Confirm that the proxy is pointed to the new implementation let newAPImpl = await hre.ethers.provider.getStorageAt(APTeamProxy.address, IMPLEMENTATION_ADDRESS_SLOT) - console.log("New AP Team Impl: ", newAPImpl) + logger.out(`New AP Team Impl: ${newAPImpl}`) let newAppsImpl = await hre.ethers.provider.getStorageAt( ApplicationsProxy.address, IMPLEMENTATION_ADDRESS_SLOT ) - console.log("New Apps impl: ", newAppsImpl) + logger.out(`New Apps impl: ${newAppsImpl}`) logger.out("Saving the new implementation address to JSON file...") - let multiSig = { - ApplicationsMultiSigProxy: ApplicationsProxy.address, - APTeamMultiSigProxy: APTeamProxy.address, - ApplicationMultisigImplementation: appsMultisigImpl.address, - APTeamMultisigImplementation: apMultisigImpl.address, - } - await saveFrontendFiles({ multiSig }) + await updateAddresses( + { + multiSig: { + applications: { + implementation: appsMultisigImpl.address + }, + apTeam: { + implementation: apMultisigImpl.address + }, + } + }, + hre + ) if (shouldVerify(hre.network)) { logger.out("Verifying APTeamMultiSig...") @@ -97,7 +104,7 @@ task("upgrade:upgradeMultisig", "Will upgrade the implementation of the AP Team }) } } catch (error) { - console.log(error) + logger.out(error, logger.Level.Error) } finally { logger.out("Done.") } diff --git a/test/Registrar.ts b/test/LocalRegistrar.ts similarity index 98% rename from test/Registrar.ts rename to test/LocalRegistrar.ts index bab930271..497dd947b 100644 --- a/test/Registrar.ts +++ b/test/LocalRegistrar.ts @@ -1,10 +1,10 @@ import { expect } from "chai"; import { ethers, upgrades } from "hardhat"; -import { LocalRegistrar, LocalRegistrar__factory } from "typechain-types" +import { LocalRegistrar, LocalRegistrar__factory } from "../typechain-types" import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers" -import { StrategyApprovalState } from "utils" +import { StrategyApprovalState } from "../utils/test/ILocalRegistrarHelpers" -describe("Registrar", function () { +describe("Local Registrar", function () { let owner: SignerWithAddress let user: SignerWithAddress let Registrar: LocalRegistrar__factory diff --git a/test/Router.ts b/test/Router.ts index 5a3456276..d66678bc9 100644 --- a/test/Router.ts +++ b/test/Router.ts @@ -1,4 +1,4 @@ -import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers" + import { expect } from "chai" import { ethers, upgrades } from "hardhat" import { @@ -10,61 +10,62 @@ import { DummyGateway__factory, DummyVault, DummyVault__factory, - Registrar, - Registrar__factory, + LocalRegistrar, + LocalRegistrar__factory, Router, Router__factory, } from "typechain-types" +import { LocalRegistrarLib } from "../typechain-types/contracts/core/registrar/LocalRegistrar"; import { ArrayToVaultActionStruct, IRouter, StrategyApprovalState, VaultActionStructToArray } from "utils" describe("Router", function () { - let owner: SignerWithAddress - let user: SignerWithAddress - let collector: SignerWithAddress - let Router: Router__factory - let Registrar: Registrar__factory - let defaultApParams = { - protocolTaxRate: 2, - protocolTaxBasis: 100, - protocolTaxCollector: ethers.constants.AddressZero, - routerAddr: ethers.constants.AddressZero, - refundAddr: ethers.constants.AddressZero, - } as IRegistrar.AngelProtocolParamsStruct - let deadAddr = "0x000000000000000000000000000000000000dead" - const originatingChain = "polygon" - const localChain = "ethereum" - const accountsContract = deadAddr - let localAccountsContract - - async function deployRouterAsProxy( - gatewayAddress: string = "0xe432150cce91c13a887f7D836923d5597adD8E31", - gasRecvAddress: string = "0xbE406F0189A0B4cf3A05C286473D23791Dd44Cc6", - registrar?: Registrar - ): Promise { - ;[owner, user, collector] = await ethers.getSigners() - let apParams = defaultApParams - apParams.refundAddr = collector.address - if (!registrar) { - registrar = await deployRegistrarAsProxy() - } - await registrar.setAngelProtocolParams(apParams) - Router = (await ethers.getContractFactory("Router")) as Router__factory - const router = (await upgrades.deployProxy(Router, [ - localChain, - gatewayAddress, - gasRecvAddress, - registrar.address, - ])) as Router - await router.deployed() - return router - } - - async function deployRegistrarAsProxy(): Promise { - Registrar = (await ethers.getContractFactory("Registrar")) as Registrar__factory - const registrar = (await upgrades.deployProxy(Registrar)) as Registrar - await registrar.deployed() - return registrar + let owner: SignerWithAddress + let user: SignerWithAddress + let collector: SignerWithAddress + let Router: Router__factory + let Registrar: LocalRegistrar__factory + let defaultApParams = { + "protocolTaxRate" :2, + "protocolTaxBasis" : 100, + "protocolTaxCollector" : ethers.constants.AddressZero, + "routerAddr" : ethers.constants.AddressZero, + "refundAddr" : ethers.constants.AddressZero + } as LocalRegistrarLib.AngelProtocolParamsStruct + let deadAddr = "0x000000000000000000000000000000000000dead" + const originatingChain = "polygon" + const localChain = "ethereum" + const accountsContract = deadAddr + let localAccountsContract + + async function deployRouterAsProxy( + gatewayAddress: string = "0xe432150cce91c13a887f7D836923d5597adD8E31", + gasRecvAddress: string = "0xbE406F0189A0B4cf3A05C286473D23791Dd44Cc6", + registrar?: LocalRegistrar): + Promise { + [owner, user, collector] = await ethers.getSigners(); + let apParams = defaultApParams + apParams.refundAddr = collector.address + if (!registrar) { + registrar = await deployRegistrarAsProxy() } + await registrar.setAngelProtocolParams(apParams) + Router = await ethers.getContractFactory("Router") as Router__factory + const router = await upgrades.deployProxy(Router, [ + localChain, + gatewayAddress, + gasRecvAddress, + registrar.address + ]) as Router + await router.deployed() + return router + } + + async function deployRegistrarAsProxy(): Promise { + Registrar = await ethers.getContractFactory("LocalRegistrar") as LocalRegistrar__factory + const registrar = await upgrades.deployProxy(Registrar) as LocalRegistrar + await registrar.deployed(); + return registrar + } async function deployDummyVault(vaultType: number = 1): Promise { let Vault = (await ethers.getContractFactory("DummyVault")) as DummyVault__factory @@ -143,29 +144,29 @@ describe("Router", function () { }) }) - describe("Protected methods", function () { - let lockedVault: DummyVault - let liquidVault: DummyVault - let registrar: Registrar - let gateway: DummyGateway - let token: DummyERC20 - let router: Router - let gasService: DummyGasService - before(async function () { - gateway = await deployDummyGateway() - lockedVault = await deployDummyVault(0) - liquidVault = await deployDummyVault(1) - gasService = await deployDummyGasService() - token = await deployDummyERC20() - registrar = await deployRegistrarAsProxy() - await gateway.setTestTokenAddress(token.address) - await registrar.setTokenAccepted(token.address, true) - await registrar.setAccountsContractAddressByChain(originatingChain, accountsContract) - await registrar.setAccountsContractAddressByChain(localChain, owner.address) - }) - beforeEach(async function () { - router = await deployRouterAsProxy(gateway.address, gasService.address, registrar) - }) + describe("Protected methods", function () { + let lockedVault: DummyVault + let liquidVault: DummyVault + let registrar: LocalRegistrar + let gateway: DummyGateway + let token: DummyERC20 + let router: Router + let gasService: DummyGasService + before(async function () { + gateway = await deployDummyGateway() + lockedVault = await deployDummyVault(0) + liquidVault = await deployDummyVault(1) + gasService = await deployDummyGasService() + token = await deployDummyERC20() + registrar = await deployRegistrarAsProxy() + await gateway.setTestTokenAddress(token.address) + await registrar.setTokenAccepted(token.address, true) + await registrar.setAccountsContractAddressByChain(originatingChain, accountsContract) + await registrar.setAccountsContractAddressByChain(localChain, owner.address) + }) + beforeEach(async function () { + router = await deployRouterAsProxy(gateway.address, gasService.address, registrar) + }) it("Does not allow a non-accounts contract address on another chain to call executeWithToken via GMP", async function () { await expect( @@ -236,24 +237,23 @@ describe("Router", function () { }) }) - describe("Correctly triggers the refund process on failed Deposit", function () { - let lockedVault: DummyVault - let liquidVault: DummyVault - let registrar: Registrar - let gateway: DummyGateway - let token: DummyERC20 - let router: Router - let gasService: DummyGasService - const getDefaultActionData = () => - ({ - destinationChain: originatingChain, - strategyId: "0xffffffff", - selector: "", - accountIds: [1], - token: "", - lockAmt: 111, - liqAmt: 222, - } as IRouter.VaultActionDataStruct) + describe("Correctly triggers the refund process on failed Deposit", function () { + let lockedVault: DummyVault + let liquidVault: DummyVault + let registrar: LocalRegistrar + let gateway: DummyGateway + let token: DummyERC20 + let router: Router + let gasService: DummyGasService + const getDefaultActionData = () => ({ + destinationChain: originatingChain, + strategyId: "0xffffffff", + selector: "", + accountIds: [1], + token: "", + lockAmt: 111, + liqAmt: 222 + }) as IRouter.VaultActionDataStruct describe("and the refund call is successful back through axelar", function () { before(async function () { @@ -643,23 +643,23 @@ describe("Router", function () { }) }) - describe("Routes messages according to payload instructions", function () { - let lockedVault: DummyVault - let liquidVault: DummyVault - let registrar: Registrar - let gateway: DummyGateway - let gasService: DummyGasService - let token: DummyERC20 - let router: Router - let actionData = { - destinationChain: originatingChain, - strategyId: "0xffffffff", - selector: "", - accountIds: [1], - token: "", - lockAmt: 111, - liqAmt: 222, - } as IRouter.VaultActionDataStruct + describe("Routes messages according to payload instructions", function () { + let lockedVault: DummyVault + let liquidVault: DummyVault + let registrar: LocalRegistrar + let gateway: DummyGateway + let gasService: DummyGasService + let token: DummyERC20 + let router: Router + let actionData = { + destinationChain: originatingChain, + strategyId: "0xffffffff", + selector: "", + accountIds: [1], + token: "", + lockAmt: 111, + liqAmt: 222 + } as IRouter.VaultActionDataStruct before(async function () { lockedVault = await deployDummyVault(0) @@ -764,23 +764,23 @@ describe("Router", function () { }) }) - describe("Deposit", function () { - let lockedVault: DummyVault - let liquidVault: DummyVault - let registrar: Registrar - let gateway: DummyGateway - let gasService: DummyGasService - let token: DummyERC20 - let router: Router - let actionData = { - destinationChain: originatingChain, - strategyId: "0xffffffff", - selector: "", - accountIds: [1], - token: "", - lockAmt: 111, - liqAmt: 222, - } as IRouter.VaultActionDataStruct + describe("Deposit", function () { + let lockedVault: DummyVault + let liquidVault: DummyVault + let registrar: LocalRegistrar + let gateway: DummyGateway + let gasService: DummyGasService + let token: DummyERC20 + let router: Router + let actionData = { + destinationChain: originatingChain, + strategyId: "0xffffffff", + selector: "", + accountIds: [1], + token: "", + lockAmt: 111, + liqAmt: 222 + } as IRouter.VaultActionDataStruct before(async function () { lockedVault = await deployDummyVault(0) @@ -825,23 +825,23 @@ describe("Router", function () { }) }) - describe("Redeem", function () { - let lockedVault: DummyVault - let liquidVault: DummyVault - let registrar: Registrar - let gateway: DummyGateway - let gasService: DummyGasService - let token: DummyERC20 - let router: Router - let actionData = { - destinationChain: originatingChain, - strategyId: "0xffffffff", - selector: "", - accountIds: [1], - token: "", - lockAmt: 111, - liqAmt: 222, - } as IRouter.VaultActionDataStruct + describe("Redeem", function () { + let lockedVault: DummyVault + let liquidVault: DummyVault + let registrar: LocalRegistrar + let gateway: DummyGateway + let gasService: DummyGasService + let token: DummyERC20 + let router: Router + let actionData = { + destinationChain: originatingChain, + strategyId: "0xffffffff", + selector: "", + accountIds: [1], + token: "", + lockAmt: 111, + liqAmt: 222 + } as IRouter.VaultActionDataStruct before(async function () { lockedVault = await deployDummyVault(0) @@ -960,23 +960,23 @@ describe("Router", function () { // }) }) - describe("RedeemAll", function () { - let lockedVault: DummyVault - let liquidVault: DummyVault - let registrar: Registrar - let gateway: DummyGateway - let gasService: DummyGasService - let token: DummyERC20 - let router: Router - let actionData = { - destinationChain: originatingChain, - strategyId: "0xffffffff", - selector: "", - accountIds: [1], - token: "", - lockAmt: 111, - liqAmt: 222, - } as IRouter.VaultActionDataStruct + describe("RedeemAll", function () { + let lockedVault: DummyVault + let liquidVault: DummyVault + let registrar: LocalRegistrar + let gateway: DummyGateway + let gasService: DummyGasService + let token: DummyERC20 + let router: Router + let actionData = { + destinationChain: originatingChain, + strategyId: "0xffffffff", + selector: "", + accountIds: [1], + token: "", + lockAmt: 111, + liqAmt: 222 + } as IRouter.VaultActionDataStruct before(async function () { lockedVault = await deployDummyVault(0) diff --git a/test/data/endowment.js b/test/data/endowment.js index 9a63de239..bba00fd08 100644 --- a/test/data/endowment.js +++ b/test/data/endowment.js @@ -6,9 +6,9 @@ let { main } = require('../../scripts/deployMain'); const ADDRESS_ZERO = '0x0000000000000000000000000000000000000000'; const getCreateEndowmentConfig = async function ( owner, - cw4_members, - endow_type = 1, - subdao_flag = false, + members, + endowType = 1, + subdaoFlag = false, bondingCurveReserveDenom = ADDRESS_ZERO, title = 'Test Endowment' ) { @@ -24,12 +24,11 @@ const getCreateEndowmentConfig = async function ( general: [], }, tier: 3, - endow_type: endow_type, + endowType: endowType, logo: 'Some fancy logo', image: 'Nice banner image', - cw4_members: cw4_members, - kycDonorsOnly: true, - cw3Threshold: { + members: members, + threshold: { enumData: 1, data: { weight: 0, @@ -38,15 +37,15 @@ const getCreateEndowmentConfig = async function ( quorum: 0, }, }, - cw3MaxVotingPeriod: { + maxVotingPeriod: { enumData: 1, data: { height: 0, time: Math.floor(Date.now() / 1000) + 1000, }, }, - whitelistedBeneficiaries: [], - whitelistedContributors: [], + allowlistedBeneficiaries: [], + allowlistedContributors: [], splitMax: 100, splitMin: 0, splitDefault: 50, @@ -65,7 +64,7 @@ const getCreateEndowmentConfig = async function ( feePercentage: 0, active: false, }, - aumFee: { + balanceFee: { payoutAddress: ADDRESS_ZERO, feePercentage: 0, active: false, @@ -81,7 +80,7 @@ const getCreateEndowmentConfig = async function ( token: { token: 1, data: { - existingCw20Data: ADDRESS_ZERO, + existingData: ADDRESS_ZERO, newCw20InitialSupply: '100000', newCw20Name: 'TEST', newCw20Symbol: 'TEST', @@ -103,7 +102,7 @@ const getCreateEndowmentConfig = async function ( }, }, }, - createDao: subdao_flag, + createDao: subdaoFlag, proposalLink: 0, settingsController: { endowmentController: { @@ -124,7 +123,7 @@ const getCreateEndowmentConfig = async function ( expires: Math.floor(Date.now() / 1000) + 1000, // datetime int of delegation expiry }, }, - whitelistedBeneficiaries: { + allowlistedBeneficiaries: { ownerControlled: true, govControlled: true, modifiableAfterInit: true, @@ -133,7 +132,7 @@ const getCreateEndowmentConfig = async function ( expires: Math.floor(Date.now() / 1000) + 1000, // datetime int of delegation expiry }, }, - whitelistedContributors: { + allowlistedContributors: { ownerControlled: true, govControlled: true, modifiableAfterInit: true, @@ -142,7 +141,7 @@ const getCreateEndowmentConfig = async function ( expires: Math.floor(Date.now() / 1000) + 1000, // datetime int of delegation expiry }, }, - maturityWhitelist: { + maturityAllowlist: { ownerControlled: true, govControlled: true, modifiableAfterInit: true, @@ -196,16 +195,7 @@ const getCreateEndowmentConfig = async function ( expires: Math.floor(Date.now() / 1000) + 1000, // datetime int of delegation expiry }, }, - aumFee: { - ownerControlled: true, - govControlled: true, - modifiableAfterInit: true, - delegate: { - Addr: ADDRESS_ZERO, - expires: Math.floor(Date.now() / 1000) + 1000, // datetime int of delegation expiry - }, - }, - kycDonorsOnly: { + balanceFee: { ownerControlled: true, govControlled: true, modifiableAfterInit: true, @@ -270,7 +260,7 @@ const getCreateEndowmentConfig = async function ( }, }, parent: ADDRESS_ZERO, - maturityWhitelist: [], + maturityAllowlist: [], ignoreUserSplits: false, splitToLiquid: { max: 100, @@ -279,7 +269,7 @@ const getCreateEndowmentConfig = async function ( }, }; - if (endow_type === 0) { + if (endowType === 0) { endowmentConfig.dao = { quorum: 10, threshold: 10, @@ -291,7 +281,7 @@ const getCreateEndowmentConfig = async function ( token: { token: 2, data: { - existingCw20Data: ADDRESS_ZERO, + existingData: ADDRESS_ZERO, newCw20InitialSupply: '100000', newCw20Name: 'TEST', newCw20Symbol: 'TEST', diff --git a/test/goldfinch/GoldfinchVault.ts b/test/goldfinch/GoldfinchVault.ts index 3a3663f09..646ab3643 100644 --- a/test/goldfinch/GoldfinchVault.ts +++ b/test/goldfinch/GoldfinchVault.ts @@ -1,4 +1,3 @@ -import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers" import { expect } from "chai" import { BigNumber } from "ethers" import { ethers, upgrades } from "hardhat" @@ -11,8 +10,8 @@ import { DummyStakingRewards__factory, GoldfinchVault, GoldfinchVault__factory, - Registrar, - Registrar__factory + LocalRegistrar, + LocalRegistrar__factory } from "typechain-types" import { StrategyApprovalState } from "utils" @@ -21,7 +20,7 @@ describe("Goldfinch Vault", function () { let owner: SignerWithAddress let taxCollector: SignerWithAddress let user: SignerWithAddress - let Registrar: Registrar__factory + let Registrar: LocalRegistrar__factory let Vault: GoldfinchVault__factory let StakingToken: DummyERC20__factory // FIDU let RewardToken: DummyERC20__factory // GFI @@ -63,10 +62,10 @@ describe("Goldfinch Vault", function () { - async function deployAndConfigureRegistrarAsProxy(): Promise { + async function deployAndConfigureRegistrarAsProxy(): Promise { [owner, taxCollector, user] = await ethers.getSigners(); - Registrar = await ethers.getContractFactory("Registrar") as Registrar__factory; - const registrar = await upgrades.deployProxy(Registrar) as Registrar + Registrar = await ethers.getContractFactory("LocalRegistrar") as LocalRegistrar__factory; + const registrar = await upgrades.deployProxy(Registrar) as LocalRegistrar await registrar.deployed() @@ -192,7 +191,7 @@ describe("Goldfinch Vault", function () { }) describe("upon Deposit", function () { - let registrar: Registrar + let registrar: LocalRegistrar let crvLP: DummyCRVLP let stakingPool: DummyStakingRewards let stableToken: DummyERC20 @@ -364,7 +363,7 @@ describe("Goldfinch Vault", function () { }) describe("upon Redemption", function () { - let registrar: Registrar + let registrar: LocalRegistrar let crvLP: DummyCRVLP let stakingPool: DummyStakingRewards let stableToken: DummyERC20 @@ -567,7 +566,7 @@ describe("Goldfinch Vault", function () { }) describe("upon RedeemAll", function () { - let registrar: Registrar + let registrar: LocalRegistrar let crvLP: DummyCRVLP let stakingPool: DummyStakingRewards let stableToken: DummyERC20 @@ -689,7 +688,7 @@ describe("Goldfinch Vault", function () { }) describe("upon Harvest", function () { - let registrar: Registrar + let registrar: LocalRegistrar let crvLP: DummyCRVLP let stakingPool: DummyStakingRewards let stableToken: DummyERC20 diff --git a/test/halo/distributor.test.js b/test/halo/distributor.test.js index ebbc300bc..336e0fd7e 100644 --- a/test/halo/distributor.test.js +++ b/test/halo/distributor.test.js @@ -32,7 +32,7 @@ describe("Distributor", function () { //initialize distributor contract distributor.initialize({ haloToken: haloToken.address, - whitelist: [owner.address], + allowlist: [owner.address], timelockContract: tempGov.address, spendLimit: ethers.utils.parseEther("100") }); @@ -45,7 +45,7 @@ describe("Distributor", function () { distributor.addDistributor(addrs[0].address) ).to.be.revertedWith("Unauthorized"); }); - it("should not allow non-whitelisted address to spend", async function(){ + it("should not allow non-allowlisted address to spend", async function(){ await expect( distributor.connect(addrs[0]).spend(addrs[0].address, ethers.utils.parseEther("1")) ).to.be.revertedWith("Unauthorized"); diff --git a/test/integration-test/APTeam.IndexFund.test.js b/test/integration-test/APTeam.IndexFund.test.js index 8d548ad60..998b957a3 100644 --- a/test/integration-test/APTeam.IndexFund.test.js +++ b/test/integration-test/APTeam.IndexFund.test.js @@ -82,13 +82,13 @@ describe('AP Team Interaction with Index Fund', function () { const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); endowment = await accountQuery.queryEndowmentDetails(1); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); endowment = await accountQuery.queryEndowmentDetails(2); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); endowment = await accountQuery.queryEndowmentDetails(3); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); // create an index fund using the ap team multisig diff --git a/test/integration-test/AccountCrossChain.test.js b/test/integration-test/AccountCrossChain.test.js index f3e53def3..a75146547 100644 --- a/test/integration-test/AccountCrossChain.test.js +++ b/test/integration-test/AccountCrossChain.test.js @@ -273,7 +273,7 @@ describe("Account Update", function () { ); let endowment = await accountQuery.queryEndowmentDetails(1); - expect(endowment.endow_type, "Endowment type is normal").to.equal(1); + expect(endowment.endowType, "Endowment type is normal").to.equal(1); let donor = addrs[0]; let registrar = await ethers.getContractAt( @@ -413,7 +413,7 @@ describe("Account Update", function () { const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); endowment = await accountQuery.queryEndowmentDetails(1); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); let donor = addrs[0]; diff --git a/test/integration-test/AccountSettings.test.js b/test/integration-test/AccountSettings.test.js index 99ad2ec49..dc7127abe 100644 --- a/test/integration-test/AccountSettings.test.js +++ b/test/integration-test/AccountSettings.test.js @@ -57,8 +57,7 @@ describe('Account Settings Controller', function () { let endowmentUpdateData = { id: 1, owner: deployer.address, - kycDonorsOnly: true, - endow_type: endowmentConfig.endow_type, + endowType: endowmentConfig.endowType, name: "testing name", categories: endowmentConfig.categories, tier: endowmentConfig.tier, @@ -109,7 +108,7 @@ describe('Account Settings Controller', function () { // set action to keccak256(abi.encodePacked("set")) const data = account.interface.encodeFunctionData('updateDelegate', [ 1, - "whitelistedBeneficiaries", + "allowlistedBeneficiaries", "set", delegate.address, Math.floor(Date.now() / 1000) + 360 * 24 * 60 * 60, // delegate expires in 360 days @@ -142,25 +141,24 @@ describe('Account Settings Controller', function () { let endowmentSettingsData = { id: 1, donationMatchActive: true, - whitelistedBeneficiaries: [addrs[0].address], - whitelistedContributors: [], - maturity_whitelist_add: [], - maturity_whitelist_remove: [], + allowlistedBeneficiaries: [addrs[0].address], + allowlistedContributors: [], + maturity_allowlist_add: [], + maturity_allowlist_remove: [], splitToLiquid: endowmentConfig.splitToLiquid, ignoreUserSplits: true } await account.connect(delegate).updateEndowmentSettings(endowmentSettingsData); endowment = await accountQuery.queryEndowmentDetails(1); - expect(endowment.whitelistedBeneficiaries.length === 1 && endowment.whitelistedBeneficiaries[0] === addrs[0].address, 'whitelisted beneficiaries updated successfully').to.equal(true); + expect(endowment.allowlistedBeneficiaries.length === 1 && endowment.allowlistedBeneficiaries[0] === addrs[0].address, 'allowlisted beneficiaries updated successfully').to.equal(true); }); it("should revert with the string `Unauthorized` when trying to update endowment details", async function() { account = await ethers.getContractAt('AccountsUpdateEndowments', deployRes.addresses.account); let endowmentUpdateData = { id: 1, owner: deployer.address, - kycDonorsOnly: true, - endow_type: endowmentConfig.endow_type, + endowType: endowmentConfig.endowType, name: "testing name", categories: endowmentConfig.categories, tier: endowmentConfig.tier, @@ -182,18 +180,18 @@ describe('Account Settings Controller', function () { let endowmentSettingsData = { id: 1, donationMatchActive: true, - whitelistedBeneficiaries: [addrs[1].address], - whitelistedContributors: [], - maturity_whitelist_add: [], - maturity_whitelist_remove: [], + allowlistedBeneficiaries: [addrs[1].address], + allowlistedContributors: [], + maturity_allowlist_add: [], + maturity_allowlist_remove: [], splitToLiquid: endowmentConfig.splitToLiquid, ignoreUserSplits: true } await account.connect(delegate).updateEndowmentSettings(endowmentSettingsData); endowment = await accountQuery.queryEndowmentDetails(1); - // console.log(endowment.whitelistedBeneficiaries); - expect(endowment.whitelistedBeneficiaries.length === 1 && endowment.whitelistedBeneficiaries[0] === addrs[0].address, 'whitelisted beneficiaries not updated as delegate has expired').to.equal(true); + // console.log(endowment.allowlistedBeneficiaries); + expect(endowment.allowlistedBeneficiaries.length === 1 && endowment.allowlistedBeneficiaries[0] === addrs[0].address, 'allowlisted beneficiaries not updated as delegate has expired').to.equal(true); MockDate.reset(); }); @@ -202,7 +200,7 @@ describe('Account Settings Controller', function () { // set action to keccak256(abi.encodePacked("set")) const data = account.interface.encodeFunctionData('updateDelegate', [ 1, - "whitelistedBeneficiaries", + "allowlistedBeneficiaries", "revoke", delegate.address, Math.floor(Date.now() / 1000) + 360 * 24 * 60 * 60, @@ -230,33 +228,33 @@ describe('Account Settings Controller', function () { expect(flag === 1, 'Transaction executed successfully').to.equal(true); - // try updating whitelisted beneficiaries via delegate + // try updating allowlisted beneficiaries via delegate account = await ethers.getContractAt('AccountsUpdateEndowmentSettingsController', deployRes.addresses.account); let endowmentSettingsData = { id: 1, donationMatchActive: true, - whitelistedBeneficiaries: [addrs[1].address], - whitelistedContributors: [], - maturity_whitelist_add: [], - maturity_whitelist_remove: [], + allowlistedBeneficiaries: [addrs[1].address], + allowlistedContributors: [], + maturity_allowlist_add: [], + maturity_allowlist_remove: [], splitToLiquid: endowmentConfig.splitToLiquid, ignoreUserSplits: true } await account.connect(delegate).updateEndowmentSettings(endowmentSettingsData); endowment = await accountQuery.queryEndowmentDetails(1); - // console.log(endowment.whitelistedBeneficiaries); - expect(endowment.whitelistedBeneficiaries.length === 1 && endowment.whitelistedBeneficiaries[0] === addrs[0].address, 'whitelisted beneficiaries not updated as delegate has expired').to.equal(true); + // console.log(endowment.allowlistedBeneficiaries); + expect(endowment.allowlistedBeneficiaries.length === 1 && endowment.allowlistedBeneficiaries[0] === addrs[0].address, 'allowlisted beneficiaries not updated as delegate has expired').to.equal(true); }); it("should update endowment settings through owner", async function() { account = await ethers.getContractAt('AccountsUpdateEndowmentSettingsController', deployRes.addresses.account); let endowmentSettingsData = { id: 1, donationMatchActive: true, - whitelistedBeneficiaries: [addrs[1].address], - whitelistedContributors: [addrs[1].address], - maturity_whitelist_add: [addrs[1].address, addrs[2].address], - maturity_whitelist_remove: [addrs[2].address], + allowlistedBeneficiaries: [addrs[1].address], + allowlistedContributors: [addrs[1].address], + maturity_allowlist_add: [addrs[1].address, addrs[2].address], + maturity_allowlist_remove: [addrs[2].address], splitToLiquid: endowmentConfig.splitToLiquid, ignoreUserSplits: false } @@ -279,9 +277,9 @@ describe('Account Settings Controller', function () { endowment = await accountQuery.queryEndowmentDetails(1); - expect(endowment.whitelistedBeneficiaries.length === 1 && endowment.whitelistedBeneficiaries[0] === addrs[1].address, 'whitelisted beneficiaries not updated').to.equal(true); - expect(endowment.whitelistedContributors.length === 1 && endowment.whitelistedContributors[0] === addrs[1].address, 'whitelisted contributors not updated').to.equal(true); - expect(endowment.maturityWhitelist.length === 1 && endowment.maturityWhitelist[0] === addrs[1].address, 'maturity whitelist not updated').to.equal(true); + expect(endowment.allowlistedBeneficiaries.length === 1 && endowment.allowlistedBeneficiaries[0] === addrs[1].address, 'allowlisted beneficiaries not updated').to.equal(true); + expect(endowment.allowlistedContributors.length === 1 && endowment.allowlistedContributors[0] === addrs[1].address, 'allowlisted contributors not updated').to.equal(true); + expect(endowment.maturityAllowlist.length === 1 && endowment.maturityAllowlist[0] === addrs[1].address, 'maturity allowlist not updated').to.equal(true); // expect(endowment.splitToLiquid === endowmentConfig.splitToLiquid, 'split to liquid not updated').to.equal(true); expect(endowment.ignoreUserSplits === false, 'ignore user splits not updated').to.equal(true); }); @@ -296,16 +294,15 @@ describe('Account Settings Controller', function () { image: endowmentConfig.settingsController.image, logo: endowmentConfig.settingsController.logo, categories: endowmentConfig.settingsController.categories, - kycDonorsOnly: endowmentConfig.settingsController.kycDonorsOnly, splitToLiquid: endowmentConfig.settingsController.splitToLiquid, ignoreUserSplits: endowmentConfig.settingsController.ignoreUserSplits, - whitelistedBeneficiaries: endowmentConfig.settingsController.whitelistedBeneficiaries, - whitelistedContributors: endowmentConfig.settingsController.whitelistedContributors, - maturityWhitelist: endowmentConfig.settingsController.maturityWhitelist, + allowlistedBeneficiaries: endowmentConfig.settingsController.allowlistedBeneficiaries, + allowlistedContributors: endowmentConfig.settingsController.allowlistedContributors, + maturityAllowlist: endowmentConfig.settingsController.maturityAllowlist, earningsFee: endowmentConfig.settingsController.earningsFee, depositFee: endowmentConfig.settingsController.depositFee, withdrawFee: endowmentConfig.settingsController.withdrawFee, - aumFee: endowmentConfig.settingsController.aumFee + balanceFee: endowmentConfig.settingsController.balanceFee } const data = account.interface.encodeFunctionData('updateEndowmentController', [updateEndowmentControllerData]); @@ -337,7 +334,7 @@ describe('Account Settings Controller', function () { earningsFee: endowmentConfig.earningsFee, depositFee: endowmentConfig.depositFee, withdrawFee: endowmentConfig.withdrawFee, - aumFee: endowmentConfig.aumFee + balanceFee: endowmentConfig.balanceFee } const data = account.interface.encodeFunctionData('updateEndowmentFees', [updateEndowmentFeesData]); diff --git a/test/integration-test/AccountStrategy.test.js b/test/integration-test/AccountStrategy.test.js index dbc1ddfd4..ce54621c0 100644 --- a/test/integration-test/AccountStrategy.test.js +++ b/test/integration-test/AccountStrategy.test.js @@ -71,7 +71,7 @@ // const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); // let endowment = await accountQuery.queryEndowmentDetails(1); -// expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); +// expect(endowment.endowType, 'Endowment type is normal').to.equal(1); // let donor = addrs[0]; // let registrar = await ethers.getContractAt('Registrar', deployRes.addresses.registrar); diff --git a/test/integration-test/AccountVaultCrossChain.test.js b/test/integration-test/AccountVaultCrossChain.test.js index 72ec7f481..3ea82fe44 100644 --- a/test/integration-test/AccountVaultCrossChain.test.js +++ b/test/integration-test/AccountVaultCrossChain.test.js @@ -286,7 +286,7 @@ describe("Account Update", function () { ); let endowment = await accountQuery.queryEndowmentDetails(1); - expect(endowment.endow_type, "Endowment type is normal").to.equal(1); + expect(endowment.endowType, "Endowment type is normal").to.equal(1); let donor = addrs[0]; let registrar = await ethers.getContractAt( @@ -351,7 +351,7 @@ describe("Account Update", function () { const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); endowment = await accountQuery.queryEndowmentDetails(1); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); let donor = addrs[0]; diff --git a/test/integration-test/ApplicationTeam.test.js b/test/integration-test/ApplicationTeam.test.js index ae2d2f98f..cea39710d 100644 --- a/test/integration-test/ApplicationTeam.test.js +++ b/test/integration-test/ApplicationTeam.test.js @@ -98,7 +98,7 @@ describe('Charity Endowment Creation and Approval from Application Team', functi const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); endowment = await accountQuery.queryEndowmentDetails(1); // console.log(endowment); - expect(endowment.endow_type, 'Endowment is of type charity').to.equal(0); + expect(endowment.endowType, 'Endowment is of type charity').to.equal(0); }); it('Application team should be able to reject a charity proposal', async function () { diff --git a/test/integration-test/Donor.Accounts.Normal.DonationMatch.test.js b/test/integration-test/Donor.Accounts.Normal.DonationMatch.test.js index 697f7b18a..36a3474f9 100644 --- a/test/integration-test/Donor.Accounts.Normal.DonationMatch.test.js +++ b/test/integration-test/Donor.Accounts.Normal.DonationMatch.test.js @@ -32,7 +32,7 @@ describe('Donor donation matching for normal endowments', function () { endowmentConfig.dao.token = { token: 0, data: { - existingCw20Data: registrarConfig.haloToken, + existingData: registrarConfig.haloToken, newCw20InitialSupply: '100000', newCw20Name: 'TEST', newCw20Symbol: 'TEST', @@ -65,7 +65,7 @@ describe('Donor donation matching for normal endowments', function () { const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); let endowment = await accountQuery.queryEndowmentDetails(1); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); const endowmentMultisig = await ethers.getContractAt('EndowmentMultiSig', endowment.owner); @@ -183,7 +183,7 @@ describe('Donor donation matching for normal endowments', function () { endowmentConfig.dao.token = { token: 2, data: { - existingCw20Data: registrarConfig.haloToken, + existingData: registrarConfig.haloToken, newCw20InitialSupply: '100000', newCw20Name: 'TEST', newCw20Symbol: 'TEST', @@ -216,7 +216,7 @@ describe('Donor donation matching for normal endowments', function () { const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); let endowment = await accountQuery.queryEndowmentDetails(2); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); const endowmentMultisig = await ethers.getContractAt('EndowmentMultiSig', endowment.owner); diff --git a/test/integration-test/Donor.Accounts.test.js b/test/integration-test/Donor.Accounts.test.js index 565ac546b..ecc694823 100644 --- a/test/integration-test/Donor.Accounts.test.js +++ b/test/integration-test/Donor.Accounts.test.js @@ -39,7 +39,7 @@ describe('Donor donating from Accounts', function () { const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); endowment = await accountQuery.queryEndowmentDetails(1); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); let donor = addrs[0]; @@ -95,7 +95,7 @@ describe('Donor donating from Accounts', function () { const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); endowment = await accountQuery.queryEndowmentDetails(2); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); let donor = addrs[0]; @@ -138,7 +138,7 @@ describe('Donor donating from Accounts', function () { const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); endowment = await accountQuery.queryEndowmentDetails(3); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); let donor = addrs[0]; diff --git a/test/integration-test/Donor.IndexFund.test.js b/test/integration-test/Donor.IndexFund.test.js index b753829eb..d2ae4e584 100644 --- a/test/integration-test/Donor.IndexFund.test.js +++ b/test/integration-test/Donor.IndexFund.test.js @@ -76,13 +76,13 @@ describe('Donor donates from Index Fund', function () { const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); endowment = await accountQuery.queryEndowmentDetails(1); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); endowment = await accountQuery.queryEndowmentDetails(2); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); endowment = await accountQuery.queryEndowmentDetails(3); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); // create an index fund using the ap team multisig diff --git a/test/integration-test/Donor.SubdaoToken.BuySell.test.js b/test/integration-test/Donor.SubdaoToken.BuySell.test.js index 8891863da..abe227c4d 100644 --- a/test/integration-test/Donor.SubdaoToken.BuySell.test.js +++ b/test/integration-test/Donor.SubdaoToken.BuySell.test.js @@ -49,7 +49,7 @@ describe('Donor buy sell subdao token', function () { endowmentConfig.dao.token = { token: 2, data: { - existingCw20Data: registrarConfig.haloToken, + existingData: registrarConfig.haloToken, newCw20InitialSupply: '100000', newCw20Name: 'TEST', newCw20Symbol: 'TEST', @@ -82,7 +82,7 @@ describe('Donor buy sell subdao token', function () { const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); let endowment = await accountQuery.queryEndowmentDetails(1); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); buyer = addrs[0]; diff --git a/test/integration-test/EndowmentMembersCharity.Accounts.test.js b/test/integration-test/EndowmentMembersCharity.Accounts.test.js index 24ab9809f..a4ed02311 100644 --- a/test/integration-test/EndowmentMembersCharity.Accounts.test.js +++ b/test/integration-test/EndowmentMembersCharity.Accounts.test.js @@ -100,7 +100,7 @@ describe('Charity Endowment Creation and Approval from Application Team', functi const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); endowment = await accountQuery.queryEndowmentDetails(1); // console.log(endowment); - expect(endowment.endow_type, 'Endowment is of type charity').to.equal(0); + expect(endowment.endowType, 'Endowment is of type charity').to.equal(0); }); it('Should have created a new endowment multisig and set owner of endowment to multisig', async function () { diff --git a/test/integration-test/EndowmentMembersNormal.Accounts.test.js b/test/integration-test/EndowmentMembersNormal.Accounts.test.js index 295542d59..5b21d8cc7 100644 --- a/test/integration-test/EndowmentMembersNormal.Accounts.test.js +++ b/test/integration-test/EndowmentMembersNormal.Accounts.test.js @@ -35,7 +35,7 @@ describe('Endowment Members', function () { it('Should create a endowment of type normal', async function () { // console.log('Endowment', endowment); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); }); it('Should have created a new endowment multisig and set owner of endowment to multisig', async function () { diff --git a/test/integration-test/EndowmentMembersNormal.AccountsSwap.test.js b/test/integration-test/EndowmentMembersNormal.AccountsSwap.test.js index 7b09a8aef..3f145244b 100644 --- a/test/integration-test/EndowmentMembersNormal.AccountsSwap.test.js +++ b/test/integration-test/EndowmentMembersNormal.AccountsSwap.test.js @@ -35,14 +35,14 @@ describe('Endowment Members', function () { it('Should create a endowment of type normal', async function () { // console.log('Endowment', endowment); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); }); it('Should create a endowment of type normal and deposit to it', async function () { const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); endowment = await accountQuery.queryEndowmentDetails(1); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); let donor = addrs[0]; diff --git a/test/integration-test/EndowmentMembersNormal.Multisig.test.js b/test/integration-test/EndowmentMembersNormal.Multisig.test.js index 77fea937e..7d16b039b 100644 --- a/test/integration-test/EndowmentMembersNormal.Multisig.test.js +++ b/test/integration-test/EndowmentMembersNormal.Multisig.test.js @@ -35,7 +35,7 @@ describe('Endowment Members', function () { it('Should create a endowment of type normal', async function () { // console.log('Endowment', endowment); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); }); it('Should have created a new endowment multisig and set owner of endowment to multisig', async function () { diff --git a/test/integration-test/SubDao.test.js b/test/integration-test/SubDao.test.js index 109335f95..efcdaf980 100644 --- a/test/integration-test/SubDao.test.js +++ b/test/integration-test/SubDao.test.js @@ -71,7 +71,7 @@ describe('SubDao test', function () { const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); let endowment = await accountQuery.queryEndowmentDetails(1); - expect(endowment.endow_type, 'Endowment type is normal').to.equal(1); + expect(endowment.endowType, 'Endowment type is normal').to.equal(1); let donor = addrs[0]; let registrar = await ethers.getContractAt('Registrar', deployRes.addresses.registrar); @@ -143,7 +143,7 @@ describe('SubDao test', function () { token: { token: 2, data: { - existingCw20Data: registrarConfig.haloToken, + existingData: registrarConfig.haloToken, newCw20InitialSupply: '100000', newCw20Name: 'TEST', newCw20Symbol: 'TEST', @@ -337,7 +337,7 @@ describe('SubDao test', function () { feePercentage: 10, active: true, }, - aumFee: { + balanceFee: { payoutAddress: ADDRESS_ZERO, feePercentage: 0, active: false, diff --git a/test/integration-test/Temp.js.txt b/test/integration-test/Temp.js.txt index 147aceab9..00edcf013 100644 --- a/test/integration-test/Temp.js.txt +++ b/test/integration-test/Temp.js.txt @@ -54,7 +54,7 @@ describe('Charity Endowment Creation and Approval from Application Team', functi const accountQuery = await ethers.getContractAt('AccountsQueryEndowments', deployRes.addresses.account); endowment = await accountQuery.queryEndowmentDetails(1); // console.log(endowment); - expect(endowment.endow_type, 'Endowment is of type charity').to.equal(0); + expect(endowment.endowType, 'Endowment is of type charity').to.equal(0); return { deployRes, endowment, endowmentConfig, charityApplications, charityProposal }; } @@ -110,7 +110,7 @@ describe('Charity Endowment Creation and Approval from Application Team', functi ); // console.log(endowment); - expect(endowment.endow_type, 'Endowment is of type charity').to.equal(0); + expect(endowment.endowType, 'Endowment is of type charity').to.equal(0); }); it('Should have created a new endowment multisig and set owner of endowment to multisig', async function () { diff --git a/tsconfig.json b/tsconfig.json index cb058d7a6..5a275c7ce 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -5,7 +5,6 @@ "module": "commonjs", "strict": true, "esModuleInterop": true, - "resolveJsonModule": true, "forceConsistentCasingInFileNames": true, "allowSyntheticDefaultImports": true, "outDir": "dist", diff --git a/typechain-types/contracts/accessory/fundraising/Fundraising.ts b/typechain-types/contracts/accessory/fundraising/Fundraising.ts deleted file mode 100644 index afd6a977d..000000000 --- a/typechain-types/contracts/accessory/fundraising/Fundraising.ts +++ /dev/null @@ -1,1002 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PayableOverrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import type { - FunctionFragment, - Result, - EventFragment, -} from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; -import type { - TypedEventFilter, - TypedEvent, - TypedListener, - OnEvent, - PromiseOrValue, -} from "../../../common"; - -export type CampaignStruct = { - creator: PromiseOrValue; - open: PromiseOrValue; - success: PromiseOrValue; - title: PromiseOrValue; - description: PromiseOrValue; - imageUrl: PromiseOrValue; - endTimeEpoch: PromiseOrValue; - fundingGoal: AngelCoreStruct.GenericBalanceStruct; - fundingThreshold: AngelCoreStruct.GenericBalanceStruct; - lockedBalance: AngelCoreStruct.GenericBalanceStruct; - contributedBalance: AngelCoreStruct.GenericBalanceStruct; - contributors: PromiseOrValue[]; -}; - -export type CampaignStructOutput = [ - string, - boolean, - boolean, - string, - string, - string, - BigNumber, - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput, - string[] -] & { - creator: string; - open: boolean; - success: boolean; - title: string; - description: string; - imageUrl: string; - endTimeEpoch: BigNumber; - fundingGoal: AngelCoreStruct.GenericBalanceStructOutput; - fundingThreshold: AngelCoreStruct.GenericBalanceStructOutput; - lockedBalance: AngelCoreStruct.GenericBalanceStructOutput; - contributedBalance: AngelCoreStruct.GenericBalanceStructOutput; - contributors: string[]; -}; - -export type BalanceStruct = { - coinNativeAmount: PromiseOrValue; - cw20Addr: PromiseOrValue; - cw20Amount: PromiseOrValue; -}; - -export type BalanceStructOutput = [BigNumber, string, BigNumber] & { - coinNativeAmount: BigNumber; - cw20Addr: string; - cw20Amount: BigNumber; -}; - -export declare namespace AngelCoreStruct { - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type SplitDetailsStruct = { - max: PromiseOrValue; - min: PromiseOrValue; - defaultSplit: PromiseOrValue; - }; - - export type SplitDetailsStructOutput = [BigNumber, BigNumber, BigNumber] & { - max: BigNumber; - min: BigNumber; - defaultSplit: BigNumber; - }; - - export type AcceptedTokensStruct = { cw20: PromiseOrValue[] }; - - export type AcceptedTokensStructOutput = [string[]] & { cw20: string[] }; - - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; -} - -export declare namespace FundraisingStorage { - export type ConfigStruct = { - registrarContract: PromiseOrValue; - nextId: PromiseOrValue; - campaignPeriodSeconds: PromiseOrValue; - taxRate: PromiseOrValue; - acceptedTokens: AngelCoreStruct.GenericBalanceStruct; - }; - - export type ConfigStructOutput = [ - string, - BigNumber, - BigNumber, - BigNumber, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - registrarContract: string; - nextId: BigNumber; - campaignPeriodSeconds: BigNumber; - taxRate: BigNumber; - acceptedTokens: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type ContributorInfoStruct = { - campaign: PromiseOrValue; - balance: AngelCoreStruct.GenericBalanceStruct; - rewardsClaimed: PromiseOrValue; - contributionRefunded: PromiseOrValue; - exists: PromiseOrValue; - }; - - export type ContributorInfoStructOutput = [ - BigNumber, - AngelCoreStruct.GenericBalanceStructOutput, - boolean, - boolean, - boolean - ] & { - campaign: BigNumber; - balance: AngelCoreStruct.GenericBalanceStructOutput; - rewardsClaimed: boolean; - contributionRefunded: boolean; - exists: boolean; - }; -} - -export declare namespace FundraisingMessage { - export type CreateMsgStruct = { - title: PromiseOrValue; - description: PromiseOrValue; - imageUrl: PromiseOrValue; - endTimeEpoch: PromiseOrValue; - fundingGoal: AngelCoreStruct.GenericBalanceStruct; - rewardThreshold: PromiseOrValue; - }; - - export type CreateMsgStructOutput = [ - string, - string, - string, - BigNumber, - AngelCoreStruct.GenericBalanceStructOutput, - BigNumber - ] & { - title: string; - description: string; - imageUrl: string; - endTimeEpoch: BigNumber; - fundingGoal: AngelCoreStruct.GenericBalanceStructOutput; - rewardThreshold: BigNumber; - }; - - export type InstantiateMsgStruct = { - registrarContract: PromiseOrValue; - nextId: PromiseOrValue; - campaignPeriodSeconds: PromiseOrValue; - taxRate: PromiseOrValue; - acceptedTokens: AngelCoreStruct.GenericBalanceStruct; - }; - - export type InstantiateMsgStructOutput = [ - string, - BigNumber, - BigNumber, - BigNumber, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - registrarContract: string; - nextId: BigNumber; - campaignPeriodSeconds: BigNumber; - taxRate: BigNumber; - acceptedTokens: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type DetailsResponseStruct = { - id: PromiseOrValue; - creator: PromiseOrValue; - title: PromiseOrValue; - description: PromiseOrValue; - imageUrl: PromiseOrValue; - endTimeEpoch: PromiseOrValue; - fundingGoal: AngelCoreStruct.GenericBalanceStruct; - fundingThreshold: AngelCoreStruct.GenericBalanceStruct; - lockedBalance: AngelCoreStruct.GenericBalanceStruct; - contributedBalance: AngelCoreStruct.GenericBalanceStruct; - contributorCount: PromiseOrValue; - success: PromiseOrValue; - open: PromiseOrValue; - }; - - export type DetailsResponseStructOutput = [ - BigNumber, - string, - string, - string, - string, - BigNumber, - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput, - BigNumber, - boolean, - boolean - ] & { - id: BigNumber; - creator: string; - title: string; - description: string; - imageUrl: string; - endTimeEpoch: BigNumber; - fundingGoal: AngelCoreStruct.GenericBalanceStructOutput; - fundingThreshold: AngelCoreStruct.GenericBalanceStructOutput; - lockedBalance: AngelCoreStruct.GenericBalanceStructOutput; - contributedBalance: AngelCoreStruct.GenericBalanceStructOutput; - contributorCount: BigNumber; - success: boolean; - open: boolean; - }; -} - -export declare namespace RegistrarStorage { - export type ConfigStruct = { - owner: PromiseOrValue; - applicationsReview: PromiseOrValue; - indexFundContract: PromiseOrValue; - accountsContract: PromiseOrValue; - treasury: PromiseOrValue; - subdaoGovCode: PromiseOrValue; - subdaoCw20TokenCode: PromiseOrValue; - subdaoBondingTokenCode: PromiseOrValue; - subdaoCw900Code: PromiseOrValue; - subdaoDistributorCode: PromiseOrValue; - subdaoEmitter: PromiseOrValue; - donationMatchCode: PromiseOrValue; - donationMatchCharitesContract: PromiseOrValue; - donationMatchEmitter: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - haloToken: PromiseOrValue; - haloTokenLpContract: PromiseOrValue; - govContract: PromiseOrValue; - collectorAddr: PromiseOrValue; - collectorShare: PromiseOrValue; - charitySharesContract: PromiseOrValue; - acceptedTokens: AngelCoreStruct.AcceptedTokensStruct; - fundraisingContract: PromiseOrValue; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - swapsRouter: PromiseOrValue; - multisigFactory: PromiseOrValue; - multisigEmitter: PromiseOrValue; - charityProposal: PromiseOrValue; - lockedWithdrawal: PromiseOrValue; - proxyAdmin: PromiseOrValue; - usdcAddress: PromiseOrValue; - wethAddress: PromiseOrValue; - cw900lvAddress: PromiseOrValue; - }; - - export type ConfigStructOutput = [ - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - AngelCoreStruct.SplitDetailsStructOutput, - string, - string, - string, - string, - BigNumber, - string, - AngelCoreStruct.AcceptedTokensStructOutput, - string, - AngelCoreStruct.RebalanceDetailsStructOutput, - string, - string, - string, - string, - string, - string, - string, - string, - string - ] & { - owner: string; - applicationsReview: string; - indexFundContract: string; - accountsContract: string; - treasury: string; - subdaoGovCode: string; - subdaoCw20TokenCode: string; - subdaoBondingTokenCode: string; - subdaoCw900Code: string; - subdaoDistributorCode: string; - subdaoEmitter: string; - donationMatchCode: string; - donationMatchCharitesContract: string; - donationMatchEmitter: string; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - haloToken: string; - haloTokenLpContract: string; - govContract: string; - collectorAddr: string; - collectorShare: BigNumber; - charitySharesContract: string; - acceptedTokens: AngelCoreStruct.AcceptedTokensStructOutput; - fundraisingContract: string; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - swapsRouter: string; - multisigFactory: string; - multisigEmitter: string; - charityProposal: string; - lockedWithdrawal: string; - proxyAdmin: string; - usdcAddress: string; - wethAddress: string; - cw900lvAddress: string; - }; -} - -export interface FundraisingInterface extends utils.Interface { - functions: { - "executeClaimRewards(uint256)": FunctionFragment; - "executeCloseCampaign(uint256)": FunctionFragment; - "executeContribute(uint256,(uint256,address,uint256))": FunctionFragment; - "executeCreate(uint256,(string,string,string,uint256,(uint256,uint256[],address[]),uint256),(uint256,address,uint256),address)": FunctionFragment; - "executeRefundContributions(uint256)": FunctionFragment; - "executeTopUp(uint256,(uint256,address,uint256))": FunctionFragment; - "executeUpdateConfig(uint256,uint256,(uint256,uint256[],address[]))": FunctionFragment; - "getRegistrarConfig()": FunctionFragment; - "initFundraising((address,uint256,uint256,uint256,(uint256,uint256[],address[])))": FunctionFragment; - "queryConfig()": FunctionFragment; - "queryDetails(uint256)": FunctionFragment; - }; - - getFunction( - nameOrSignatureOrTopic: - | "executeClaimRewards" - | "executeCloseCampaign" - | "executeContribute" - | "executeCreate" - | "executeRefundContributions" - | "executeTopUp" - | "executeUpdateConfig" - | "getRegistrarConfig" - | "initFundraising" - | "queryConfig" - | "queryDetails" - ): FunctionFragment; - - encodeFunctionData( - functionFragment: "executeClaimRewards", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "executeCloseCampaign", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "executeContribute", - values: [PromiseOrValue, BalanceStruct] - ): string; - encodeFunctionData( - functionFragment: "executeCreate", - values: [ - PromiseOrValue, - FundraisingMessage.CreateMsgStruct, - BalanceStruct, - PromiseOrValue - ] - ): string; - encodeFunctionData( - functionFragment: "executeRefundContributions", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "executeTopUp", - values: [PromiseOrValue, BalanceStruct] - ): string; - encodeFunctionData( - functionFragment: "executeUpdateConfig", - values: [ - PromiseOrValue, - PromiseOrValue, - AngelCoreStruct.GenericBalanceStruct - ] - ): string; - encodeFunctionData( - functionFragment: "getRegistrarConfig", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "initFundraising", - values: [FundraisingMessage.InstantiateMsgStruct] - ): string; - encodeFunctionData( - functionFragment: "queryConfig", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "queryDetails", - values: [PromiseOrValue] - ): string; - - decodeFunctionResult( - functionFragment: "executeClaimRewards", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "executeCloseCampaign", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "executeContribute", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "executeCreate", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "executeRefundContributions", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "executeTopUp", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "executeUpdateConfig", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "getRegistrarConfig", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "initFundraising", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "queryConfig", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "queryDetails", - data: BytesLike - ): Result; - - events: { - "FundraisingCampaignCreated(uint256,tuple)": EventFragment; - "FundraisingCampaignUpdated(uint256,tuple)": EventFragment; - "FundraisingConfigUpdated(tuple)": EventFragment; - "FundraisingContributionRefunded(uint256,address,tuple)": EventFragment; - "FundraisingContributorUpdated(uint256,address,tuple)": EventFragment; - "FundraisingRewardsClaimed(uint256,address,tuple)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "FundraisingCampaignCreated"): EventFragment; - getEvent(nameOrSignatureOrTopic: "FundraisingCampaignUpdated"): EventFragment; - getEvent(nameOrSignatureOrTopic: "FundraisingConfigUpdated"): EventFragment; - getEvent( - nameOrSignatureOrTopic: "FundraisingContributionRefunded" - ): EventFragment; - getEvent( - nameOrSignatureOrTopic: "FundraisingContributorUpdated" - ): EventFragment; - getEvent(nameOrSignatureOrTopic: "FundraisingRewardsClaimed"): EventFragment; -} - -export interface FundraisingCampaignCreatedEventObject { - campaignId: BigNumber; - campaign: CampaignStructOutput; -} -export type FundraisingCampaignCreatedEvent = TypedEvent< - [BigNumber, CampaignStructOutput], - FundraisingCampaignCreatedEventObject ->; - -export type FundraisingCampaignCreatedEventFilter = - TypedEventFilter; - -export interface FundraisingCampaignUpdatedEventObject { - campaignId: BigNumber; - campaign: CampaignStructOutput; -} -export type FundraisingCampaignUpdatedEvent = TypedEvent< - [BigNumber, CampaignStructOutput], - FundraisingCampaignUpdatedEventObject ->; - -export type FundraisingCampaignUpdatedEventFilter = - TypedEventFilter; - -export interface FundraisingConfigUpdatedEventObject { - config: FundraisingStorage.ConfigStructOutput; -} -export type FundraisingConfigUpdatedEvent = TypedEvent< - [FundraisingStorage.ConfigStructOutput], - FundraisingConfigUpdatedEventObject ->; - -export type FundraisingConfigUpdatedEventFilter = - TypedEventFilter; - -export interface FundraisingContributionRefundedEventObject { - campaignId: BigNumber; - sender: string; - balance: AngelCoreStruct.GenericBalanceStructOutput; -} -export type FundraisingContributionRefundedEvent = TypedEvent< - [BigNumber, string, AngelCoreStruct.GenericBalanceStructOutput], - FundraisingContributionRefundedEventObject ->; - -export type FundraisingContributionRefundedEventFilter = - TypedEventFilter; - -export interface FundraisingContributorUpdatedEventObject { - campaignId: BigNumber; - sender: string; - contributorInfo: FundraisingStorage.ContributorInfoStructOutput; -} -export type FundraisingContributorUpdatedEvent = TypedEvent< - [BigNumber, string, FundraisingStorage.ContributorInfoStructOutput], - FundraisingContributorUpdatedEventObject ->; - -export type FundraisingContributorUpdatedEventFilter = - TypedEventFilter; - -export interface FundraisingRewardsClaimedEventObject { - campaignId: BigNumber; - sender: string; - balance: AngelCoreStruct.GenericBalanceStructOutput; -} -export type FundraisingRewardsClaimedEvent = TypedEvent< - [BigNumber, string, AngelCoreStruct.GenericBalanceStructOutput], - FundraisingRewardsClaimedEventObject ->; - -export type FundraisingRewardsClaimedEventFilter = - TypedEventFilter; - -export interface Fundraising extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: FundraisingInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - executeClaimRewards( - id: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeCloseCampaign( - id: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeContribute( - id: PromiseOrValue, - balance: BalanceStruct, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - executeCreate( - endowmentId: PromiseOrValue, - message: FundraisingMessage.CreateMsgStruct, - balance: BalanceStruct, - sender: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - executeRefundContributions( - id: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeTopUp( - id: PromiseOrValue, - balance: BalanceStruct, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - executeUpdateConfig( - campaignPeriodSeconds: PromiseOrValue, - taxRate: PromiseOrValue, - acceptedTokens: AngelCoreStruct.GenericBalanceStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getRegistrarConfig( - overrides?: CallOverrides - ): Promise<[RegistrarStorage.ConfigStructOutput]>; - - initFundraising( - curDetails: FundraisingMessage.InstantiateMsgStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - queryConfig( - overrides?: CallOverrides - ): Promise<[FundraisingStorage.ConfigStructOutput]>; - - queryDetails( - id: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[FundraisingMessage.DetailsResponseStructOutput]>; - }; - - executeClaimRewards( - id: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeCloseCampaign( - id: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeContribute( - id: PromiseOrValue, - balance: BalanceStruct, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - executeCreate( - endowmentId: PromiseOrValue, - message: FundraisingMessage.CreateMsgStruct, - balance: BalanceStruct, - sender: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - executeRefundContributions( - id: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeTopUp( - id: PromiseOrValue, - balance: BalanceStruct, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - executeUpdateConfig( - campaignPeriodSeconds: PromiseOrValue, - taxRate: PromiseOrValue, - acceptedTokens: AngelCoreStruct.GenericBalanceStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getRegistrarConfig( - overrides?: CallOverrides - ): Promise; - - initFundraising( - curDetails: FundraisingMessage.InstantiateMsgStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - queryConfig( - overrides?: CallOverrides - ): Promise; - - queryDetails( - id: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - callStatic: { - executeClaimRewards( - id: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - executeCloseCampaign( - id: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - executeContribute( - id: PromiseOrValue, - balance: BalanceStruct, - overrides?: CallOverrides - ): Promise; - - executeCreate( - endowmentId: PromiseOrValue, - message: FundraisingMessage.CreateMsgStruct, - balance: BalanceStruct, - sender: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - executeRefundContributions( - id: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - executeTopUp( - id: PromiseOrValue, - balance: BalanceStruct, - overrides?: CallOverrides - ): Promise; - - executeUpdateConfig( - campaignPeriodSeconds: PromiseOrValue, - taxRate: PromiseOrValue, - acceptedTokens: AngelCoreStruct.GenericBalanceStruct, - overrides?: CallOverrides - ): Promise; - - getRegistrarConfig( - overrides?: CallOverrides - ): Promise; - - initFundraising( - curDetails: FundraisingMessage.InstantiateMsgStruct, - overrides?: CallOverrides - ): Promise; - - queryConfig( - overrides?: CallOverrides - ): Promise; - - queryDetails( - id: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "FundraisingCampaignCreated(uint256,tuple)"( - campaignId?: null, - campaign?: null - ): FundraisingCampaignCreatedEventFilter; - FundraisingCampaignCreated( - campaignId?: null, - campaign?: null - ): FundraisingCampaignCreatedEventFilter; - - "FundraisingCampaignUpdated(uint256,tuple)"( - campaignId?: null, - campaign?: null - ): FundraisingCampaignUpdatedEventFilter; - FundraisingCampaignUpdated( - campaignId?: null, - campaign?: null - ): FundraisingCampaignUpdatedEventFilter; - - "FundraisingConfigUpdated(tuple)"( - config?: null - ): FundraisingConfigUpdatedEventFilter; - FundraisingConfigUpdated( - config?: null - ): FundraisingConfigUpdatedEventFilter; - - "FundraisingContributionRefunded(uint256,address,tuple)"( - campaignId?: null, - sender?: null, - balance?: null - ): FundraisingContributionRefundedEventFilter; - FundraisingContributionRefunded( - campaignId?: null, - sender?: null, - balance?: null - ): FundraisingContributionRefundedEventFilter; - - "FundraisingContributorUpdated(uint256,address,tuple)"( - campaignId?: null, - sender?: null, - contributorInfo?: null - ): FundraisingContributorUpdatedEventFilter; - FundraisingContributorUpdated( - campaignId?: null, - sender?: null, - contributorInfo?: null - ): FundraisingContributorUpdatedEventFilter; - - "FundraisingRewardsClaimed(uint256,address,tuple)"( - campaignId?: null, - sender?: null, - balance?: null - ): FundraisingRewardsClaimedEventFilter; - FundraisingRewardsClaimed( - campaignId?: null, - sender?: null, - balance?: null - ): FundraisingRewardsClaimedEventFilter; - }; - - estimateGas: { - executeClaimRewards( - id: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeCloseCampaign( - id: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeContribute( - id: PromiseOrValue, - balance: BalanceStruct, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - executeCreate( - endowmentId: PromiseOrValue, - message: FundraisingMessage.CreateMsgStruct, - balance: BalanceStruct, - sender: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - executeRefundContributions( - id: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeTopUp( - id: PromiseOrValue, - balance: BalanceStruct, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - executeUpdateConfig( - campaignPeriodSeconds: PromiseOrValue, - taxRate: PromiseOrValue, - acceptedTokens: AngelCoreStruct.GenericBalanceStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getRegistrarConfig(overrides?: CallOverrides): Promise; - - initFundraising( - curDetails: FundraisingMessage.InstantiateMsgStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - queryConfig(overrides?: CallOverrides): Promise; - - queryDetails( - id: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - }; - - populateTransaction: { - executeClaimRewards( - id: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeCloseCampaign( - id: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeContribute( - id: PromiseOrValue, - balance: BalanceStruct, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - executeCreate( - endowmentId: PromiseOrValue, - message: FundraisingMessage.CreateMsgStruct, - balance: BalanceStruct, - sender: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - executeRefundContributions( - id: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeTopUp( - id: PromiseOrValue, - balance: BalanceStruct, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - executeUpdateConfig( - campaignPeriodSeconds: PromiseOrValue, - taxRate: PromiseOrValue, - acceptedTokens: AngelCoreStruct.GenericBalanceStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - getRegistrarConfig( - overrides?: CallOverrides - ): Promise; - - initFundraising( - curDetails: FundraisingMessage.InstantiateMsgStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - queryConfig(overrides?: CallOverrides): Promise; - - queryDetails( - id: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - }; -} diff --git a/typechain-types/contracts/accessory/fundraising/FundraisingLib.ts b/typechain-types/contracts/accessory/fundraising/FundraisingLib.ts deleted file mode 100644 index 64fd93f3a..000000000 --- a/typechain-types/contracts/accessory/fundraising/FundraisingLib.ts +++ /dev/null @@ -1,130 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import type { FunctionFragment, Result } from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; -import type { - TypedEventFilter, - TypedEvent, - TypedListener, - OnEvent, - PromiseOrValue, -} from "../../../common"; - -export declare namespace AngelCoreStruct { - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; -} - -export interface FundraisingLibInterface extends utils.Interface { - functions: { - "thresholdMet((uint256,uint256[],address[]),(uint256,uint256[],address[]))": FunctionFragment; - }; - - getFunction(nameOrSignatureOrTopic: "thresholdMet"): FunctionFragment; - - encodeFunctionData( - functionFragment: "thresholdMet", - values: [ - AngelCoreStruct.GenericBalanceStruct, - AngelCoreStruct.GenericBalanceStruct - ] - ): string; - - decodeFunctionResult( - functionFragment: "thresholdMet", - data: BytesLike - ): Result; - - events: {}; -} - -export interface FundraisingLib extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: FundraisingLibInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - thresholdMet( - contributed: AngelCoreStruct.GenericBalanceStruct, - threshold: AngelCoreStruct.GenericBalanceStruct, - overrides?: CallOverrides - ): Promise<[boolean]>; - }; - - thresholdMet( - contributed: AngelCoreStruct.GenericBalanceStruct, - threshold: AngelCoreStruct.GenericBalanceStruct, - overrides?: CallOverrides - ): Promise; - - callStatic: { - thresholdMet( - contributed: AngelCoreStruct.GenericBalanceStruct, - threshold: AngelCoreStruct.GenericBalanceStruct, - overrides?: CallOverrides - ): Promise; - }; - - filters: {}; - - estimateGas: { - thresholdMet( - contributed: AngelCoreStruct.GenericBalanceStruct, - threshold: AngelCoreStruct.GenericBalanceStruct, - overrides?: CallOverrides - ): Promise; - }; - - populateTransaction: { - thresholdMet( - contributed: AngelCoreStruct.GenericBalanceStruct, - threshold: AngelCoreStruct.GenericBalanceStruct, - overrides?: CallOverrides - ): Promise; - }; -} diff --git a/typechain-types/contracts/accessory/fundraising/index.ts b/typechain-types/contracts/accessory/fundraising/index.ts deleted file mode 100644 index 446d175f5..000000000 --- a/typechain-types/contracts/accessory/fundraising/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { Fundraising } from "./Fundraising"; -export type { FundraisingLib } from "./FundraisingLib"; diff --git a/typechain-types/contracts/accessory/gift-cards/GiftCards.ts b/typechain-types/contracts/accessory/gift-cards/GiftCards.ts index 2eed086f2..9037e59f3 100644 --- a/typechain-types/contracts/accessory/gift-cards/GiftCards.ts +++ b/typechain-types/contracts/accessory/gift-cards/GiftCards.ts @@ -9,7 +9,6 @@ import type { CallOverrides, ContractTransaction, Overrides, - PayableOverrides, PopulatedTransaction, Signer, utils, @@ -28,38 +27,6 @@ import type { PromiseOrValue, } from "../../../common"; -export declare namespace AngelCoreStruct { - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type AssetBaseStruct = { - info: PromiseOrValue; - amount: PromiseOrValue; - addr: PromiseOrValue; - name: PromiseOrValue; - }; - - export type AssetBaseStructOutput = [number, BigNumber, string, string] & { - info: number; - amount: BigNumber; - addr: string; - name: string; - }; -} - export declare namespace GiftCardsStorage { export type ConfigStruct = { owner: PromiseOrValue; @@ -77,17 +44,15 @@ export declare namespace GiftCardsStorage { export type DepositStruct = { sender: PromiseOrValue; - token: AngelCoreStruct.AssetBaseStruct; + tokenAddress: PromiseOrValue; + amount: PromiseOrValue; claimed: PromiseOrValue; }; - export type DepositStructOutput = [ - string, - AngelCoreStruct.AssetBaseStructOutput, - boolean - ] & { + export type DepositStructOutput = [string, string, BigNumber, boolean] & { sender: string; - token: AngelCoreStruct.AssetBaseStructOutput; + tokenAddress: string; + amount: BigNumber; claimed: boolean; }; } @@ -107,26 +72,30 @@ export declare namespace GiftCardsMessage { export interface GiftCardsInterface extends utils.Interface { functions: { "executeClaim(uint256,address)": FunctionFragment; - "executeDeposit(address,address)": FunctionFragment; - "executeDepositERC20(address,address,(uint8,uint256,address,string))": FunctionFragment; - "executeSpend((uint8,uint256,address,string),uint256,uint256,uint256)": FunctionFragment; + "executeDepositERC20(address,address,uint256)": FunctionFragment; + "executeSpend(uint32,address,uint256,uint256,uint256)": FunctionFragment; "initialize((address,address))": FunctionFragment; - "queryBalance(address)": FunctionFragment; + "owner()": FunctionFragment; + "queryBalance(address,address)": FunctionFragment; "queryConfig()": FunctionFragment; "queryDeposit(uint256)": FunctionFragment; + "renounceOwnership()": FunctionFragment; + "transferOwnership(address)": FunctionFragment; "updateConfig(address,address,address)": FunctionFragment; }; getFunction( nameOrSignatureOrTopic: | "executeClaim" - | "executeDeposit" | "executeDepositERC20" | "executeSpend" | "initialize" + | "owner" | "queryBalance" | "queryConfig" | "queryDeposit" + | "renounceOwnership" + | "transferOwnership" | "updateConfig" ): FunctionFragment; @@ -134,22 +103,19 @@ export interface GiftCardsInterface extends utils.Interface { functionFragment: "executeClaim", values: [PromiseOrValue, PromiseOrValue] ): string; - encodeFunctionData( - functionFragment: "executeDeposit", - values: [PromiseOrValue, PromiseOrValue] - ): string; encodeFunctionData( functionFragment: "executeDepositERC20", values: [ PromiseOrValue, PromiseOrValue, - AngelCoreStruct.AssetBaseStruct + PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "executeSpend", values: [ - AngelCoreStruct.AssetBaseStruct, + PromiseOrValue, + PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue @@ -159,9 +125,10 @@ export interface GiftCardsInterface extends utils.Interface { functionFragment: "initialize", values: [GiftCardsMessage.InstantiateMsgStruct] ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; encodeFunctionData( functionFragment: "queryBalance", - values: [PromiseOrValue] + values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "queryConfig", @@ -171,6 +138,14 @@ export interface GiftCardsInterface extends utils.Interface { functionFragment: "queryDeposit", values: [PromiseOrValue] ): string; + encodeFunctionData( + functionFragment: "renounceOwnership", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "transferOwnership", + values: [PromiseOrValue] + ): string; encodeFunctionData( functionFragment: "updateConfig", values: [ @@ -184,10 +159,6 @@ export interface GiftCardsInterface extends utils.Interface { functionFragment: "executeClaim", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "executeDeposit", - data: BytesLike - ): Result; decodeFunctionResult( functionFragment: "executeDepositERC20", data: BytesLike @@ -197,6 +168,7 @@ export interface GiftCardsInterface extends utils.Interface { data: BytesLike ): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; decodeFunctionResult( functionFragment: "queryBalance", data: BytesLike @@ -209,28 +181,42 @@ export interface GiftCardsInterface extends utils.Interface { functionFragment: "queryDeposit", data: BytesLike ): Result; + decodeFunctionResult( + functionFragment: "renounceOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "updateConfig", data: BytesLike ): Result; events: { - "GiftCardsUpdateBalances(address,tuple)": EventFragment; + "GiftCardsUpdateBalances(address,address,uint256,uint8)": EventFragment; "GiftCardsUpdateConfig(tuple)": EventFragment; "GiftCardsUpdateDeposit(uint256,tuple)": EventFragment; + "Initialized(uint8)": EventFragment; + "OwnershipTransferred(address,address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "GiftCardsUpdateBalances"): EventFragment; getEvent(nameOrSignatureOrTopic: "GiftCardsUpdateConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "GiftCardsUpdateDeposit"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; } export interface GiftCardsUpdateBalancesEventObject { addr: string; - balance: AngelCoreStruct.GenericBalanceStructOutput; + token: string; + amt: BigNumber; + action: number; } export type GiftCardsUpdateBalancesEvent = TypedEvent< - [string, AngelCoreStruct.GenericBalanceStructOutput], + [string, string, BigNumber, number], GiftCardsUpdateBalancesEventObject >; @@ -260,6 +246,25 @@ export type GiftCardsUpdateDepositEvent = TypedEvent< export type GiftCardsUpdateDepositEventFilter = TypedEventFilter; +export interface InitializedEventObject { + version: number; +} +export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; + +export type InitializedEventFilter = TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent< + [string, string], + OwnershipTransferredEventObject +>; + +export type OwnershipTransferredEventFilter = + TypedEventFilter; + export interface GiftCards extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -293,36 +298,34 @@ export interface GiftCards extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - executeDeposit( - sender: PromiseOrValue, - toAddress: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - executeDepositERC20( - sender: PromiseOrValue, toAddress: PromiseOrValue, - fund: AngelCoreStruct.AssetBaseStruct, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executeSpend( - fund: AngelCoreStruct.AssetBaseStruct, endowmentId: PromiseOrValue, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, lockedPercentage: PromiseOrValue, liquidPercentage: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initialize( - curDetails: GiftCardsMessage.InstantiateMsgStruct, + details: GiftCardsMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + owner(overrides?: CallOverrides): Promise<[string]>; + queryBalance( - addr: PromiseOrValue, + userAddr: PromiseOrValue, + tokenAddr: PromiseOrValue, overrides?: CallOverrides - ): Promise<[AngelCoreStruct.GenericBalanceStructOutput]>; + ): Promise<[BigNumber]>; queryConfig( overrides?: CallOverrides @@ -333,6 +336,15 @@ export interface GiftCards extends BaseContract { overrides?: CallOverrides ): Promise<[GiftCardsStorage.DepositStructOutput]>; + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + updateConfig( owner: PromiseOrValue, keeper: PromiseOrValue, @@ -347,36 +359,34 @@ export interface GiftCards extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - executeDeposit( - sender: PromiseOrValue, - toAddress: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - executeDepositERC20( - sender: PromiseOrValue, toAddress: PromiseOrValue, - fund: AngelCoreStruct.AssetBaseStruct, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executeSpend( - fund: AngelCoreStruct.AssetBaseStruct, endowmentId: PromiseOrValue, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, lockedPercentage: PromiseOrValue, liquidPercentage: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initialize( - curDetails: GiftCardsMessage.InstantiateMsgStruct, + details: GiftCardsMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + owner(overrides?: CallOverrides): Promise; + queryBalance( - addr: PromiseOrValue, + userAddr: PromiseOrValue, + tokenAddr: PromiseOrValue, overrides?: CallOverrides - ): Promise; + ): Promise; queryConfig( overrides?: CallOverrides @@ -387,6 +397,15 @@ export interface GiftCards extends BaseContract { overrides?: CallOverrides ): Promise; + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + updateConfig( owner: PromiseOrValue, keeper: PromiseOrValue, @@ -401,36 +420,34 @@ export interface GiftCards extends BaseContract { overrides?: CallOverrides ): Promise; - executeDeposit( - sender: PromiseOrValue, - toAddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - executeDepositERC20( - sender: PromiseOrValue, toAddress: PromiseOrValue, - fund: AngelCoreStruct.AssetBaseStruct, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; executeSpend( - fund: AngelCoreStruct.AssetBaseStruct, endowmentId: PromiseOrValue, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, lockedPercentage: PromiseOrValue, liquidPercentage: PromiseOrValue, overrides?: CallOverrides ): Promise; initialize( - curDetails: GiftCardsMessage.InstantiateMsgStruct, + details: GiftCardsMessage.InstantiateMsgStruct, overrides?: CallOverrides ): Promise; + owner(overrides?: CallOverrides): Promise; + queryBalance( - addr: PromiseOrValue, + userAddr: PromiseOrValue, + tokenAddr: PromiseOrValue, overrides?: CallOverrides - ): Promise; + ): Promise; queryConfig( overrides?: CallOverrides @@ -441,6 +458,13 @@ export interface GiftCards extends BaseContract { overrides?: CallOverrides ): Promise; + renounceOwnership(overrides?: CallOverrides): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + updateConfig( owner: PromiseOrValue, keeper: PromiseOrValue, @@ -450,13 +474,17 @@ export interface GiftCards extends BaseContract { }; filters: { - "GiftCardsUpdateBalances(address,tuple)"( + "GiftCardsUpdateBalances(address,address,uint256,uint8)"( addr?: null, - balance?: null + token?: null, + amt?: null, + action?: null ): GiftCardsUpdateBalancesEventFilter; GiftCardsUpdateBalances( addr?: null, - balance?: null + token?: null, + amt?: null, + action?: null ): GiftCardsUpdateBalancesEventFilter; "GiftCardsUpdateConfig(tuple)"( @@ -472,6 +500,18 @@ export interface GiftCards extends BaseContract { depositId?: null, deposit?: null ): GiftCardsUpdateDepositEventFilter; + + "Initialized(uint8)"(version?: null): InitializedEventFilter; + Initialized(version?: null): InitializedEventFilter; + + "OwnershipTransferred(address,address)"( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; }; estimateGas: { @@ -481,34 +521,32 @@ export interface GiftCards extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - executeDeposit( - sender: PromiseOrValue, - toAddress: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - executeDepositERC20( - sender: PromiseOrValue, toAddress: PromiseOrValue, - fund: AngelCoreStruct.AssetBaseStruct, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executeSpend( - fund: AngelCoreStruct.AssetBaseStruct, endowmentId: PromiseOrValue, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, lockedPercentage: PromiseOrValue, liquidPercentage: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initialize( - curDetails: GiftCardsMessage.InstantiateMsgStruct, + details: GiftCardsMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + owner(overrides?: CallOverrides): Promise; + queryBalance( - addr: PromiseOrValue, + userAddr: PromiseOrValue, + tokenAddr: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -519,6 +557,15 @@ export interface GiftCards extends BaseContract { overrides?: CallOverrides ): Promise; + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + updateConfig( owner: PromiseOrValue, keeper: PromiseOrValue, @@ -534,34 +581,32 @@ export interface GiftCards extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - executeDeposit( - sender: PromiseOrValue, - toAddress: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - executeDepositERC20( - sender: PromiseOrValue, toAddress: PromiseOrValue, - fund: AngelCoreStruct.AssetBaseStruct, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executeSpend( - fund: AngelCoreStruct.AssetBaseStruct, endowmentId: PromiseOrValue, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, lockedPercentage: PromiseOrValue, liquidPercentage: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initialize( - curDetails: GiftCardsMessage.InstantiateMsgStruct, + details: GiftCardsMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + owner(overrides?: CallOverrides): Promise; + queryBalance( - addr: PromiseOrValue, + userAddr: PromiseOrValue, + tokenAddr: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -572,6 +617,15 @@ export interface GiftCards extends BaseContract { overrides?: CallOverrides ): Promise; + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + updateConfig( owner: PromiseOrValue, keeper: PromiseOrValue, diff --git a/typechain-types/contracts/accessory/index.ts b/typechain-types/contracts/accessory/index.ts index b4f8f2cb7..fa24ec154 100644 --- a/typechain-types/contracts/accessory/index.ts +++ b/typechain-types/contracts/accessory/index.ts @@ -1,7 +1,5 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import type * as fundraising from "./fundraising"; -export type { fundraising }; import type * as giftCards from "./gift-cards"; export type { giftCards }; diff --git a/typechain-types/contracts/core/accounts/IAccounts.ts b/typechain-types/contracts/core/accounts/IAccounts.ts index 2f03f44b9..b2372b894 100644 --- a/typechain-types/contracts/core/accounts/IAccounts.ts +++ b/typechain-types/contracts/core/accounts/IAccounts.ts @@ -24,6 +24,28 @@ import type { } from "../../../common"; export declare namespace AngelCoreStruct { + export type BeneficiaryDataStruct = { + endowId: PromiseOrValue; + fundId: PromiseOrValue; + addr: PromiseOrValue; + }; + + export type BeneficiaryDataStructOutput = [number, BigNumber, string] & { + endowId: number; + fundId: BigNumber; + addr: string; + }; + + export type BeneficiaryStruct = { + data: AngelCoreStruct.BeneficiaryDataStruct; + enumData: PromiseOrValue; + }; + + export type BeneficiaryStructOutput = [ + AngelCoreStruct.BeneficiaryDataStructOutput, + number + ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; + export type CategoriesStruct = { sdgs: PromiseOrValue[]; general: PromiseOrValue[]; @@ -56,24 +78,22 @@ export declare namespace AngelCoreStruct { export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -85,28 +105,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -114,7 +134,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -122,17 +142,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -177,47 +197,37 @@ export declare namespace AngelCoreStruct { }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -243,21 +253,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -316,28 +324,6 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - export type DonationsReceivedStruct = { locked: PromiseOrValue; liquid: PromiseOrValue; @@ -347,26 +333,6 @@ export declare namespace AngelCoreStruct { locked: BigNumber; liquid: BigNumber; }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; } export declare namespace AccountMessages { @@ -378,28 +344,28 @@ export declare namespace AccountMessages { name: PromiseOrValue; categories: AngelCoreStruct.CategoriesStruct; tier: PromiseOrValue; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; logo: PromiseOrValue; image: PromiseOrValue; - cw4_members: PromiseOrValue[]; + members: PromiseOrValue[]; kycDonorsOnly: PromiseOrValue; threshold: PromiseOrValue; - cw3MaxVotingPeriod: AngelCoreStruct.DurationStruct; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; + maxVotingPeriod: AngelCoreStruct.DurationStruct; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; splitMax: PromiseOrValue; splitMin: PromiseOrValue; splitDefault: PromiseOrValue; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; withdrawFee: AngelCoreStruct.EndowmentFeeStruct; depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; dao: AngelCoreStruct.DaoSetupStruct; createDao: PromiseOrValue; proposalLink: PromiseOrValue; settingsController: AngelCoreStruct.SettingsControllerStruct; parent: PromiseOrValue; - maturityWhitelist: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; ignoreUserSplits: PromiseOrValue; splitToLiquid: AngelCoreStruct.SplitDetailsStruct; referralId: PromiseOrValue; @@ -433,7 +399,7 @@ export declare namespace AccountMessages { boolean, BigNumber, AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, + number, string[], boolean, AngelCoreStruct.SplitDetailsStructOutput, @@ -446,28 +412,28 @@ export declare namespace AccountMessages { name: string; categories: AngelCoreStruct.CategoriesStructOutput; tier: BigNumber; - endow_type: number; + endowType: number; logo: string; image: string; - cw4_members: string[]; + members: string[]; kycDonorsOnly: boolean; threshold: BigNumber; - cw3MaxVotingPeriod: AngelCoreStruct.DurationStructOutput; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; + maxVotingPeriod: AngelCoreStruct.DurationStructOutput; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; splitMax: BigNumber; splitMin: BigNumber; splitDefault: BigNumber; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; dao: AngelCoreStruct.DaoSetupStructOutput; createDao: boolean; proposalLink: BigNumber; settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - maturityWhitelist: string[]; + parent: number; + maturityAllowlist: string[]; ignoreUserSplits: boolean; splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; referralId: BigNumber; @@ -479,8 +445,8 @@ export declare namespace AccountMessages { liquidPercentage: PromiseOrValue; }; - export type DepositRequestStructOutput = [BigNumber, BigNumber, BigNumber] & { - id: BigNumber; + export type DepositRequestStructOutput = [number, BigNumber, BigNumber] & { + id: number; lockedPercentage: BigNumber; liquidPercentage: BigNumber; }; @@ -489,12 +455,34 @@ export declare namespace AccountMessages { owner: PromiseOrValue; version: PromiseOrValue; registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; }; - export type ConfigResponseStructOutput = [string, string, string] & { + export type ConfigResponseStructOutput = [ + string, + string, + string, + BigNumber, + BigNumber, + string, + string, + string, + AngelCoreStruct.EndowmentFeeStructOutput + ] & { owner: string; version: string; registrarContract: string; + nextAccountId: BigNumber; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; }; export type StateResponseStruct = { @@ -516,54 +504,29 @@ export declare namespace AccountMessages { export type UpdateEndowmentDetailsRequestStruct = { id: PromiseOrValue; owner: PromiseOrValue; - kycDonorsOnly: PromiseOrValue; - endow_type: PromiseOrValue; name: PromiseOrValue; categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; logo: PromiseOrValue; image: PromiseOrValue; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; }; export type UpdateEndowmentDetailsRequestStructOutput = [ - BigNumber, - string, - boolean, number, string, + string, AngelCoreStruct.CategoriesStructOutput, - BigNumber, string, string, - AngelCoreStruct.RebalanceDetailsStructOutput + LocalRegistrarLib.RebalanceParamsStructOutput ] & { - id: BigNumber; + id: number; owner: string; - kycDonorsOnly: boolean; - endow_type: number; name: string; categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; logo: string; image: string; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - }; - - export type UpdateEndowmentStatusRequestStruct = { - endowmentId: PromiseOrValue; - status: PromiseOrValue; - beneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type UpdateEndowmentStatusRequestStructOutput = [ - BigNumber, - BigNumber, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - endowmentId: BigNumber; - status: BigNumber; - beneficiary: AngelCoreStruct.BeneficiaryStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; }; export type StrategyStruct = { @@ -577,37 +540,61 @@ export declare namespace AccountMessages { }; } +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + export declare namespace AccountStorage { export type EndowmentStruct = { owner: PromiseOrValue; name: PromiseOrValue; categories: AngelCoreStruct.CategoriesStruct; tier: PromiseOrValue; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; logo: PromiseOrValue; image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; maturityTime: PromiseOrValue; strategies: AngelCoreStruct.AccountStrategiesStruct; oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; kycDonorsOnly: PromiseOrValue; pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; proposalLink: PromiseOrValue; + multisig: PromiseOrValue; dao: PromiseOrValue; daoToken: PromiseOrValue; donationMatchActive: PromiseOrValue; donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; withdrawFee: AngelCoreStruct.EndowmentFeeStruct; depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; settingsController: AngelCoreStruct.SettingsControllerStruct; parent: PromiseOrValue; ignoreUserSplits: PromiseOrValue; @@ -623,17 +610,14 @@ export declare namespace AccountStorage { number, string, string, - number, - boolean, - boolean, BigNumber, AngelCoreStruct.AccountStrategiesStructOutput, AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, boolean, BigNumber, BigNumber, - BigNumber, + string, string, string, boolean, @@ -646,7 +630,7 @@ export declare namespace AccountStorage { AngelCoreStruct.EndowmentFeeStructOutput, AngelCoreStruct.EndowmentFeeStructOutput, AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, + number, boolean, AngelCoreStruct.SplitDetailsStructOutput, BigNumber @@ -655,33 +639,30 @@ export declare namespace AccountStorage { name: string; categories: AngelCoreStruct.CategoriesStructOutput; tier: BigNumber; - endow_type: number; + endowType: number; logo: string; image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; maturityTime: BigNumber; strategies: AngelCoreStruct.AccountStrategiesStructOutput; oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; kycDonorsOnly: boolean; pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; proposalLink: BigNumber; + multisig: string; dao: string; daoToken: string; donationMatchActive: boolean; donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; + parent: number; ignoreUserSplits: boolean; splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; referralId: BigNumber; @@ -690,24 +671,25 @@ export declare namespace AccountStorage { export interface IAccountsInterface extends utils.Interface { functions: { - "copycatStrategies(uint256,uint8,uint256)": FunctionFragment; - "createEndowment((address,bool,uint256,uint256,string,(uint256[],uint256[]),uint256,uint8,string,string,address[],bool,uint256,(uint8,(uint256,uint256)),address[],address[],uint256,uint256,uint256,(address,uint256,bool),(address,uint256,bool),(address,uint256,bool),(address,uint256,bool),(uint256,uint256,uint256,uint256,uint256,uint128,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256))),bool,uint256,((bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256))),uint256,address[],bool,(uint256,uint256,uint256),uint256))": FunctionFragment; - "depositERC20(address,(uint256,uint256,uint256),address,uint256)": FunctionFragment; + "closeEndowment(uint32,((uint32,uint256,address),uint8))": FunctionFragment; + "copycatStrategies(uint32,uint8,uint256)": FunctionFragment; + "createEndowment((address,bool,uint256,uint256,string,(uint256[],uint256[]),uint256,uint8,string,string,address[],bool,uint256,(uint8,(uint256,uint256)),address[],address[],uint256,uint256,uint256,(address,uint256),(address,uint256),(address,uint256),(address,uint256),(uint256,uint256,uint256,uint256,uint256,uint128,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256))),bool,uint256,((bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256))),uint32,address[],bool,(uint256,uint256,uint256),uint256))": FunctionFragment; + "depositERC20(address,(uint32,uint256,uint256),address,uint256)": FunctionFragment; "queryConfig()": FunctionFragment; - "queryEndowmentDetails(uint256)": FunctionFragment; - "queryState(uint256)": FunctionFragment; - "swapToken(uint256,uint8,uint128,address,address)": FunctionFragment; + "queryEndowmentDetails(uint32)": FunctionFragment; + "queryState(uint32)": FunctionFragment; + "swapToken(uint32,uint8,uint128,address,address)": FunctionFragment; "updateConfig(address,uint256)": FunctionFragment; - "updateDelegate(uint256,string,string,address,uint256)": FunctionFragment; - "updateEndowmentDetails((uint256,address,bool,uint8,string,(uint256[],uint256[]),uint256,string,string,(bool,bool,uint256,bool,uint256)))": FunctionFragment; - "updateEndowmentStatusMsg((uint256,uint256,((uint256,address),uint8)))": FunctionFragment; + "updateDelegate(uint32,string,string,address,uint256)": FunctionFragment; + "updateEndowmentDetails((uint32,address,string,(uint256[],uint256[]),string,string,(bool,uint32,uint32,bool,uint32,uint32)))": FunctionFragment; "updateOwner(address)": FunctionFragment; - "updateStrategies(uint256,uint8,(string,uint256)[])": FunctionFragment; + "updateStrategies(uint32,uint8,(string,uint256)[])": FunctionFragment; "vaultsInvest(uint32,uint8,address[],uint256[])": FunctionFragment; }; getFunction( nameOrSignatureOrTopic: + | "closeEndowment" | "copycatStrategies" | "createEndowment" | "depositERC20" @@ -718,12 +700,15 @@ export interface IAccountsInterface extends utils.Interface { | "updateConfig" | "updateDelegate" | "updateEndowmentDetails" - | "updateEndowmentStatusMsg" | "updateOwner" | "updateStrategies" | "vaultsInvest" ): FunctionFragment; + encodeFunctionData( + functionFragment: "closeEndowment", + values: [PromiseOrValue, AngelCoreStruct.BeneficiaryStruct] + ): string; encodeFunctionData( functionFragment: "copycatStrategies", values: [ @@ -785,10 +770,6 @@ export interface IAccountsInterface extends utils.Interface { functionFragment: "updateEndowmentDetails", values: [AccountMessages.UpdateEndowmentDetailsRequestStruct] ): string; - encodeFunctionData( - functionFragment: "updateEndowmentStatusMsg", - values: [AccountMessages.UpdateEndowmentStatusRequestStruct] - ): string; encodeFunctionData( functionFragment: "updateOwner", values: [PromiseOrValue] @@ -811,6 +792,10 @@ export interface IAccountsInterface extends utils.Interface { ] ): string; + decodeFunctionResult( + functionFragment: "closeEndowment", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "copycatStrategies", data: BytesLike @@ -845,10 +830,6 @@ export interface IAccountsInterface extends utils.Interface { functionFragment: "updateEndowmentDetails", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "updateEndowmentStatusMsg", - data: BytesLike - ): Result; decodeFunctionResult( functionFragment: "updateOwner", data: BytesLike @@ -892,6 +873,12 @@ export interface IAccounts extends BaseContract { removeListener: OnEvent; functions: { + closeEndowment( + id: PromiseOrValue, + beneficiary: AngelCoreStruct.BeneficiaryStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + copycatStrategies( id: PromiseOrValue, acctType: PromiseOrValue, @@ -900,15 +887,15 @@ export interface IAccounts extends BaseContract { ): Promise; createEndowment( - curDetails: AccountMessages.CreateEndowmentRequestStruct, + details: AccountMessages.CreateEndowmentRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; depositERC20( senderAddr: PromiseOrValue, - curDetails: AccountMessages.DepositRequestStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, + details: AccountMessages.DepositRequestStruct, + tokenaddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -917,21 +904,21 @@ export interface IAccounts extends BaseContract { ): Promise<[AccountMessages.ConfigResponseStructOutput]>; queryEndowmentDetails( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise<[AccountStorage.EndowmentStructOutput]>; queryState( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise<[AccountMessages.StateResponseStructOutput]>; swapToken( - curId: PromiseOrValue, + id: PromiseOrValue, arg1: PromiseOrValue, - curAmount: PromiseOrValue, - curTokenin: PromiseOrValue, - curTokenout: PromiseOrValue, + amount: PromiseOrValue, + tokenin: PromiseOrValue, + tokenout: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -951,12 +938,7 @@ export interface IAccounts extends BaseContract { ): Promise; updateEndowmentDetails( - curDetails: AccountMessages.UpdateEndowmentDetailsRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateEndowmentStatusMsg( - curDetails: AccountMessages.UpdateEndowmentStatusRequestStruct, + details: AccountMessages.UpdateEndowmentDetailsRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -973,14 +955,20 @@ export interface IAccounts extends BaseContract { ): Promise; vaultsInvest( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curTokens: PromiseOrValue[], - curAmount: PromiseOrValue[], + id: PromiseOrValue, + accountType: PromiseOrValue, + tokens: PromiseOrValue[], + amount: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; + closeEndowment( + id: PromiseOrValue, + beneficiary: AngelCoreStruct.BeneficiaryStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + copycatStrategies( id: PromiseOrValue, acctType: PromiseOrValue, @@ -989,15 +977,15 @@ export interface IAccounts extends BaseContract { ): Promise; createEndowment( - curDetails: AccountMessages.CreateEndowmentRequestStruct, + details: AccountMessages.CreateEndowmentRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; depositERC20( senderAddr: PromiseOrValue, - curDetails: AccountMessages.DepositRequestStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, + details: AccountMessages.DepositRequestStruct, + tokenaddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1006,21 +994,21 @@ export interface IAccounts extends BaseContract { ): Promise; queryEndowmentDetails( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryState( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; swapToken( - curId: PromiseOrValue, + id: PromiseOrValue, arg1: PromiseOrValue, - curAmount: PromiseOrValue, - curTokenin: PromiseOrValue, - curTokenout: PromiseOrValue, + amount: PromiseOrValue, + tokenin: PromiseOrValue, + tokenout: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1040,12 +1028,7 @@ export interface IAccounts extends BaseContract { ): Promise; updateEndowmentDetails( - curDetails: AccountMessages.UpdateEndowmentDetailsRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateEndowmentStatusMsg( - curDetails: AccountMessages.UpdateEndowmentStatusRequestStruct, + details: AccountMessages.UpdateEndowmentDetailsRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1062,14 +1045,20 @@ export interface IAccounts extends BaseContract { ): Promise; vaultsInvest( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curTokens: PromiseOrValue[], - curAmount: PromiseOrValue[], + id: PromiseOrValue, + accountType: PromiseOrValue, + tokens: PromiseOrValue[], + amount: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { + closeEndowment( + id: PromiseOrValue, + beneficiary: AngelCoreStruct.BeneficiaryStruct, + overrides?: CallOverrides + ): Promise; + copycatStrategies( id: PromiseOrValue, acctType: PromiseOrValue, @@ -1078,15 +1067,15 @@ export interface IAccounts extends BaseContract { ): Promise; createEndowment( - curDetails: AccountMessages.CreateEndowmentRequestStruct, + details: AccountMessages.CreateEndowmentRequestStruct, overrides?: CallOverrides ): Promise; depositERC20( senderAddr: PromiseOrValue, - curDetails: AccountMessages.DepositRequestStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, + details: AccountMessages.DepositRequestStruct, + tokenaddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -1095,21 +1084,21 @@ export interface IAccounts extends BaseContract { ): Promise; queryEndowmentDetails( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryState( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; swapToken( - curId: PromiseOrValue, + id: PromiseOrValue, arg1: PromiseOrValue, - curAmount: PromiseOrValue, - curTokenin: PromiseOrValue, - curTokenout: PromiseOrValue, + amount: PromiseOrValue, + tokenin: PromiseOrValue, + tokenout: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -1129,12 +1118,7 @@ export interface IAccounts extends BaseContract { ): Promise; updateEndowmentDetails( - curDetails: AccountMessages.UpdateEndowmentDetailsRequestStruct, - overrides?: CallOverrides - ): Promise; - - updateEndowmentStatusMsg( - curDetails: AccountMessages.UpdateEndowmentStatusRequestStruct, + details: AccountMessages.UpdateEndowmentDetailsRequestStruct, overrides?: CallOverrides ): Promise; @@ -1151,10 +1135,10 @@ export interface IAccounts extends BaseContract { ): Promise; vaultsInvest( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curTokens: PromiseOrValue[], - curAmount: PromiseOrValue[], + id: PromiseOrValue, + accountType: PromiseOrValue, + tokens: PromiseOrValue[], + amount: PromiseOrValue[], overrides?: CallOverrides ): Promise; }; @@ -1162,6 +1146,12 @@ export interface IAccounts extends BaseContract { filters: {}; estimateGas: { + closeEndowment( + id: PromiseOrValue, + beneficiary: AngelCoreStruct.BeneficiaryStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + copycatStrategies( id: PromiseOrValue, acctType: PromiseOrValue, @@ -1170,36 +1160,36 @@ export interface IAccounts extends BaseContract { ): Promise; createEndowment( - curDetails: AccountMessages.CreateEndowmentRequestStruct, + details: AccountMessages.CreateEndowmentRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; depositERC20( senderAddr: PromiseOrValue, - curDetails: AccountMessages.DepositRequestStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, + details: AccountMessages.DepositRequestStruct, + tokenaddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; queryConfig(overrides?: CallOverrides): Promise; queryEndowmentDetails( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryState( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; swapToken( - curId: PromiseOrValue, + id: PromiseOrValue, arg1: PromiseOrValue, - curAmount: PromiseOrValue, - curTokenin: PromiseOrValue, - curTokenout: PromiseOrValue, + amount: PromiseOrValue, + tokenin: PromiseOrValue, + tokenout: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1219,12 +1209,7 @@ export interface IAccounts extends BaseContract { ): Promise; updateEndowmentDetails( - curDetails: AccountMessages.UpdateEndowmentDetailsRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateEndowmentStatusMsg( - curDetails: AccountMessages.UpdateEndowmentStatusRequestStruct, + details: AccountMessages.UpdateEndowmentDetailsRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1241,15 +1226,21 @@ export interface IAccounts extends BaseContract { ): Promise; vaultsInvest( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curTokens: PromiseOrValue[], - curAmount: PromiseOrValue[], + id: PromiseOrValue, + accountType: PromiseOrValue, + tokens: PromiseOrValue[], + amount: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { + closeEndowment( + id: PromiseOrValue, + beneficiary: AngelCoreStruct.BeneficiaryStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + copycatStrategies( id: PromiseOrValue, acctType: PromiseOrValue, @@ -1258,36 +1249,36 @@ export interface IAccounts extends BaseContract { ): Promise; createEndowment( - curDetails: AccountMessages.CreateEndowmentRequestStruct, + details: AccountMessages.CreateEndowmentRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; depositERC20( senderAddr: PromiseOrValue, - curDetails: AccountMessages.DepositRequestStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, + details: AccountMessages.DepositRequestStruct, + tokenaddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; queryConfig(overrides?: CallOverrides): Promise; queryEndowmentDetails( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryState( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; swapToken( - curId: PromiseOrValue, + id: PromiseOrValue, arg1: PromiseOrValue, - curAmount: PromiseOrValue, - curTokenin: PromiseOrValue, - curTokenout: PromiseOrValue, + amount: PromiseOrValue, + tokenin: PromiseOrValue, + tokenout: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1307,12 +1298,7 @@ export interface IAccounts extends BaseContract { ): Promise; updateEndowmentDetails( - curDetails: AccountMessages.UpdateEndowmentDetailsRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateEndowmentStatusMsg( - curDetails: AccountMessages.UpdateEndowmentStatusRequestStruct, + details: AccountMessages.UpdateEndowmentDetailsRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1329,10 +1315,10 @@ export interface IAccounts extends BaseContract { ): Promise; vaultsInvest( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curTokens: PromiseOrValue[], - curAmount: PromiseOrValue[], + id: PromiseOrValue, + accountType: PromiseOrValue, + tokens: PromiseOrValue[], + amount: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/diamond/facets/DiamondCutFacet.ts b/typechain-types/contracts/core/accounts/diamond/facets/DiamondCutFacet.ts index 9d848c5a2..843da3c94 100644 --- a/typechain-types/contracts/core/accounts/diamond/facets/DiamondCutFacet.ts +++ b/typechain-types/contracts/core/accounts/diamond/facets/DiamondCutFacet.ts @@ -67,9 +67,9 @@ export interface DiamondCutFacetInterface extends utils.Interface { } export interface DiamondCutEventObject { - curDiamondcut: IDiamondCut.FacetCutStructOutput[]; - curInit: string; - curCalldata: string; + diamondcut: IDiamondCut.FacetCutStructOutput[]; + init: string; + data: string; } export type DiamondCutEvent = TypedEvent< [IDiamondCut.FacetCutStructOutput[], string, string], @@ -106,56 +106,56 @@ export interface DiamondCutFacet extends BaseContract { functions: { diamondCut( - curDiamondcut: IDiamondCut.FacetCutStruct[], - curInit: PromiseOrValue, - curCalldata: PromiseOrValue, + diamondcut: IDiamondCut.FacetCutStruct[], + init: PromiseOrValue, + data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diamondCut( - curDiamondcut: IDiamondCut.FacetCutStruct[], - curInit: PromiseOrValue, - curCalldata: PromiseOrValue, + diamondcut: IDiamondCut.FacetCutStruct[], + init: PromiseOrValue, + data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { diamondCut( - curDiamondcut: IDiamondCut.FacetCutStruct[], - curInit: PromiseOrValue, - curCalldata: PromiseOrValue, + diamondcut: IDiamondCut.FacetCutStruct[], + init: PromiseOrValue, + data: PromiseOrValue, overrides?: CallOverrides ): Promise; }; filters: { "DiamondCut(tuple[],address,bytes)"( - curDiamondcut?: null, - curInit?: null, - curCalldata?: null + diamondcut?: null, + init?: null, + data?: null ): DiamondCutEventFilter; DiamondCut( - curDiamondcut?: null, - curInit?: null, - curCalldata?: null + diamondcut?: null, + init?: null, + data?: null ): DiamondCutEventFilter; }; estimateGas: { diamondCut( - curDiamondcut: IDiamondCut.FacetCutStruct[], - curInit: PromiseOrValue, - curCalldata: PromiseOrValue, + diamondcut: IDiamondCut.FacetCutStruct[], + init: PromiseOrValue, + data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { diamondCut( - curDiamondcut: IDiamondCut.FacetCutStruct[], - curInit: PromiseOrValue, - curCalldata: PromiseOrValue, + diamondcut: IDiamondCut.FacetCutStruct[], + init: PromiseOrValue, + data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/diamond/facets/DiamondLoupeFacet.ts b/typechain-types/contracts/core/accounts/diamond/facets/DiamondLoupeFacet.ts index 8b9e3c78e..c58388a92 100644 --- a/typechain-types/contracts/core/accounts/diamond/facets/DiamondLoupeFacet.ts +++ b/typechain-types/contracts/core/accounts/diamond/facets/DiamondLoupeFacet.ts @@ -117,62 +117,62 @@ export interface DiamondLoupeFacet extends BaseContract { functions: { facetAddress( - curFunctionselector: PromiseOrValue, + functionSelector: PromiseOrValue, overrides?: CallOverrides - ): Promise<[string] & { curFacetaddress: string }>; + ): Promise<[string] & { facetAddress_: string }>; facetAddresses( overrides?: CallOverrides - ): Promise<[string[]] & { curFacetaddresses: string[] }>; + ): Promise<[string[]] & { facetAddresses_: string[] }>; facetFunctionSelectors( - curFacet: PromiseOrValue, + facet: PromiseOrValue, overrides?: CallOverrides - ): Promise<[string[]] & { curFacetfunctionselectors: string[] }>; + ): Promise<[string[]] & { facetfunctionselectors: string[] }>; facets( overrides?: CallOverrides ): Promise< [IDiamondLoupe.FacetStructOutput[]] & { - curFacets: IDiamondLoupe.FacetStructOutput[]; + facets_: IDiamondLoupe.FacetStructOutput[]; } >; supportsInterface( - curInterfaceid: PromiseOrValue, + interfaceId: PromiseOrValue, overrides?: CallOverrides ): Promise<[boolean]>; }; facetAddress( - curFunctionselector: PromiseOrValue, + functionSelector: PromiseOrValue, overrides?: CallOverrides ): Promise; facetAddresses(overrides?: CallOverrides): Promise; facetFunctionSelectors( - curFacet: PromiseOrValue, + facet: PromiseOrValue, overrides?: CallOverrides ): Promise; facets(overrides?: CallOverrides): Promise; supportsInterface( - curInterfaceid: PromiseOrValue, + interfaceId: PromiseOrValue, overrides?: CallOverrides ): Promise; callStatic: { facetAddress( - curFunctionselector: PromiseOrValue, + functionSelector: PromiseOrValue, overrides?: CallOverrides ): Promise; facetAddresses(overrides?: CallOverrides): Promise; facetFunctionSelectors( - curFacet: PromiseOrValue, + facet: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -181,7 +181,7 @@ export interface DiamondLoupeFacet extends BaseContract { ): Promise; supportsInterface( - curInterfaceid: PromiseOrValue, + interfaceId: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -190,42 +190,42 @@ export interface DiamondLoupeFacet extends BaseContract { estimateGas: { facetAddress( - curFunctionselector: PromiseOrValue, + functionSelector: PromiseOrValue, overrides?: CallOverrides ): Promise; facetAddresses(overrides?: CallOverrides): Promise; facetFunctionSelectors( - curFacet: PromiseOrValue, + facet: PromiseOrValue, overrides?: CallOverrides ): Promise; facets(overrides?: CallOverrides): Promise; supportsInterface( - curInterfaceid: PromiseOrValue, + interfaceId: PromiseOrValue, overrides?: CallOverrides ): Promise; }; populateTransaction: { facetAddress( - curFunctionselector: PromiseOrValue, + functionSelector: PromiseOrValue, overrides?: CallOverrides ): Promise; facetAddresses(overrides?: CallOverrides): Promise; facetFunctionSelectors( - curFacet: PromiseOrValue, + facet: PromiseOrValue, overrides?: CallOverrides ): Promise; facets(overrides?: CallOverrides): Promise; supportsInterface( - curInterfaceid: PromiseOrValue, + interfaceId: PromiseOrValue, overrides?: CallOverrides ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/diamond/facets/OwnershipFacet.ts b/typechain-types/contracts/core/accounts/diamond/facets/OwnershipFacet.ts index 1ff47e613..31608400d 100644 --- a/typechain-types/contracts/core/accounts/diamond/facets/OwnershipFacet.ts +++ b/typechain-types/contracts/core/accounts/diamond/facets/OwnershipFacet.ts @@ -94,10 +94,10 @@ export interface OwnershipFacet extends BaseContract { removeListener: OnEvent; functions: { - owner(overrides?: CallOverrides): Promise<[string] & { curOwner: string }>; + owner(overrides?: CallOverrides): Promise<[string] & { owner_: string }>; transferOwnership( - curNewowner: PromiseOrValue, + newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -105,7 +105,7 @@ export interface OwnershipFacet extends BaseContract { owner(overrides?: CallOverrides): Promise; transferOwnership( - curNewowner: PromiseOrValue, + newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -113,7 +113,7 @@ export interface OwnershipFacet extends BaseContract { owner(overrides?: CallOverrides): Promise; transferOwnership( - curNewowner: PromiseOrValue, + newOwner: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -133,7 +133,7 @@ export interface OwnershipFacet extends BaseContract { owner(overrides?: CallOverrides): Promise; transferOwnership( - curNewowner: PromiseOrValue, + newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -142,7 +142,7 @@ export interface OwnershipFacet extends BaseContract { owner(overrides?: CallOverrides): Promise; transferOwnership( - curNewowner: PromiseOrValue, + newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/diamond/interfaces/IDiamondCut.ts b/typechain-types/contracts/core/accounts/diamond/interfaces/IDiamondCut.ts index b296cd8fc..408ea799d 100644 --- a/typechain-types/contracts/core/accounts/diamond/interfaces/IDiamondCut.ts +++ b/typechain-types/contracts/core/accounts/diamond/interfaces/IDiamondCut.ts @@ -67,9 +67,9 @@ export interface IDiamondCutInterface extends utils.Interface { } export interface DiamondCutEventObject { - curDiamondcut: IDiamondCut.FacetCutStructOutput[]; - curInit: string; - curCalldata: string; + diamondcut: IDiamondCut.FacetCutStructOutput[]; + init: string; + data: string; } export type DiamondCutEvent = TypedEvent< [IDiamondCut.FacetCutStructOutput[], string, string], @@ -106,56 +106,56 @@ export interface IDiamondCut extends BaseContract { functions: { diamondCut( - curDiamondcut: IDiamondCut.FacetCutStruct[], - curInit: PromiseOrValue, - curCalldata: PromiseOrValue, + diamondcut: IDiamondCut.FacetCutStruct[], + init: PromiseOrValue, + data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diamondCut( - curDiamondcut: IDiamondCut.FacetCutStruct[], - curInit: PromiseOrValue, - curCalldata: PromiseOrValue, + diamondcut: IDiamondCut.FacetCutStruct[], + init: PromiseOrValue, + data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { diamondCut( - curDiamondcut: IDiamondCut.FacetCutStruct[], - curInit: PromiseOrValue, - curCalldata: PromiseOrValue, + diamondcut: IDiamondCut.FacetCutStruct[], + init: PromiseOrValue, + data: PromiseOrValue, overrides?: CallOverrides ): Promise; }; filters: { "DiamondCut(tuple[],address,bytes)"( - curDiamondcut?: null, - curInit?: null, - curCalldata?: null + diamondcut?: null, + init?: null, + data?: null ): DiamondCutEventFilter; DiamondCut( - curDiamondcut?: null, - curInit?: null, - curCalldata?: null + diamondcut?: null, + init?: null, + data?: null ): DiamondCutEventFilter; }; estimateGas: { diamondCut( - curDiamondcut: IDiamondCut.FacetCutStruct[], - curInit: PromiseOrValue, - curCalldata: PromiseOrValue, + diamondcut: IDiamondCut.FacetCutStruct[], + init: PromiseOrValue, + data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { diamondCut( - curDiamondcut: IDiamondCut.FacetCutStruct[], - curInit: PromiseOrValue, - curCalldata: PromiseOrValue, + diamondcut: IDiamondCut.FacetCutStruct[], + init: PromiseOrValue, + data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/diamond/interfaces/IDiamondLoupe.ts b/typechain-types/contracts/core/accounts/diamond/interfaces/IDiamondLoupe.ts index 5171ec46d..165da17c2 100644 --- a/typechain-types/contracts/core/accounts/diamond/interfaces/IDiamondLoupe.ts +++ b/typechain-types/contracts/core/accounts/diamond/interfaces/IDiamondLoupe.ts @@ -107,37 +107,37 @@ export interface IDiamondLoupe extends BaseContract { functions: { facetAddress( - curFunctionselector: PromiseOrValue, + functionselector: PromiseOrValue, overrides?: CallOverrides - ): Promise<[string] & { curFacetaddress: string }>; + ): Promise<[string] & { facetaddress: string }>; facetAddresses( overrides?: CallOverrides - ): Promise<[string[]] & { curFacetaddresses: string[] }>; + ): Promise<[string[]] & { facetaddresses: string[] }>; facetFunctionSelectors( - curFacet: PromiseOrValue, + facet: PromiseOrValue, overrides?: CallOverrides - ): Promise<[string[]] & { curFacetfunctionselectors: string[] }>; + ): Promise<[string[]] & { facetfunctionselectors: string[] }>; facets( overrides?: CallOverrides ): Promise< [IDiamondLoupe.FacetStructOutput[]] & { - curFacets: IDiamondLoupe.FacetStructOutput[]; + facets: IDiamondLoupe.FacetStructOutput[]; } >; }; facetAddress( - curFunctionselector: PromiseOrValue, + functionselector: PromiseOrValue, overrides?: CallOverrides ): Promise; facetAddresses(overrides?: CallOverrides): Promise; facetFunctionSelectors( - curFacet: PromiseOrValue, + facet: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -145,14 +145,14 @@ export interface IDiamondLoupe extends BaseContract { callStatic: { facetAddress( - curFunctionselector: PromiseOrValue, + functionselector: PromiseOrValue, overrides?: CallOverrides ): Promise; facetAddresses(overrides?: CallOverrides): Promise; facetFunctionSelectors( - curFacet: PromiseOrValue, + facet: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -165,14 +165,14 @@ export interface IDiamondLoupe extends BaseContract { estimateGas: { facetAddress( - curFunctionselector: PromiseOrValue, + functionselector: PromiseOrValue, overrides?: CallOverrides ): Promise; facetAddresses(overrides?: CallOverrides): Promise; facetFunctionSelectors( - curFacet: PromiseOrValue, + facet: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -181,14 +181,14 @@ export interface IDiamondLoupe extends BaseContract { populateTransaction: { facetAddress( - curFunctionselector: PromiseOrValue, + functionselector: PromiseOrValue, overrides?: CallOverrides ): Promise; facetAddresses(overrides?: CallOverrides): Promise; facetFunctionSelectors( - curFacet: PromiseOrValue, + facet: PromiseOrValue, overrides?: CallOverrides ): Promise; diff --git a/typechain-types/contracts/core/accounts/diamond/interfaces/IERC173.ts b/typechain-types/contracts/core/accounts/diamond/interfaces/IERC173.ts index 8d61d0622..9ae171e8e 100644 --- a/typechain-types/contracts/core/accounts/diamond/interfaces/IERC173.ts +++ b/typechain-types/contracts/core/accounts/diamond/interfaces/IERC173.ts @@ -94,10 +94,10 @@ export interface IERC173 extends BaseContract { removeListener: OnEvent; functions: { - owner(overrides?: CallOverrides): Promise<[string] & { curOwner: string }>; + owner(overrides?: CallOverrides): Promise<[string] & { owner: string }>; transferOwnership( - curNewowner: PromiseOrValue, + newowner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -105,7 +105,7 @@ export interface IERC173 extends BaseContract { owner(overrides?: CallOverrides): Promise; transferOwnership( - curNewowner: PromiseOrValue, + newowner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -113,7 +113,7 @@ export interface IERC173 extends BaseContract { owner(overrides?: CallOverrides): Promise; transferOwnership( - curNewowner: PromiseOrValue, + newowner: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -133,7 +133,7 @@ export interface IERC173 extends BaseContract { owner(overrides?: CallOverrides): Promise; transferOwnership( - curNewowner: PromiseOrValue, + newowner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -142,7 +142,7 @@ export interface IERC173 extends BaseContract { owner(overrides?: CallOverrides): Promise; transferOwnership( - curNewowner: PromiseOrValue, + newowner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/diamond/libraries/LibDiamond.ts b/typechain-types/contracts/core/accounts/diamond/libraries/LibDiamond.ts index b83c37ab6..642e12f00 100644 --- a/typechain-types/contracts/core/accounts/diamond/libraries/LibDiamond.ts +++ b/typechain-types/contracts/core/accounts/diamond/libraries/LibDiamond.ts @@ -45,9 +45,9 @@ export interface LibDiamondInterface extends utils.Interface { } export interface DiamondCutEventObject { - curDiamondcut: IDiamondCut.FacetCutStructOutput[]; - curInit: string; - curCalldata: string; + diamondcut: IDiamondCut.FacetCutStructOutput[]; + init: string; + data: string; } export type DiamondCutEvent = TypedEvent< [IDiamondCut.FacetCutStructOutput[], string, string], @@ -100,14 +100,14 @@ export interface LibDiamond extends BaseContract { filters: { "DiamondCut(tuple[],address,bytes)"( - curDiamondcut?: null, - curInit?: null, - curCalldata?: null + diamondcut?: null, + init?: null, + data?: null ): DiamondCutEventFilter; DiamondCut( - curDiamondcut?: null, - curInit?: null, - curCalldata?: null + diamondcut?: null, + init?: null, + data?: null ): DiamondCutEventFilter; "OwnershipTransferred(address,address)"( diff --git a/typechain-types/contracts/core/accounts/diamond/upgradeInitializers/DiamondInit.ts b/typechain-types/contracts/core/accounts/diamond/upgradeInitializers/DiamondInit.ts index 909ead292..0c5d4ce7e 100644 --- a/typechain-types/contracts/core/accounts/diamond/upgradeInitializers/DiamondInit.ts +++ b/typechain-types/contracts/core/accounts/diamond/upgradeInitializers/DiamondInit.ts @@ -67,22 +67,22 @@ export interface DiamondInit extends BaseContract { functions: { init( - curOwner: PromiseOrValue, - curRegistrar: PromiseOrValue, + owner: PromiseOrValue, + registrar: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; init( - curOwner: PromiseOrValue, - curRegistrar: PromiseOrValue, + owner: PromiseOrValue, + registrar: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { init( - curOwner: PromiseOrValue, - curRegistrar: PromiseOrValue, + owner: PromiseOrValue, + registrar: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -91,16 +91,16 @@ export interface DiamondInit extends BaseContract { estimateGas: { init( - curOwner: PromiseOrValue, - curRegistrar: PromiseOrValue, + owner: PromiseOrValue, + registrar: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { init( - curOwner: PromiseOrValue, - curRegistrar: PromiseOrValue, + owner: PromiseOrValue, + registrar: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/facets/AccountDeployContract.ts b/typechain-types/contracts/core/accounts/facets/AccountDeployContract.ts index e5a701d43..89fb4228b 100644 --- a/typechain-types/contracts/core/accounts/facets/AccountDeployContract.ts +++ b/typechain-types/contracts/core/accounts/facets/AccountDeployContract.ts @@ -27,181 +27,15 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -213,28 +47,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -242,7 +76,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -250,17 +84,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -321,82 +155,48 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -422,21 +222,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -456,65 +254,6 @@ export declare namespace AngelCoreStruct { min: BigNumber; defaultSplit: BigNumber; }; - - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; } export declare namespace SubDaoMessage { @@ -529,13 +268,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -549,7 +288,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -559,15 +298,181 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; } +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + +export declare namespace AccountStorage { + export type EndowmentStruct = { + owner: PromiseOrValue; + name: PromiseOrValue; + categories: AngelCoreStruct.CategoriesStruct; + tier: PromiseOrValue; + endowType: PromiseOrValue; + logo: PromiseOrValue; + image: PromiseOrValue; + maturityTime: PromiseOrValue; + strategies: AngelCoreStruct.AccountStrategiesStruct; + oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; + kycDonorsOnly: PromiseOrValue; + pendingRedemptions: PromiseOrValue; + proposalLink: PromiseOrValue; + multisig: PromiseOrValue; + dao: PromiseOrValue; + daoToken: PromiseOrValue; + donationMatchActive: PromiseOrValue; + donationMatchContract: PromiseOrValue; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + withdrawFee: AngelCoreStruct.EndowmentFeeStruct; + depositFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; + settingsController: AngelCoreStruct.SettingsControllerStruct; + parent: PromiseOrValue; + ignoreUserSplits: PromiseOrValue; + splitToLiquid: AngelCoreStruct.SplitDetailsStruct; + referralId: PromiseOrValue; + }; + + export type EndowmentStructOutput = [ + string, + string, + AngelCoreStruct.CategoriesStructOutput, + BigNumber, + number, + string, + string, + BigNumber, + AngelCoreStruct.AccountStrategiesStructOutput, + AngelCoreStruct.OneOffVaultsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, + boolean, + BigNumber, + BigNumber, + string, + string, + string, + boolean, + string, + string[], + string[], + string[], + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.SettingsControllerStructOutput, + number, + boolean, + AngelCoreStruct.SplitDetailsStructOutput, + BigNumber + ] & { + owner: string; + name: string; + categories: AngelCoreStruct.CategoriesStructOutput; + tier: BigNumber; + endowType: number; + logo: string; + image: string; + maturityTime: BigNumber; + strategies: AngelCoreStruct.AccountStrategiesStructOutput; + oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; + kycDonorsOnly: boolean; + pendingRedemptions: BigNumber; + proposalLink: BigNumber; + multisig: string; + dao: string; + daoToken: string; + donationMatchActive: boolean; + donationMatchContract: string; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + depositFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; + settingsController: AngelCoreStruct.SettingsControllerStructOutput; + parent: number; + ignoreUserSplits: boolean; + splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; + referralId: BigNumber; + }; + + export type ConfigStruct = { + owner: PromiseOrValue; + version: PromiseOrValue; + registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + reentrancyGuardLocked: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + }; + + export type ConfigStructOutput = [ + string, + string, + string, + number, + BigNumber, + string, + string, + string, + boolean, + AngelCoreStruct.EndowmentFeeStructOutput + ] & { + owner: string; + version: string; + registrarContract: string; + nextAccountId: number; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + reentrancyGuardLocked: boolean; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + }; +} + export interface AccountDeployContractInterface extends utils.Interface { functions: { - "createDaoContract((uint256,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256)),uint8,address,address))": FunctionFragment; + "createDaoContract((uint32,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256)),uint8,address,address))": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "createDaoContract"): FunctionFragment; @@ -583,7 +488,7 @@ export interface AccountDeployContractInterface extends utils.Interface { ): Result; events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; + "AllowanceStateUpdatedTo(address,address,address,uint256)": EventFragment; "DaoContractCreated(tuple,address)": EventFragment; "DonationDeposited(uint256,uint256)": EventFragment; "DonationMatchSetup(uint256,address)": EventFragment; @@ -594,7 +499,6 @@ export interface AccountDeployContractInterface extends utils.Interface { "SwapToken(uint256,uint8,uint256,address,address,uint256)": EventFragment; "UpdateConfig(tuple)": EventFragment; "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; @@ -608,17 +512,16 @@ export interface AccountDeployContractInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; } export interface AllowanceStateUpdatedToEventObject { sender: string; spender: string; tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; + allowance: BigNumber; } export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], + [string, string, string, BigNumber], AllowanceStateUpdatedToEventObject >; @@ -626,7 +529,7 @@ export type AllowanceStateUpdatedToEventFilter = TypedEventFilter; export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; + createdaomessage: SubDaoMessage.InstantiateMsgStructOutput; daoAddress: string; } export type DaoContractCreatedEvent = TypedEvent< @@ -638,8 +541,8 @@ export type DaoContractCreatedEventFilter = TypedEventFilter; export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; + id: BigNumber; + amount: BigNumber; } export type DonationDepositedEvent = TypedEvent< [BigNumber, BigNumber], @@ -711,12 +614,12 @@ export type RemoveAllowanceEvent = TypedEvent< export type RemoveAllowanceEventFilter = TypedEventFilter; export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; + id: BigNumber; + accountType: number; + amount: BigNumber; + tokenin: string; + tokenout: string; + amountout: BigNumber; } export type SwapTokenEvent = TypedEvent< [BigNumber, number, BigNumber, string, string, BigNumber], @@ -746,18 +649,6 @@ export type UpdateEndowmentEvent = TypedEvent< export type UpdateEndowmentEventFilter = TypedEventFilter; -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - export interface AccountDeployContract extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -786,25 +677,25 @@ export interface AccountDeployContract extends BaseContract { functions: { createDaoContract( - curCreatedaomessage: SubDaoMessage.InstantiateMsgStruct, + createDaoMessage: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; createDaoContract( - curCreatedaomessage: SubDaoMessage.InstantiateMsgStruct, + createDaoMessage: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { createDaoContract( - curCreatedaomessage: SubDaoMessage.InstantiateMsgStruct, + createDaoMessage: SubDaoMessage.InstantiateMsgStruct, overrides?: CallOverrides ): Promise; }; filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( + "AllowanceStateUpdatedTo(address,address,address,uint256)"( sender?: null, spender?: null, tokenAddress?: null, @@ -818,22 +709,19 @@ export interface AccountDeployContract extends BaseContract { ): AllowanceStateUpdatedToEventFilter; "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; DaoContractCreated( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null + id?: null, + amount?: null ): DonationDepositedEventFilter; + DonationDeposited(id?: null, amount?: null): DonationDepositedEventFilter; "DonationMatchSetup(uint256,address)"( id?: null, @@ -882,20 +770,20 @@ export interface AccountDeployContract extends BaseContract { ): RemoveAllowanceEventFilter; "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; "UpdateConfig(tuple)"(config?: null): UpdateConfigEventFilter; @@ -906,27 +794,18 @@ export interface AccountDeployContract extends BaseContract { endowment?: null ): UpdateEndowmentEventFilter; UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; }; estimateGas: { createDaoContract( - curCreatedaomessage: SubDaoMessage.InstantiateMsgStruct, + createDaoMessage: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { createDaoContract( - curCreatedaomessage: SubDaoMessage.InstantiateMsgStruct, + createDaoMessage: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/facets/AccountDepositWithdrawEndowments.ts b/typechain-types/contracts/core/accounts/facets/AccountDepositWithdrawEndowments.ts index 4b10d8522..11c2d4cf0 100644 --- a/typechain-types/contracts/core/accounts/facets/AccountDepositWithdrawEndowments.ts +++ b/typechain-types/contracts/core/accounts/facets/AccountDepositWithdrawEndowments.ts @@ -28,181 +28,15 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -214,28 +48,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -243,7 +77,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -251,17 +85,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -322,82 +156,48 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -423,21 +223,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -457,65 +255,6 @@ export declare namespace AngelCoreStruct { min: BigNumber; defaultSplit: BigNumber; }; - - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; } export declare namespace SubDaoMessage { @@ -530,13 +269,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -550,7 +289,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -560,12 +299,178 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; } +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + +export declare namespace AccountStorage { + export type EndowmentStruct = { + owner: PromiseOrValue; + name: PromiseOrValue; + categories: AngelCoreStruct.CategoriesStruct; + tier: PromiseOrValue; + endowType: PromiseOrValue; + logo: PromiseOrValue; + image: PromiseOrValue; + maturityTime: PromiseOrValue; + strategies: AngelCoreStruct.AccountStrategiesStruct; + oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; + kycDonorsOnly: PromiseOrValue; + pendingRedemptions: PromiseOrValue; + proposalLink: PromiseOrValue; + multisig: PromiseOrValue; + dao: PromiseOrValue; + daoToken: PromiseOrValue; + donationMatchActive: PromiseOrValue; + donationMatchContract: PromiseOrValue; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + withdrawFee: AngelCoreStruct.EndowmentFeeStruct; + depositFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; + settingsController: AngelCoreStruct.SettingsControllerStruct; + parent: PromiseOrValue; + ignoreUserSplits: PromiseOrValue; + splitToLiquid: AngelCoreStruct.SplitDetailsStruct; + referralId: PromiseOrValue; + }; + + export type EndowmentStructOutput = [ + string, + string, + AngelCoreStruct.CategoriesStructOutput, + BigNumber, + number, + string, + string, + BigNumber, + AngelCoreStruct.AccountStrategiesStructOutput, + AngelCoreStruct.OneOffVaultsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, + boolean, + BigNumber, + BigNumber, + string, + string, + string, + boolean, + string, + string[], + string[], + string[], + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.SettingsControllerStructOutput, + number, + boolean, + AngelCoreStruct.SplitDetailsStructOutput, + BigNumber + ] & { + owner: string; + name: string; + categories: AngelCoreStruct.CategoriesStructOutput; + tier: BigNumber; + endowType: number; + logo: string; + image: string; + maturityTime: BigNumber; + strategies: AngelCoreStruct.AccountStrategiesStructOutput; + oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; + kycDonorsOnly: boolean; + pendingRedemptions: BigNumber; + proposalLink: BigNumber; + multisig: string; + dao: string; + daoToken: string; + donationMatchActive: boolean; + donationMatchContract: string; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + depositFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; + settingsController: AngelCoreStruct.SettingsControllerStructOutput; + parent: number; + ignoreUserSplits: boolean; + splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; + referralId: BigNumber; + }; + + export type ConfigStruct = { + owner: PromiseOrValue; + version: PromiseOrValue; + registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + reentrancyGuardLocked: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + }; + + export type ConfigStructOutput = [ + string, + string, + string, + number, + BigNumber, + string, + string, + string, + boolean, + AngelCoreStruct.EndowmentFeeStructOutput + ] & { + owner: string; + version: string; + registrarContract: string; + nextAccountId: number; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + reentrancyGuardLocked: boolean; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + }; +} + export declare namespace AccountMessages { export type DepositRequestStruct = { id: PromiseOrValue; @@ -573,8 +478,8 @@ export declare namespace AccountMessages { liquidPercentage: PromiseOrValue; }; - export type DepositRequestStructOutput = [BigNumber, BigNumber, BigNumber] & { - id: BigNumber; + export type DepositRequestStructOutput = [number, BigNumber, BigNumber] & { + id: number; lockedPercentage: BigNumber; liquidPercentage: BigNumber; }; @@ -583,13 +488,13 @@ export declare namespace AccountMessages { export interface AccountDepositWithdrawEndowmentsInterface extends utils.Interface { functions: { - "depositERC20((uint256,uint256,uint256),address,uint256)": FunctionFragment; - "depositEth((uint256,uint256,uint256))": FunctionFragment; - "withdraw(uint256,uint8,address,address[],uint256[])": FunctionFragment; + "depositERC20((uint32,uint256,uint256),address,uint256)": FunctionFragment; + "depositMatic((uint32,uint256,uint256))": FunctionFragment; + "withdraw(uint32,uint8,address,uint32,address,uint256)": FunctionFragment; }; getFunction( - nameOrSignatureOrTopic: "depositERC20" | "depositEth" | "withdraw" + nameOrSignatureOrTopic: "depositERC20" | "depositMatic" | "withdraw" ): FunctionFragment; encodeFunctionData( @@ -601,7 +506,7 @@ export interface AccountDepositWithdrawEndowmentsInterface ] ): string; encodeFunctionData( - functionFragment: "depositEth", + functionFragment: "depositMatic", values: [AccountMessages.DepositRequestStruct] ): string; encodeFunctionData( @@ -610,8 +515,9 @@ export interface AccountDepositWithdrawEndowmentsInterface PromiseOrValue, PromiseOrValue, PromiseOrValue, - PromiseOrValue[], - PromiseOrValue[] + PromiseOrValue, + PromiseOrValue, + PromiseOrValue ] ): string; @@ -619,11 +525,14 @@ export interface AccountDepositWithdrawEndowmentsInterface functionFragment: "depositERC20", data: BytesLike ): Result; - decodeFunctionResult(functionFragment: "depositEth", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "depositMatic", + data: BytesLike + ): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; + "AllowanceStateUpdatedTo(address,address,address,uint256)": EventFragment; "DaoContractCreated(tuple,address)": EventFragment; "DonationDeposited(uint256,uint256)": EventFragment; "DonationMatchSetup(uint256,address)": EventFragment; @@ -635,7 +544,6 @@ export interface AccountDepositWithdrawEndowmentsInterface "SwappedToken(uint256)": EventFragment; "UpdateConfig(tuple)": EventFragment; "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; @@ -650,17 +558,16 @@ export interface AccountDepositWithdrawEndowmentsInterface getEvent(nameOrSignatureOrTopic: "SwappedToken"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; } export interface AllowanceStateUpdatedToEventObject { sender: string; spender: string; tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; + allowance: BigNumber; } export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], + [string, string, string, BigNumber], AllowanceStateUpdatedToEventObject >; @@ -668,7 +575,7 @@ export type AllowanceStateUpdatedToEventFilter = TypedEventFilter; export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; + createdaomessage: SubDaoMessage.InstantiateMsgStructOutput; daoAddress: string; } export type DaoContractCreatedEvent = TypedEvent< @@ -680,8 +587,8 @@ export type DaoContractCreatedEventFilter = TypedEventFilter; export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; + id: BigNumber; + amount: BigNumber; } export type DonationDepositedEvent = TypedEvent< [BigNumber, BigNumber], @@ -753,12 +660,12 @@ export type RemoveAllowanceEvent = TypedEvent< export type RemoveAllowanceEventFilter = TypedEventFilter; export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; + id: BigNumber; + accountType: number; + amount: BigNumber; + tokenin: string; + tokenout: string; + amountout: BigNumber; } export type SwapTokenEvent = TypedEvent< [BigNumber, number, BigNumber, string, string, BigNumber], @@ -798,18 +705,6 @@ export type UpdateEndowmentEvent = TypedEvent< export type UpdateEndowmentEventFilter = TypedEventFilter; -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - export interface AccountDepositWithdrawEndowments extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -838,73 +733,76 @@ export interface AccountDepositWithdrawEndowments extends BaseContract { functions: { depositERC20( - curDetails: AccountMessages.DepositRequestStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } + details: AccountMessages.DepositRequestStruct, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - depositEth( - curDetails: AccountMessages.DepositRequestStruct, + depositMatic( + details: AccountMessages.DepositRequestStruct, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; withdraw( - curId: PromiseOrValue, + id: PromiseOrValue, acctType: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], + beneficiaryAddress: PromiseOrValue, + beneficiaryEndowId: PromiseOrValue, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; depositERC20( - curDetails: AccountMessages.DepositRequestStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } + details: AccountMessages.DepositRequestStruct, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - depositEth( - curDetails: AccountMessages.DepositRequestStruct, + depositMatic( + details: AccountMessages.DepositRequestStruct, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; withdraw( - curId: PromiseOrValue, + id: PromiseOrValue, acctType: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], + beneficiaryAddress: PromiseOrValue, + beneficiaryEndowId: PromiseOrValue, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { depositERC20( - curDetails: AccountMessages.DepositRequestStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, + details: AccountMessages.DepositRequestStruct, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; - depositEth( - curDetails: AccountMessages.DepositRequestStruct, + depositMatic( + details: AccountMessages.DepositRequestStruct, overrides?: CallOverrides ): Promise; withdraw( - curId: PromiseOrValue, + id: PromiseOrValue, acctType: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], + beneficiaryAddress: PromiseOrValue, + beneficiaryEndowId: PromiseOrValue, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; }; filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( + "AllowanceStateUpdatedTo(address,address,address,uint256)"( sender?: null, spender?: null, tokenAddress?: null, @@ -918,22 +816,19 @@ export interface AccountDepositWithdrawEndowments extends BaseContract { ): AllowanceStateUpdatedToEventFilter; "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; DaoContractCreated( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null + id?: null, + amount?: null ): DonationDepositedEventFilter; + DonationDeposited(id?: null, amount?: null): DonationDepositedEventFilter; "DonationMatchSetup(uint256,address)"( id?: null, @@ -982,20 +877,20 @@ export interface AccountDepositWithdrawEndowments extends BaseContract { ): RemoveAllowanceEventFilter; "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; "SwappedToken(uint256)"(amountOut?: null): SwappedTokenEventFilter; @@ -1009,59 +904,52 @@ export interface AccountDepositWithdrawEndowments extends BaseContract { endowment?: null ): UpdateEndowmentEventFilter; UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; }; estimateGas: { depositERC20( - curDetails: AccountMessages.DepositRequestStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } + details: AccountMessages.DepositRequestStruct, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - depositEth( - curDetails: AccountMessages.DepositRequestStruct, + depositMatic( + details: AccountMessages.DepositRequestStruct, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; withdraw( - curId: PromiseOrValue, + id: PromiseOrValue, acctType: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], + beneficiaryAddress: PromiseOrValue, + beneficiaryEndowId: PromiseOrValue, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { depositERC20( - curDetails: AccountMessages.DepositRequestStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } + details: AccountMessages.DepositRequestStruct, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - depositEth( - curDetails: AccountMessages.DepositRequestStruct, + depositMatic( + details: AccountMessages.DepositRequestStruct, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; withdraw( - curId: PromiseOrValue, + id: PromiseOrValue, acctType: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], + beneficiaryAddress: PromiseOrValue, + beneficiaryEndowId: PromiseOrValue, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/facets/AccountDonationMatch.ts b/typechain-types/contracts/core/accounts/facets/AccountDonationMatch.ts index 1ea7fe7d4..ef8917a60 100644 --- a/typechain-types/contracts/core/accounts/facets/AccountDonationMatch.ts +++ b/typechain-types/contracts/core/accounts/facets/AccountDonationMatch.ts @@ -27,181 +27,15 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -213,28 +47,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -242,7 +76,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -250,17 +84,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -321,82 +155,48 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -422,21 +222,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -456,65 +254,6 @@ export declare namespace AngelCoreStruct { min: BigNumber; defaultSplit: BigNumber; }; - - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; } export declare namespace SubDaoMessage { @@ -529,13 +268,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -549,7 +288,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -559,12 +298,178 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; } +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + +export declare namespace AccountStorage { + export type EndowmentStruct = { + owner: PromiseOrValue; + name: PromiseOrValue; + categories: AngelCoreStruct.CategoriesStruct; + tier: PromiseOrValue; + endowType: PromiseOrValue; + logo: PromiseOrValue; + image: PromiseOrValue; + maturityTime: PromiseOrValue; + strategies: AngelCoreStruct.AccountStrategiesStruct; + oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; + kycDonorsOnly: PromiseOrValue; + pendingRedemptions: PromiseOrValue; + proposalLink: PromiseOrValue; + multisig: PromiseOrValue; + dao: PromiseOrValue; + daoToken: PromiseOrValue; + donationMatchActive: PromiseOrValue; + donationMatchContract: PromiseOrValue; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + withdrawFee: AngelCoreStruct.EndowmentFeeStruct; + depositFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; + settingsController: AngelCoreStruct.SettingsControllerStruct; + parent: PromiseOrValue; + ignoreUserSplits: PromiseOrValue; + splitToLiquid: AngelCoreStruct.SplitDetailsStruct; + referralId: PromiseOrValue; + }; + + export type EndowmentStructOutput = [ + string, + string, + AngelCoreStruct.CategoriesStructOutput, + BigNumber, + number, + string, + string, + BigNumber, + AngelCoreStruct.AccountStrategiesStructOutput, + AngelCoreStruct.OneOffVaultsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, + boolean, + BigNumber, + BigNumber, + string, + string, + string, + boolean, + string, + string[], + string[], + string[], + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.SettingsControllerStructOutput, + number, + boolean, + AngelCoreStruct.SplitDetailsStructOutput, + BigNumber + ] & { + owner: string; + name: string; + categories: AngelCoreStruct.CategoriesStructOutput; + tier: BigNumber; + endowType: number; + logo: string; + image: string; + maturityTime: BigNumber; + strategies: AngelCoreStruct.AccountStrategiesStructOutput; + oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; + kycDonorsOnly: boolean; + pendingRedemptions: BigNumber; + proposalLink: BigNumber; + multisig: string; + dao: string; + daoToken: string; + donationMatchActive: boolean; + donationMatchContract: string; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + depositFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; + settingsController: AngelCoreStruct.SettingsControllerStructOutput; + parent: number; + ignoreUserSplits: boolean; + splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; + referralId: BigNumber; + }; + + export type ConfigStruct = { + owner: PromiseOrValue; + version: PromiseOrValue; + registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + reentrancyGuardLocked: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + }; + + export type ConfigStructOutput = [ + string, + string, + string, + number, + BigNumber, + string, + string, + string, + boolean, + AngelCoreStruct.EndowmentFeeStructOutput + ] & { + owner: string; + version: string; + registrarContract: string; + nextAccountId: number; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + reentrancyGuardLocked: boolean; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + }; +} + export declare namespace AccountMessages { export type DonationMatchDataStruct = { reserveToken: PromiseOrValue; @@ -591,9 +496,9 @@ export declare namespace AccountMessages { export interface AccountDonationMatchInterface extends utils.Interface { functions: { - "depositDonationMatchErC20(uint256,address,uint256)": FunctionFragment; - "setupDonationMatch(uint256,(uint8,(address,address,uint24)))": FunctionFragment; - "withdrawDonationMatchErC20(uint256,address,uint256)": FunctionFragment; + "depositDonationMatchErC20(uint32,address,uint256)": FunctionFragment; + "setupDonationMatch(uint32,(uint8,(address,address,uint24)))": FunctionFragment; + "withdrawDonationMatchErC20(uint32,address,uint256)": FunctionFragment; }; getFunction( @@ -638,7 +543,7 @@ export interface AccountDonationMatchInterface extends utils.Interface { ): Result; events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; + "AllowanceStateUpdatedTo(address,address,address,uint256)": EventFragment; "DaoContractCreated(tuple,address)": EventFragment; "DonationDeposited(uint256,uint256)": EventFragment; "DonationMatchSetup(uint256,address)": EventFragment; @@ -649,7 +554,6 @@ export interface AccountDonationMatchInterface extends utils.Interface { "SwapToken(uint256,uint8,uint256,address,address,uint256)": EventFragment; "UpdateConfig(tuple)": EventFragment; "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; @@ -663,17 +567,16 @@ export interface AccountDonationMatchInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; } export interface AllowanceStateUpdatedToEventObject { sender: string; spender: string; tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; + allowance: BigNumber; } export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], + [string, string, string, BigNumber], AllowanceStateUpdatedToEventObject >; @@ -681,7 +584,7 @@ export type AllowanceStateUpdatedToEventFilter = TypedEventFilter; export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; + createdaomessage: SubDaoMessage.InstantiateMsgStructOutput; daoAddress: string; } export type DaoContractCreatedEvent = TypedEvent< @@ -693,8 +596,8 @@ export type DaoContractCreatedEventFilter = TypedEventFilter; export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; + id: BigNumber; + amount: BigNumber; } export type DonationDepositedEvent = TypedEvent< [BigNumber, BigNumber], @@ -766,12 +669,12 @@ export type RemoveAllowanceEvent = TypedEvent< export type RemoveAllowanceEventFilter = TypedEventFilter; export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; + id: BigNumber; + accountType: number; + amount: BigNumber; + tokenin: string; + tokenout: string; + amountout: BigNumber; } export type SwapTokenEvent = TypedEvent< [BigNumber, number, BigNumber, string, string, BigNumber], @@ -801,18 +704,6 @@ export type UpdateEndowmentEvent = TypedEvent< export type UpdateEndowmentEventFilter = TypedEventFilter; -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - export interface AccountDonationMatch extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -841,70 +732,70 @@ export interface AccountDonationMatch extends BaseContract { functions: { depositDonationMatchErC20( - curId: PromiseOrValue, - curToken: PromiseOrValue, - curAmount: PromiseOrValue, + id: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setupDonationMatch( - curId: PromiseOrValue, - curDetails: AccountMessages.DonationMatchStruct, + id: PromiseOrValue, + details: AccountMessages.DonationMatchStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; withdrawDonationMatchErC20( - curId: PromiseOrValue, - curRecipient: PromiseOrValue, - curAmount: PromiseOrValue, + id: PromiseOrValue, + recipient: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; depositDonationMatchErC20( - curId: PromiseOrValue, - curToken: PromiseOrValue, - curAmount: PromiseOrValue, + id: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setupDonationMatch( - curId: PromiseOrValue, - curDetails: AccountMessages.DonationMatchStruct, + id: PromiseOrValue, + details: AccountMessages.DonationMatchStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; withdrawDonationMatchErC20( - curId: PromiseOrValue, - curRecipient: PromiseOrValue, - curAmount: PromiseOrValue, + id: PromiseOrValue, + recipient: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { depositDonationMatchErC20( - curId: PromiseOrValue, - curToken: PromiseOrValue, - curAmount: PromiseOrValue, + id: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; setupDonationMatch( - curId: PromiseOrValue, - curDetails: AccountMessages.DonationMatchStruct, + id: PromiseOrValue, + details: AccountMessages.DonationMatchStruct, overrides?: CallOverrides ): Promise; withdrawDonationMatchErC20( - curId: PromiseOrValue, - curRecipient: PromiseOrValue, - curAmount: PromiseOrValue, + id: PromiseOrValue, + recipient: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; }; filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( + "AllowanceStateUpdatedTo(address,address,address,uint256)"( sender?: null, spender?: null, tokenAddress?: null, @@ -918,22 +809,19 @@ export interface AccountDonationMatch extends BaseContract { ): AllowanceStateUpdatedToEventFilter; "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; DaoContractCreated( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null + id?: null, + amount?: null ): DonationDepositedEventFilter; + DonationDeposited(id?: null, amount?: null): DonationDepositedEventFilter; "DonationMatchSetup(uint256,address)"( id?: null, @@ -982,20 +870,20 @@ export interface AccountDonationMatch extends BaseContract { ): RemoveAllowanceEventFilter; "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; "UpdateConfig(tuple)"(config?: null): UpdateConfigEventFilter; @@ -1006,57 +894,48 @@ export interface AccountDonationMatch extends BaseContract { endowment?: null ): UpdateEndowmentEventFilter; UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; }; estimateGas: { depositDonationMatchErC20( - curId: PromiseOrValue, - curToken: PromiseOrValue, - curAmount: PromiseOrValue, + id: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setupDonationMatch( - curId: PromiseOrValue, - curDetails: AccountMessages.DonationMatchStruct, + id: PromiseOrValue, + details: AccountMessages.DonationMatchStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; withdrawDonationMatchErC20( - curId: PromiseOrValue, - curRecipient: PromiseOrValue, - curAmount: PromiseOrValue, + id: PromiseOrValue, + recipient: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { depositDonationMatchErC20( - curId: PromiseOrValue, - curToken: PromiseOrValue, - curAmount: PromiseOrValue, + id: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; setupDonationMatch( - curId: PromiseOrValue, - curDetails: AccountMessages.DonationMatchStruct, + id: PromiseOrValue, + details: AccountMessages.DonationMatchStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; withdrawDonationMatchErC20( - curId: PromiseOrValue, - curRecipient: PromiseOrValue, - curAmount: PromiseOrValue, + id: PromiseOrValue, + recipient: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/facets/AccountsAllowance.ts b/typechain-types/contracts/core/accounts/facets/AccountsAllowance.ts index b3a90f75c..14a26f6f1 100644 --- a/typechain-types/contracts/core/accounts/facets/AccountsAllowance.ts +++ b/typechain-types/contracts/core/accounts/facets/AccountsAllowance.ts @@ -27,181 +27,15 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -213,28 +47,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -242,7 +76,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -250,17 +84,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -321,82 +155,48 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -422,21 +222,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -456,65 +254,6 @@ export declare namespace AngelCoreStruct { min: BigNumber; defaultSplit: BigNumber; }; - - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; } export declare namespace SubDaoMessage { @@ -529,13 +268,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -549,7 +288,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -559,16 +298,182 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; } +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + +export declare namespace AccountStorage { + export type EndowmentStruct = { + owner: PromiseOrValue; + name: PromiseOrValue; + categories: AngelCoreStruct.CategoriesStruct; + tier: PromiseOrValue; + endowType: PromiseOrValue; + logo: PromiseOrValue; + image: PromiseOrValue; + maturityTime: PromiseOrValue; + strategies: AngelCoreStruct.AccountStrategiesStruct; + oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; + kycDonorsOnly: PromiseOrValue; + pendingRedemptions: PromiseOrValue; + proposalLink: PromiseOrValue; + multisig: PromiseOrValue; + dao: PromiseOrValue; + daoToken: PromiseOrValue; + donationMatchActive: PromiseOrValue; + donationMatchContract: PromiseOrValue; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + withdrawFee: AngelCoreStruct.EndowmentFeeStruct; + depositFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; + settingsController: AngelCoreStruct.SettingsControllerStruct; + parent: PromiseOrValue; + ignoreUserSplits: PromiseOrValue; + splitToLiquid: AngelCoreStruct.SplitDetailsStruct; + referralId: PromiseOrValue; + }; + + export type EndowmentStructOutput = [ + string, + string, + AngelCoreStruct.CategoriesStructOutput, + BigNumber, + number, + string, + string, + BigNumber, + AngelCoreStruct.AccountStrategiesStructOutput, + AngelCoreStruct.OneOffVaultsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, + boolean, + BigNumber, + BigNumber, + string, + string, + string, + boolean, + string, + string[], + string[], + string[], + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.SettingsControllerStructOutput, + number, + boolean, + AngelCoreStruct.SplitDetailsStructOutput, + BigNumber + ] & { + owner: string; + name: string; + categories: AngelCoreStruct.CategoriesStructOutput; + tier: BigNumber; + endowType: number; + logo: string; + image: string; + maturityTime: BigNumber; + strategies: AngelCoreStruct.AccountStrategiesStructOutput; + oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; + kycDonorsOnly: boolean; + pendingRedemptions: BigNumber; + proposalLink: BigNumber; + multisig: string; + dao: string; + daoToken: string; + donationMatchActive: boolean; + donationMatchContract: string; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + depositFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; + settingsController: AngelCoreStruct.SettingsControllerStructOutput; + parent: number; + ignoreUserSplits: boolean; + splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; + referralId: BigNumber; + }; + + export type ConfigStruct = { + owner: PromiseOrValue; + version: PromiseOrValue; + registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + reentrancyGuardLocked: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + }; + + export type ConfigStructOutput = [ + string, + string, + string, + number, + BigNumber, + string, + string, + string, + boolean, + AngelCoreStruct.EndowmentFeeStructOutput + ] & { + owner: string; + version: string; + registrarContract: string; + nextAccountId: number; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + reentrancyGuardLocked: boolean; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + }; +} + export interface AccountsAllowanceInterface extends utils.Interface { functions: { - "manageAllowances(uint256,string,address,(uint256,uint256,bool,uint256,bool),address)": FunctionFragment; - "spendAllowance(uint256,address,uint256,address)": FunctionFragment; + "manageAllowances(uint32,uint8,address,address,uint256)": FunctionFragment; + "spendAllowance(uint32,address,uint256,address)": FunctionFragment; }; getFunction( @@ -578,11 +483,11 @@ export interface AccountsAllowanceInterface extends utils.Interface { encodeFunctionData( functionFragment: "manageAllowances", values: [ + PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, - AccountStorage.AllowanceDataStruct, - PromiseOrValue + PromiseOrValue ] ): string; encodeFunctionData( @@ -605,7 +510,7 @@ export interface AccountsAllowanceInterface extends utils.Interface { ): Result; events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; + "AllowanceStateUpdatedTo(address,address,address,uint256)": EventFragment; "DaoContractCreated(tuple,address)": EventFragment; "DonationDeposited(uint256,uint256)": EventFragment; "DonationMatchSetup(uint256,address)": EventFragment; @@ -616,7 +521,6 @@ export interface AccountsAllowanceInterface extends utils.Interface { "SwapToken(uint256,uint8,uint256,address,address,uint256)": EventFragment; "UpdateConfig(tuple)": EventFragment; "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; @@ -630,17 +534,16 @@ export interface AccountsAllowanceInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; } export interface AllowanceStateUpdatedToEventObject { sender: string; spender: string; tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; + allowance: BigNumber; } export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], + [string, string, string, BigNumber], AllowanceStateUpdatedToEventObject >; @@ -648,7 +551,7 @@ export type AllowanceStateUpdatedToEventFilter = TypedEventFilter; export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; + createdaomessage: SubDaoMessage.InstantiateMsgStructOutput; daoAddress: string; } export type DaoContractCreatedEvent = TypedEvent< @@ -660,8 +563,8 @@ export type DaoContractCreatedEventFilter = TypedEventFilter; export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; + id: BigNumber; + amount: BigNumber; } export type DonationDepositedEvent = TypedEvent< [BigNumber, BigNumber], @@ -733,12 +636,12 @@ export type RemoveAllowanceEvent = TypedEvent< export type RemoveAllowanceEventFilter = TypedEventFilter; export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; + id: BigNumber; + accountType: number; + amount: BigNumber; + tokenin: string; + tokenout: string; + amountout: BigNumber; } export type SwapTokenEvent = TypedEvent< [BigNumber, number, BigNumber, string, string, BigNumber], @@ -768,18 +671,6 @@ export type UpdateEndowmentEvent = TypedEvent< export type UpdateEndowmentEventFilter = TypedEventFilter; -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - export interface AccountsAllowance extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -808,61 +699,61 @@ export interface AccountsAllowance extends BaseContract { functions: { manageAllowances( - curId: PromiseOrValue, - curAction: PromiseOrValue, - curSpender: PromiseOrValue, - curAllowance: AccountStorage.AllowanceDataStruct, - curTokenaddress: PromiseOrValue, + endowId: PromiseOrValue, + action: PromiseOrValue, + spender: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; spendAllowance( - curId: PromiseOrValue, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - curRecipient: PromiseOrValue, + endowId: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + recipient: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; manageAllowances( - curId: PromiseOrValue, - curAction: PromiseOrValue, - curSpender: PromiseOrValue, - curAllowance: AccountStorage.AllowanceDataStruct, - curTokenaddress: PromiseOrValue, + endowId: PromiseOrValue, + action: PromiseOrValue, + spender: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; spendAllowance( - curId: PromiseOrValue, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - curRecipient: PromiseOrValue, + endowId: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + recipient: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { manageAllowances( - curId: PromiseOrValue, - curAction: PromiseOrValue, - curSpender: PromiseOrValue, - curAllowance: AccountStorage.AllowanceDataStruct, - curTokenaddress: PromiseOrValue, + endowId: PromiseOrValue, + action: PromiseOrValue, + spender: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; spendAllowance( - curId: PromiseOrValue, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - curRecipient: PromiseOrValue, + endowId: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + recipient: PromiseOrValue, overrides?: CallOverrides ): Promise; }; filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( + "AllowanceStateUpdatedTo(address,address,address,uint256)"( sender?: null, spender?: null, tokenAddress?: null, @@ -876,22 +767,19 @@ export interface AccountsAllowance extends BaseContract { ): AllowanceStateUpdatedToEventFilter; "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; DaoContractCreated( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null + id?: null, + amount?: null ): DonationDepositedEventFilter; + DonationDeposited(id?: null, amount?: null): DonationDepositedEventFilter; "DonationMatchSetup(uint256,address)"( id?: null, @@ -940,20 +828,20 @@ export interface AccountsAllowance extends BaseContract { ): RemoveAllowanceEventFilter; "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; "UpdateConfig(tuple)"(config?: null): UpdateConfigEventFilter; @@ -964,51 +852,42 @@ export interface AccountsAllowance extends BaseContract { endowment?: null ): UpdateEndowmentEventFilter; UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; }; estimateGas: { manageAllowances( - curId: PromiseOrValue, - curAction: PromiseOrValue, - curSpender: PromiseOrValue, - curAllowance: AccountStorage.AllowanceDataStruct, - curTokenaddress: PromiseOrValue, + endowId: PromiseOrValue, + action: PromiseOrValue, + spender: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; spendAllowance( - curId: PromiseOrValue, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - curRecipient: PromiseOrValue, + endowId: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + recipient: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { manageAllowances( - curId: PromiseOrValue, - curAction: PromiseOrValue, - curSpender: PromiseOrValue, - curAllowance: AccountStorage.AllowanceDataStruct, - curTokenaddress: PromiseOrValue, + endowId: PromiseOrValue, + action: PromiseOrValue, + spender: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; spendAllowance( - curId: PromiseOrValue, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - curRecipient: PromiseOrValue, + endowId: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + recipient: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/facets/AccountsCreateEndowment.ts b/typechain-types/contracts/core/accounts/facets/AccountsCreateEndowment.ts index c62c3ba67..b0303c8f0 100644 --- a/typechain-types/contracts/core/accounts/facets/AccountsCreateEndowment.ts +++ b/typechain-types/contracts/core/accounts/facets/AccountsCreateEndowment.ts @@ -27,181 +27,15 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -213,28 +47,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -242,7 +76,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -250,17 +84,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -321,82 +155,48 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -422,21 +222,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -457,65 +255,6 @@ export declare namespace AngelCoreStruct { defaultSplit: BigNumber; }; - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; - export type DurationDataStruct = { height: PromiseOrValue; time: PromiseOrValue; @@ -580,13 +319,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -600,7 +339,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -610,12 +349,178 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; } +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + +export declare namespace AccountStorage { + export type EndowmentStruct = { + owner: PromiseOrValue; + name: PromiseOrValue; + categories: AngelCoreStruct.CategoriesStruct; + tier: PromiseOrValue; + endowType: PromiseOrValue; + logo: PromiseOrValue; + image: PromiseOrValue; + maturityTime: PromiseOrValue; + strategies: AngelCoreStruct.AccountStrategiesStruct; + oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; + kycDonorsOnly: PromiseOrValue; + pendingRedemptions: PromiseOrValue; + proposalLink: PromiseOrValue; + multisig: PromiseOrValue; + dao: PromiseOrValue; + daoToken: PromiseOrValue; + donationMatchActive: PromiseOrValue; + donationMatchContract: PromiseOrValue; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + withdrawFee: AngelCoreStruct.EndowmentFeeStruct; + depositFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; + settingsController: AngelCoreStruct.SettingsControllerStruct; + parent: PromiseOrValue; + ignoreUserSplits: PromiseOrValue; + splitToLiquid: AngelCoreStruct.SplitDetailsStruct; + referralId: PromiseOrValue; + }; + + export type EndowmentStructOutput = [ + string, + string, + AngelCoreStruct.CategoriesStructOutput, + BigNumber, + number, + string, + string, + BigNumber, + AngelCoreStruct.AccountStrategiesStructOutput, + AngelCoreStruct.OneOffVaultsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, + boolean, + BigNumber, + BigNumber, + string, + string, + string, + boolean, + string, + string[], + string[], + string[], + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.SettingsControllerStructOutput, + number, + boolean, + AngelCoreStruct.SplitDetailsStructOutput, + BigNumber + ] & { + owner: string; + name: string; + categories: AngelCoreStruct.CategoriesStructOutput; + tier: BigNumber; + endowType: number; + logo: string; + image: string; + maturityTime: BigNumber; + strategies: AngelCoreStruct.AccountStrategiesStructOutput; + oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; + kycDonorsOnly: boolean; + pendingRedemptions: BigNumber; + proposalLink: BigNumber; + multisig: string; + dao: string; + daoToken: string; + donationMatchActive: boolean; + donationMatchContract: string; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + depositFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; + settingsController: AngelCoreStruct.SettingsControllerStructOutput; + parent: number; + ignoreUserSplits: boolean; + splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; + referralId: BigNumber; + }; + + export type ConfigStruct = { + owner: PromiseOrValue; + version: PromiseOrValue; + registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + reentrancyGuardLocked: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + }; + + export type ConfigStructOutput = [ + string, + string, + string, + number, + BigNumber, + string, + string, + string, + boolean, + AngelCoreStruct.EndowmentFeeStructOutput + ] & { + owner: string; + version: string; + registrarContract: string; + nextAccountId: number; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + reentrancyGuardLocked: boolean; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + }; +} + export declare namespace AccountMessages { export type CreateEndowmentRequestStruct = { owner: PromiseOrValue; @@ -625,28 +530,28 @@ export declare namespace AccountMessages { name: PromiseOrValue; categories: AngelCoreStruct.CategoriesStruct; tier: PromiseOrValue; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; logo: PromiseOrValue; image: PromiseOrValue; - cw4_members: PromiseOrValue[]; + members: PromiseOrValue[]; kycDonorsOnly: PromiseOrValue; threshold: PromiseOrValue; - cw3MaxVotingPeriod: AngelCoreStruct.DurationStruct; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; + maxVotingPeriod: AngelCoreStruct.DurationStruct; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; splitMax: PromiseOrValue; splitMin: PromiseOrValue; splitDefault: PromiseOrValue; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; withdrawFee: AngelCoreStruct.EndowmentFeeStruct; depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; dao: AngelCoreStruct.DaoSetupStruct; createDao: PromiseOrValue; proposalLink: PromiseOrValue; settingsController: AngelCoreStruct.SettingsControllerStruct; parent: PromiseOrValue; - maturityWhitelist: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; ignoreUserSplits: PromiseOrValue; splitToLiquid: AngelCoreStruct.SplitDetailsStruct; referralId: PromiseOrValue; @@ -680,7 +585,7 @@ export declare namespace AccountMessages { boolean, BigNumber, AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, + number, string[], boolean, AngelCoreStruct.SplitDetailsStructOutput, @@ -693,28 +598,28 @@ export declare namespace AccountMessages { name: string; categories: AngelCoreStruct.CategoriesStructOutput; tier: BigNumber; - endow_type: number; + endowType: number; logo: string; image: string; - cw4_members: string[]; + members: string[]; kycDonorsOnly: boolean; threshold: BigNumber; - cw3MaxVotingPeriod: AngelCoreStruct.DurationStructOutput; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; + maxVotingPeriod: AngelCoreStruct.DurationStructOutput; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; splitMax: BigNumber; splitMin: BigNumber; splitDefault: BigNumber; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; dao: AngelCoreStruct.DaoSetupStructOutput; createDao: boolean; proposalLink: BigNumber; settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - maturityWhitelist: string[]; + parent: number; + maturityAllowlist: string[]; ignoreUserSplits: boolean; splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; referralId: BigNumber; @@ -723,7 +628,7 @@ export declare namespace AccountMessages { export interface AccountsCreateEndowmentInterface extends utils.Interface { functions: { - "createEndowment((address,bool,uint256,uint256,string,(uint256[],uint256[]),uint256,uint8,string,string,address[],bool,uint256,(uint8,(uint256,uint256)),address[],address[],uint256,uint256,uint256,(address,uint256,bool),(address,uint256,bool),(address,uint256,bool),(address,uint256,bool),(uint256,uint256,uint256,uint256,uint256,uint128,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256))),bool,uint256,((bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256))),uint256,address[],bool,(uint256,uint256,uint256),uint256))": FunctionFragment; + "createEndowment((address,bool,uint256,uint256,string,(uint256[],uint256[]),uint256,uint8,string,string,address[],bool,uint256,(uint8,(uint256,uint256)),address[],address[],uint256,uint256,uint256,(address,uint256),(address,uint256),(address,uint256),(address,uint256),(uint256,uint256,uint256,uint256,uint256,uint128,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256))),bool,uint256,((bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256))),uint32,address[],bool,(uint256,uint256,uint256),uint256))": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "createEndowment"): FunctionFragment; @@ -739,7 +644,7 @@ export interface AccountsCreateEndowmentInterface extends utils.Interface { ): Result; events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; + "AllowanceStateUpdatedTo(address,address,address,uint256)": EventFragment; "DaoContractCreated(tuple,address)": EventFragment; "DonationDeposited(uint256,uint256)": EventFragment; "DonationMatchSetup(uint256,address)": EventFragment; @@ -750,7 +655,6 @@ export interface AccountsCreateEndowmentInterface extends utils.Interface { "SwapToken(uint256,uint8,uint256,address,address,uint256)": EventFragment; "UpdateConfig(tuple)": EventFragment; "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; @@ -764,17 +668,16 @@ export interface AccountsCreateEndowmentInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; } export interface AllowanceStateUpdatedToEventObject { sender: string; spender: string; tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; + allowance: BigNumber; } export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], + [string, string, string, BigNumber], AllowanceStateUpdatedToEventObject >; @@ -782,7 +685,7 @@ export type AllowanceStateUpdatedToEventFilter = TypedEventFilter; export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; + createdaomessage: SubDaoMessage.InstantiateMsgStructOutput; daoAddress: string; } export type DaoContractCreatedEvent = TypedEvent< @@ -794,8 +697,8 @@ export type DaoContractCreatedEventFilter = TypedEventFilter; export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; + id: BigNumber; + amount: BigNumber; } export type DonationDepositedEvent = TypedEvent< [BigNumber, BigNumber], @@ -867,12 +770,12 @@ export type RemoveAllowanceEvent = TypedEvent< export type RemoveAllowanceEventFilter = TypedEventFilter; export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; + id: BigNumber; + accountType: number; + amount: BigNumber; + tokenin: string; + tokenout: string; + amountout: BigNumber; } export type SwapTokenEvent = TypedEvent< [BigNumber, number, BigNumber, string, string, BigNumber], @@ -902,18 +805,6 @@ export type UpdateEndowmentEvent = TypedEvent< export type UpdateEndowmentEventFilter = TypedEventFilter; -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - export interface AccountsCreateEndowment extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -942,25 +833,25 @@ export interface AccountsCreateEndowment extends BaseContract { functions: { createEndowment( - curDetails: AccountMessages.CreateEndowmentRequestStruct, + details: AccountMessages.CreateEndowmentRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; createEndowment( - curDetails: AccountMessages.CreateEndowmentRequestStruct, + details: AccountMessages.CreateEndowmentRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { createEndowment( - curDetails: AccountMessages.CreateEndowmentRequestStruct, + details: AccountMessages.CreateEndowmentRequestStruct, overrides?: CallOverrides - ): Promise; + ): Promise; }; filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( + "AllowanceStateUpdatedTo(address,address,address,uint256)"( sender?: null, spender?: null, tokenAddress?: null, @@ -974,22 +865,19 @@ export interface AccountsCreateEndowment extends BaseContract { ): AllowanceStateUpdatedToEventFilter; "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; DaoContractCreated( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null + id?: null, + amount?: null ): DonationDepositedEventFilter; + DonationDeposited(id?: null, amount?: null): DonationDepositedEventFilter; "DonationMatchSetup(uint256,address)"( id?: null, @@ -1038,20 +926,20 @@ export interface AccountsCreateEndowment extends BaseContract { ): RemoveAllowanceEventFilter; "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; "UpdateConfig(tuple)"(config?: null): UpdateConfigEventFilter; @@ -1062,27 +950,18 @@ export interface AccountsCreateEndowment extends BaseContract { endowment?: null ): UpdateEndowmentEventFilter; UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; }; estimateGas: { createEndowment( - curDetails: AccountMessages.CreateEndowmentRequestStruct, + details: AccountMessages.CreateEndowmentRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { createEndowment( - curDetails: AccountMessages.CreateEndowmentRequestStruct, + details: AccountMessages.CreateEndowmentRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/facets/AccountsDAOEndowments.ts b/typechain-types/contracts/core/accounts/facets/AccountsDAOEndowments.ts index 71393bc8a..878499275 100644 --- a/typechain-types/contracts/core/accounts/facets/AccountsDAOEndowments.ts +++ b/typechain-types/contracts/core/accounts/facets/AccountsDAOEndowments.ts @@ -27,181 +27,15 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -213,28 +47,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -242,7 +76,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -250,17 +84,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -321,82 +155,48 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -422,21 +222,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -457,65 +255,6 @@ export declare namespace AngelCoreStruct { defaultSplit: BigNumber; }; - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; - export type DaoSetupStruct = { quorum: PromiseOrValue; threshold: PromiseOrValue; @@ -560,13 +299,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -580,7 +319,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -590,15 +329,181 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; } +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + +export declare namespace AccountStorage { + export type EndowmentStruct = { + owner: PromiseOrValue; + name: PromiseOrValue; + categories: AngelCoreStruct.CategoriesStruct; + tier: PromiseOrValue; + endowType: PromiseOrValue; + logo: PromiseOrValue; + image: PromiseOrValue; + maturityTime: PromiseOrValue; + strategies: AngelCoreStruct.AccountStrategiesStruct; + oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; + kycDonorsOnly: PromiseOrValue; + pendingRedemptions: PromiseOrValue; + proposalLink: PromiseOrValue; + multisig: PromiseOrValue; + dao: PromiseOrValue; + daoToken: PromiseOrValue; + donationMatchActive: PromiseOrValue; + donationMatchContract: PromiseOrValue; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + withdrawFee: AngelCoreStruct.EndowmentFeeStruct; + depositFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; + settingsController: AngelCoreStruct.SettingsControllerStruct; + parent: PromiseOrValue; + ignoreUserSplits: PromiseOrValue; + splitToLiquid: AngelCoreStruct.SplitDetailsStruct; + referralId: PromiseOrValue; + }; + + export type EndowmentStructOutput = [ + string, + string, + AngelCoreStruct.CategoriesStructOutput, + BigNumber, + number, + string, + string, + BigNumber, + AngelCoreStruct.AccountStrategiesStructOutput, + AngelCoreStruct.OneOffVaultsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, + boolean, + BigNumber, + BigNumber, + string, + string, + string, + boolean, + string, + string[], + string[], + string[], + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.SettingsControllerStructOutput, + number, + boolean, + AngelCoreStruct.SplitDetailsStructOutput, + BigNumber + ] & { + owner: string; + name: string; + categories: AngelCoreStruct.CategoriesStructOutput; + tier: BigNumber; + endowType: number; + logo: string; + image: string; + maturityTime: BigNumber; + strategies: AngelCoreStruct.AccountStrategiesStructOutput; + oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; + kycDonorsOnly: boolean; + pendingRedemptions: BigNumber; + proposalLink: BigNumber; + multisig: string; + dao: string; + daoToken: string; + donationMatchActive: boolean; + donationMatchContract: string; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + depositFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; + settingsController: AngelCoreStruct.SettingsControllerStructOutput; + parent: number; + ignoreUserSplits: boolean; + splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; + referralId: BigNumber; + }; + + export type ConfigStruct = { + owner: PromiseOrValue; + version: PromiseOrValue; + registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + reentrancyGuardLocked: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + }; + + export type ConfigStructOutput = [ + string, + string, + string, + number, + BigNumber, + string, + string, + string, + boolean, + AngelCoreStruct.EndowmentFeeStructOutput + ] & { + owner: string; + version: string; + registrarContract: string; + nextAccountId: number; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + reentrancyGuardLocked: boolean; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + }; +} + export interface AccountsDAOEndowmentsInterface extends utils.Interface { functions: { - "setupDao(uint256,(uint256,uint256,uint256,uint256,uint256,uint128,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256))))": FunctionFragment; + "setupDao(uint32,(uint256,uint256,uint256,uint256,uint256,uint128,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256))))": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "setupDao"): FunctionFragment; @@ -611,7 +516,7 @@ export interface AccountsDAOEndowmentsInterface extends utils.Interface { decodeFunctionResult(functionFragment: "setupDao", data: BytesLike): Result; events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; + "AllowanceStateUpdatedTo(address,address,address,uint256)": EventFragment; "DaoContractCreated(tuple,address)": EventFragment; "DonationDeposited(uint256,uint256)": EventFragment; "DonationMatchSetup(uint256,address)": EventFragment; @@ -622,7 +527,6 @@ export interface AccountsDAOEndowmentsInterface extends utils.Interface { "SwapToken(uint256,uint8,uint256,address,address,uint256)": EventFragment; "UpdateConfig(tuple)": EventFragment; "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; @@ -636,17 +540,16 @@ export interface AccountsDAOEndowmentsInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; } export interface AllowanceStateUpdatedToEventObject { sender: string; spender: string; tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; + allowance: BigNumber; } export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], + [string, string, string, BigNumber], AllowanceStateUpdatedToEventObject >; @@ -654,7 +557,7 @@ export type AllowanceStateUpdatedToEventFilter = TypedEventFilter; export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; + createdaomessage: SubDaoMessage.InstantiateMsgStructOutput; daoAddress: string; } export type DaoContractCreatedEvent = TypedEvent< @@ -666,8 +569,8 @@ export type DaoContractCreatedEventFilter = TypedEventFilter; export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; + id: BigNumber; + amount: BigNumber; } export type DonationDepositedEvent = TypedEvent< [BigNumber, BigNumber], @@ -739,12 +642,12 @@ export type RemoveAllowanceEvent = TypedEvent< export type RemoveAllowanceEventFilter = TypedEventFilter; export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; + id: BigNumber; + accountType: number; + amount: BigNumber; + tokenin: string; + tokenout: string; + amountout: BigNumber; } export type SwapTokenEvent = TypedEvent< [BigNumber, number, BigNumber, string, string, BigNumber], @@ -774,18 +677,6 @@ export type UpdateEndowmentEvent = TypedEvent< export type UpdateEndowmentEventFilter = TypedEventFilter; -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - export interface AccountsDAOEndowments extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -814,28 +705,28 @@ export interface AccountsDAOEndowments extends BaseContract { functions: { setupDao( - curId: PromiseOrValue, - curDetails: AngelCoreStruct.DaoSetupStruct, + id: PromiseOrValue, + details: AngelCoreStruct.DaoSetupStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; setupDao( - curId: PromiseOrValue, - curDetails: AngelCoreStruct.DaoSetupStruct, + id: PromiseOrValue, + details: AngelCoreStruct.DaoSetupStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { setupDao( - curId: PromiseOrValue, - curDetails: AngelCoreStruct.DaoSetupStruct, + id: PromiseOrValue, + details: AngelCoreStruct.DaoSetupStruct, overrides?: CallOverrides ): Promise; }; filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( + "AllowanceStateUpdatedTo(address,address,address,uint256)"( sender?: null, spender?: null, tokenAddress?: null, @@ -849,22 +740,19 @@ export interface AccountsDAOEndowments extends BaseContract { ): AllowanceStateUpdatedToEventFilter; "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; DaoContractCreated( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null + id?: null, + amount?: null ): DonationDepositedEventFilter; + DonationDeposited(id?: null, amount?: null): DonationDepositedEventFilter; "DonationMatchSetup(uint256,address)"( id?: null, @@ -913,20 +801,20 @@ export interface AccountsDAOEndowments extends BaseContract { ): RemoveAllowanceEventFilter; "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; "UpdateConfig(tuple)"(config?: null): UpdateConfigEventFilter; @@ -937,29 +825,20 @@ export interface AccountsDAOEndowments extends BaseContract { endowment?: null ): UpdateEndowmentEventFilter; UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; }; estimateGas: { setupDao( - curId: PromiseOrValue, - curDetails: AngelCoreStruct.DaoSetupStruct, + id: PromiseOrValue, + details: AngelCoreStruct.DaoSetupStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { setupDao( - curId: PromiseOrValue, - curDetails: AngelCoreStruct.DaoSetupStruct, + id: PromiseOrValue, + details: AngelCoreStruct.DaoSetupStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/facets/AccountsEvents.ts b/typechain-types/contracts/core/accounts/facets/AccountsEvents.ts index 2d4c5b73e..e3b87f413 100644 --- a/typechain-types/contracts/core/accounts/facets/AccountsEvents.ts +++ b/typechain-types/contracts/core/accounts/facets/AccountsEvents.ts @@ -18,181 +18,15 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -204,28 +38,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -233,7 +67,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -241,17 +75,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -312,82 +146,48 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -413,21 +213,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -447,65 +245,6 @@ export declare namespace AngelCoreStruct { min: BigNumber; defaultSplit: BigNumber; }; - - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; } export declare namespace SubDaoMessage { @@ -520,13 +259,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -540,7 +279,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -550,17 +289,183 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; } +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + +export declare namespace AccountStorage { + export type EndowmentStruct = { + owner: PromiseOrValue; + name: PromiseOrValue; + categories: AngelCoreStruct.CategoriesStruct; + tier: PromiseOrValue; + endowType: PromiseOrValue; + logo: PromiseOrValue; + image: PromiseOrValue; + maturityTime: PromiseOrValue; + strategies: AngelCoreStruct.AccountStrategiesStruct; + oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; + kycDonorsOnly: PromiseOrValue; + pendingRedemptions: PromiseOrValue; + proposalLink: PromiseOrValue; + multisig: PromiseOrValue; + dao: PromiseOrValue; + daoToken: PromiseOrValue; + donationMatchActive: PromiseOrValue; + donationMatchContract: PromiseOrValue; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + withdrawFee: AngelCoreStruct.EndowmentFeeStruct; + depositFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; + settingsController: AngelCoreStruct.SettingsControllerStruct; + parent: PromiseOrValue; + ignoreUserSplits: PromiseOrValue; + splitToLiquid: AngelCoreStruct.SplitDetailsStruct; + referralId: PromiseOrValue; + }; + + export type EndowmentStructOutput = [ + string, + string, + AngelCoreStruct.CategoriesStructOutput, + BigNumber, + number, + string, + string, + BigNumber, + AngelCoreStruct.AccountStrategiesStructOutput, + AngelCoreStruct.OneOffVaultsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, + boolean, + BigNumber, + BigNumber, + string, + string, + string, + boolean, + string, + string[], + string[], + string[], + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.SettingsControllerStructOutput, + number, + boolean, + AngelCoreStruct.SplitDetailsStructOutput, + BigNumber + ] & { + owner: string; + name: string; + categories: AngelCoreStruct.CategoriesStructOutput; + tier: BigNumber; + endowType: number; + logo: string; + image: string; + maturityTime: BigNumber; + strategies: AngelCoreStruct.AccountStrategiesStructOutput; + oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; + kycDonorsOnly: boolean; + pendingRedemptions: BigNumber; + proposalLink: BigNumber; + multisig: string; + dao: string; + daoToken: string; + donationMatchActive: boolean; + donationMatchContract: string; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + depositFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; + settingsController: AngelCoreStruct.SettingsControllerStructOutput; + parent: number; + ignoreUserSplits: boolean; + splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; + referralId: BigNumber; + }; + + export type ConfigStruct = { + owner: PromiseOrValue; + version: PromiseOrValue; + registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + reentrancyGuardLocked: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + }; + + export type ConfigStructOutput = [ + string, + string, + string, + number, + BigNumber, + string, + string, + string, + boolean, + AngelCoreStruct.EndowmentFeeStructOutput + ] & { + owner: string; + version: string; + registrarContract: string; + nextAccountId: number; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + reentrancyGuardLocked: boolean; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + }; +} + export interface AccountsEventsInterface extends utils.Interface { functions: {}; events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; + "AllowanceStateUpdatedTo(address,address,address,uint256)": EventFragment; "DaoContractCreated(tuple,address)": EventFragment; "DonationDeposited(uint256,uint256)": EventFragment; "DonationMatchSetup(uint256,address)": EventFragment; @@ -571,7 +476,6 @@ export interface AccountsEventsInterface extends utils.Interface { "SwapToken(uint256,uint8,uint256,address,address,uint256)": EventFragment; "UpdateConfig(tuple)": EventFragment; "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; @@ -585,17 +489,16 @@ export interface AccountsEventsInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; } export interface AllowanceStateUpdatedToEventObject { sender: string; spender: string; tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; + allowance: BigNumber; } export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], + [string, string, string, BigNumber], AllowanceStateUpdatedToEventObject >; @@ -603,7 +506,7 @@ export type AllowanceStateUpdatedToEventFilter = TypedEventFilter; export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; + createdaomessage: SubDaoMessage.InstantiateMsgStructOutput; daoAddress: string; } export type DaoContractCreatedEvent = TypedEvent< @@ -615,8 +518,8 @@ export type DaoContractCreatedEventFilter = TypedEventFilter; export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; + id: BigNumber; + amount: BigNumber; } export type DonationDepositedEvent = TypedEvent< [BigNumber, BigNumber], @@ -688,12 +591,12 @@ export type RemoveAllowanceEvent = TypedEvent< export type RemoveAllowanceEventFilter = TypedEventFilter; export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; + id: BigNumber; + accountType: number; + amount: BigNumber; + tokenin: string; + tokenout: string; + amountout: BigNumber; } export type SwapTokenEvent = TypedEvent< [BigNumber, number, BigNumber, string, string, BigNumber], @@ -723,18 +626,6 @@ export type UpdateEndowmentEvent = TypedEvent< export type UpdateEndowmentEventFilter = TypedEventFilter; -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - export interface AccountsEvents extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -766,7 +657,7 @@ export interface AccountsEvents extends BaseContract { callStatic: {}; filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( + "AllowanceStateUpdatedTo(address,address,address,uint256)"( sender?: null, spender?: null, tokenAddress?: null, @@ -780,22 +671,19 @@ export interface AccountsEvents extends BaseContract { ): AllowanceStateUpdatedToEventFilter; "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; DaoContractCreated( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null + id?: null, + amount?: null ): DonationDepositedEventFilter; + DonationDeposited(id?: null, amount?: null): DonationDepositedEventFilter; "DonationMatchSetup(uint256,address)"( id?: null, @@ -844,20 +732,20 @@ export interface AccountsEvents extends BaseContract { ): RemoveAllowanceEventFilter; "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; "UpdateConfig(tuple)"(config?: null): UpdateConfigEventFilter; @@ -868,15 +756,6 @@ export interface AccountsEvents extends BaseContract { endowment?: null ): UpdateEndowmentEventFilter; UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; }; estimateGas: {}; diff --git a/typechain-types/contracts/core/accounts/facets/AccountsQueryEndowments.ts b/typechain-types/contracts/core/accounts/facets/AccountsQueryEndowments.ts index a67c17305..dd8221773 100644 --- a/typechain-types/contracts/core/accounts/facets/AccountsQueryEndowments.ts +++ b/typechain-types/contracts/core/accounts/facets/AccountsQueryEndowments.ts @@ -21,37 +21,17 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AccountMessages { - export type ConfigResponseStruct = { - owner: PromiseOrValue; - version: PromiseOrValue; - registrarContract: PromiseOrValue; - }; - - export type ConfigResponseStructOutput = [string, string, string] & { - owner: string; - version: string; - registrarContract: string; - }; - - export type StateResponseStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; +export declare namespace AngelCoreStruct { + export type EndowmentFeeStruct = { + payoutAddress: PromiseOrValue; + percentage: PromiseOrValue; }; - export type StateResponseStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; + export type EndowmentFeeStructOutput = [string, BigNumber] & { + payoutAddress: string; + percentage: BigNumber; }; -} -export declare namespace AngelCoreStruct { export type CategoriesStruct = { sdgs: PromiseOrValue[]; general: PromiseOrValue[]; @@ -100,82 +80,38 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - - export type EndowmentFeeStruct = { - payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; - }; - - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { - payoutAddress: string; - feePercentage: BigNumber; - active: boolean; - }; - export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -201,21 +137,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -247,12 +181,14 @@ export declare namespace AngelCoreStruct { }; export type BeneficiaryDataStruct = { - id: PromiseOrValue; + endowId: PromiseOrValue; + fundId: PromiseOrValue; addr: PromiseOrValue; }; - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; + export type BeneficiaryDataStructOutput = [number, BigNumber, string] & { + endowId: number; + fundId: BigNumber; addr: string; }; @@ -267,37 +203,113 @@ export declare namespace AngelCoreStruct { ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; } +export declare namespace AccountMessages { + export type ConfigResponseStruct = { + owner: PromiseOrValue; + version: PromiseOrValue; + registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + }; + + export type ConfigResponseStructOutput = [ + string, + string, + string, + BigNumber, + BigNumber, + string, + string, + string, + AngelCoreStruct.EndowmentFeeStructOutput + ] & { + owner: string; + version: string; + registrarContract: string; + nextAccountId: BigNumber; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + }; + + export type StateResponseStruct = { + donationsReceived: AngelCoreStruct.DonationsReceivedStruct; + closingEndowment: PromiseOrValue; + closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; + }; + + export type StateResponseStructOutput = [ + AngelCoreStruct.DonationsReceivedStructOutput, + boolean, + AngelCoreStruct.BeneficiaryStructOutput + ] & { + donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; + closingEndowment: boolean; + closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; + }; +} + +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + export declare namespace AccountStorage { export type EndowmentStruct = { owner: PromiseOrValue; name: PromiseOrValue; categories: AngelCoreStruct.CategoriesStruct; tier: PromiseOrValue; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; logo: PromiseOrValue; image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; maturityTime: PromiseOrValue; strategies: AngelCoreStruct.AccountStrategiesStruct; oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; kycDonorsOnly: PromiseOrValue; pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; proposalLink: PromiseOrValue; + multisig: PromiseOrValue; dao: PromiseOrValue; daoToken: PromiseOrValue; donationMatchActive: PromiseOrValue; donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; withdrawFee: AngelCoreStruct.EndowmentFeeStruct; depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; settingsController: AngelCoreStruct.SettingsControllerStruct; parent: PromiseOrValue; ignoreUserSplits: PromiseOrValue; @@ -313,17 +325,14 @@ export declare namespace AccountStorage { number, string, string, - number, - boolean, - boolean, BigNumber, AngelCoreStruct.AccountStrategiesStructOutput, AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, boolean, BigNumber, BigNumber, - BigNumber, + string, string, string, boolean, @@ -336,7 +345,7 @@ export declare namespace AccountStorage { AngelCoreStruct.EndowmentFeeStructOutput, AngelCoreStruct.EndowmentFeeStructOutput, AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, + number, boolean, AngelCoreStruct.SplitDetailsStructOutput, BigNumber @@ -345,33 +354,30 @@ export declare namespace AccountStorage { name: string; categories: AngelCoreStruct.CategoriesStructOutput; tier: BigNumber; - endow_type: number; + endowType: number; logo: string; image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; maturityTime: BigNumber; strategies: AngelCoreStruct.AccountStrategiesStructOutput; oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; kycDonorsOnly: boolean; pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; proposalLink: BigNumber; + multisig: string; dao: string; daoToken: string; donationMatchActive: boolean; donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; + parent: number; ignoreUserSplits: boolean; splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; referralId: BigNumber; @@ -381,10 +387,9 @@ export declare namespace AccountStorage { export interface AccountsQueryEndowmentsInterface extends utils.Interface { functions: { "queryConfig()": FunctionFragment; - "queryEndowmentDetails(uint256)": FunctionFragment; - "queryState(uint256)": FunctionFragment; - "queryTokenAmount(uint256,uint8,address)": FunctionFragment; - "queryVaultBalance(uint256,uint8,string)": FunctionFragment; + "queryEndowmentDetails(uint32)": FunctionFragment; + "queryState(uint32)": FunctionFragment; + "queryTokenAmount(uint32,uint8,address)": FunctionFragment; }; getFunction( @@ -393,7 +398,6 @@ export interface AccountsQueryEndowmentsInterface extends utils.Interface { | "queryEndowmentDetails" | "queryState" | "queryTokenAmount" - | "queryVaultBalance" ): FunctionFragment; encodeFunctionData( @@ -416,14 +420,6 @@ export interface AccountsQueryEndowmentsInterface extends utils.Interface { PromiseOrValue ] ): string; - encodeFunctionData( - functionFragment: "queryVaultBalance", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; decodeFunctionResult( functionFragment: "queryConfig", @@ -438,10 +434,6 @@ export interface AccountsQueryEndowmentsInterface extends utils.Interface { functionFragment: "queryTokenAmount", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "queryVaultBalance", - data: BytesLike - ): Result; events: {}; } @@ -482,7 +474,7 @@ export interface AccountsQueryEndowments extends BaseContract { >; queryEndowmentDetails( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise< [AccountStorage.EndowmentStructOutput] & { @@ -491,7 +483,7 @@ export interface AccountsQueryEndowments extends BaseContract { >; queryState( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise< [AccountMessages.StateResponseStructOutput] & { @@ -500,18 +492,11 @@ export interface AccountsQueryEndowments extends BaseContract { >; queryTokenAmount( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curTokenaddress: PromiseOrValue, + id: PromiseOrValue, + accountType: PromiseOrValue, + tokenAddress: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber] & { tokenAmount: BigNumber }>; - - queryVaultBalance( - curId: PromiseOrValue, - vaultType: PromiseOrValue, - vault: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[BigNumber] & { vaultBalance: BigNumber }>; }; queryConfig( @@ -519,26 +504,19 @@ export interface AccountsQueryEndowments extends BaseContract { ): Promise; queryEndowmentDetails( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryState( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryTokenAmount( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curTokenaddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultBalance( - curId: PromiseOrValue, - vaultType: PromiseOrValue, - vault: PromiseOrValue, + id: PromiseOrValue, + accountType: PromiseOrValue, + tokenAddress: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -548,26 +526,19 @@ export interface AccountsQueryEndowments extends BaseContract { ): Promise; queryEndowmentDetails( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryState( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryTokenAmount( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curTokenaddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultBalance( - curId: PromiseOrValue, - vaultType: PromiseOrValue, - vault: PromiseOrValue, + id: PromiseOrValue, + accountType: PromiseOrValue, + tokenAddress: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -578,26 +549,19 @@ export interface AccountsQueryEndowments extends BaseContract { queryConfig(overrides?: CallOverrides): Promise; queryEndowmentDetails( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryState( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryTokenAmount( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curTokenaddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultBalance( - curId: PromiseOrValue, - vaultType: PromiseOrValue, - vault: PromiseOrValue, + id: PromiseOrValue, + accountType: PromiseOrValue, + tokenAddress: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -606,26 +570,19 @@ export interface AccountsQueryEndowments extends BaseContract { queryConfig(overrides?: CallOverrides): Promise; queryEndowmentDetails( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryState( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryTokenAmount( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curTokenaddress: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultBalance( - curId: PromiseOrValue, - vaultType: PromiseOrValue, - vault: PromiseOrValue, + id: PromiseOrValue, + accountType: PromiseOrValue, + tokenAddress: PromiseOrValue, overrides?: CallOverrides ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/facets/AccountsStrategiesCopyEndowments.ts b/typechain-types/contracts/core/accounts/facets/AccountsStrategiesCopyEndowments.ts deleted file mode 100644 index cf144d108..000000000 --- a/typechain-types/contracts/core/accounts/facets/AccountsStrategiesCopyEndowments.ts +++ /dev/null @@ -1,948 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import type { - FunctionFragment, - Result, - EventFragment, -} from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; -import type { - TypedEventFilter, - TypedEvent, - TypedListener, - OnEvent, - PromiseOrValue, -} from "../../../../common"; - -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - -export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { - value: PromiseOrValue; - scale: PromiseOrValue; - slope: PromiseOrValue; - power: PromiseOrValue; - }; - - export type CurveTypeDataStructOutput = [ - BigNumber, - BigNumber, - BigNumber, - BigNumber - ] & { - value: BigNumber; - scale: BigNumber; - slope: BigNumber; - power: BigNumber; - }; - - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; - }; - - export type CurveTypeStructOutput = [ - number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; - - export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; - }; - - export type DaoTokenDataStructOutput = [ - string, - BigNumber, - string, - string, - AngelCoreStruct.CurveTypeStructOutput, - string, - string, - BigNumber, - string, - BigNumber, - BigNumber - ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; - }; - - export type DaoTokenStruct = { - token: PromiseOrValue; - data: AngelCoreStruct.DaoTokenDataStruct; - }; - - export type DaoTokenStructOutput = [ - number, - AngelCoreStruct.DaoTokenDataStructOutput - ] & { token: number; data: AngelCoreStruct.DaoTokenDataStructOutput }; - - export type CategoriesStruct = { - sdgs: PromiseOrValue[]; - general: PromiseOrValue[]; - }; - - export type CategoriesStructOutput = [BigNumber[], BigNumber[]] & { - sdgs: BigNumber[]; - general: BigNumber[]; - }; - - export type AccountStrategiesStruct = { - locked_vault: PromiseOrValue[]; - lockedPercentage: PromiseOrValue[]; - liquid_vault: PromiseOrValue[]; - liquidPercentage: PromiseOrValue[]; - }; - - export type AccountStrategiesStructOutput = [ - string[], - BigNumber[], - string[], - BigNumber[] - ] & { - locked_vault: string[]; - lockedPercentage: BigNumber[]; - liquid_vault: string[]; - liquidPercentage: BigNumber[]; - }; - - export type OneOffVaultsStruct = { - locked: PromiseOrValue[]; - lockedAmount: PromiseOrValue[]; - liquid: PromiseOrValue[]; - liquidAmount: PromiseOrValue[]; - }; - - export type OneOffVaultsStructOutput = [ - string[], - BigNumber[], - string[], - BigNumber[] - ] & { - locked: string[]; - lockedAmount: BigNumber[]; - liquid: string[]; - liquidAmount: BigNumber[]; - }; - - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - - export type EndowmentFeeStruct = { - payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; - }; - - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { - payoutAddress: string; - feePercentage: BigNumber; - active: boolean; - }; - - export type DelegateStruct = { - Addr: PromiseOrValue; - expires: PromiseOrValue; - }; - - export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; - expires: BigNumber; - }; - - export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; - delegate: AngelCoreStruct.DelegateStruct; - }; - - export type SettingsPermissionStructOutput = [ - boolean, - boolean, - boolean, - AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; - - export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; - strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; - maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; - withdrawFee: AngelCoreStruct.SettingsPermissionStruct; - depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; - name: AngelCoreStruct.SettingsPermissionStruct; - image: AngelCoreStruct.SettingsPermissionStruct; - logo: AngelCoreStruct.SettingsPermissionStruct; - categories: AngelCoreStruct.SettingsPermissionStruct; - splitToLiquid: AngelCoreStruct.SettingsPermissionStruct; - ignoreUserSplits: AngelCoreStruct.SettingsPermissionStruct; - }; - - export type SettingsControllerStructOutput = [ - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput - ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; - strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; - maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; - withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; - depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; - name: AngelCoreStruct.SettingsPermissionStructOutput; - image: AngelCoreStruct.SettingsPermissionStructOutput; - logo: AngelCoreStruct.SettingsPermissionStructOutput; - categories: AngelCoreStruct.SettingsPermissionStructOutput; - splitToLiquid: AngelCoreStruct.SettingsPermissionStructOutput; - ignoreUserSplits: AngelCoreStruct.SettingsPermissionStructOutput; - }; - - export type SplitDetailsStruct = { - max: PromiseOrValue; - min: PromiseOrValue; - defaultSplit: PromiseOrValue; - }; - - export type SplitDetailsStructOutput = [BigNumber, BigNumber, BigNumber] & { - max: BigNumber; - min: BigNumber; - defaultSplit: BigNumber; - }; - - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; -} - -export declare namespace SubDaoMessage { - export type InstantiateMsgStruct = { - id: PromiseOrValue; - owner: PromiseOrValue; - quorum: PromiseOrValue; - threshold: PromiseOrValue; - votingPeriod: PromiseOrValue; - timelockPeriod: PromiseOrValue; - expirationPeriod: PromiseOrValue; - proposalDeposit: PromiseOrValue; - snapshotPeriod: PromiseOrValue; - token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; - endowOwner: PromiseOrValue; - registrarContract: PromiseOrValue; - }; - - export type InstantiateMsgStructOutput = [ - BigNumber, - string, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - AngelCoreStruct.DaoTokenStructOutput, - number, - string, - string - ] & { - id: BigNumber; - owner: string; - quorum: BigNumber; - threshold: BigNumber; - votingPeriod: BigNumber; - timelockPeriod: BigNumber; - expirationPeriod: BigNumber; - proposalDeposit: BigNumber; - snapshotPeriod: BigNumber; - token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; - endowOwner: string; - registrarContract: string; - }; -} - -export interface AccountsStrategiesCopyEndowmentsInterface - extends utils.Interface { - functions: { - "copycatStrategies(uint256,uint8,uint256)": FunctionFragment; - }; - - getFunction(nameOrSignatureOrTopic: "copycatStrategies"): FunctionFragment; - - encodeFunctionData( - functionFragment: "copycatStrategies", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - - decodeFunctionResult( - functionFragment: "copycatStrategies", - data: BytesLike - ): Result; - - events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; - "DaoContractCreated(tuple,address)": EventFragment; - "DonationDeposited(uint256,uint256)": EventFragment; - "DonationMatchSetup(uint256,address)": EventFragment; - "DonationWithdrawn(uint256,address,uint256)": EventFragment; - "EndowmentCreated(uint256,tuple)": EventFragment; - "EndowmentSettingUpdated(uint256,string)": EventFragment; - "RemoveAllowance(address,address,address)": EventFragment; - "SwapToken(uint256,uint8,uint256,address,address,uint256)": EventFragment; - "UpdateConfig(tuple)": EventFragment; - "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DaoContractCreated"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DonationDeposited"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DonationMatchSetup"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DonationWithdrawn"): EventFragment; - getEvent(nameOrSignatureOrTopic: "EndowmentCreated"): EventFragment; - getEvent(nameOrSignatureOrTopic: "EndowmentSettingUpdated"): EventFragment; - getEvent(nameOrSignatureOrTopic: "RemoveAllowance"): EventFragment; - getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; -} - -export interface AllowanceStateUpdatedToEventObject { - sender: string; - spender: string; - tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; -} -export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], - AllowanceStateUpdatedToEventObject ->; - -export type AllowanceStateUpdatedToEventFilter = - TypedEventFilter; - -export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; - daoAddress: string; -} -export type DaoContractCreatedEvent = TypedEvent< - [SubDaoMessage.InstantiateMsgStructOutput, string], - DaoContractCreatedEventObject ->; - -export type DaoContractCreatedEventFilter = - TypedEventFilter; - -export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; -} -export type DonationDepositedEvent = TypedEvent< - [BigNumber, BigNumber], - DonationDepositedEventObject ->; - -export type DonationDepositedEventFilter = - TypedEventFilter; - -export interface DonationMatchSetupEventObject { - id: BigNumber; - donationMatchContract: string; -} -export type DonationMatchSetupEvent = TypedEvent< - [BigNumber, string], - DonationMatchSetupEventObject ->; - -export type DonationMatchSetupEventFilter = - TypedEventFilter; - -export interface DonationWithdrawnEventObject { - id: BigNumber; - recipient: string; - amount: BigNumber; -} -export type DonationWithdrawnEvent = TypedEvent< - [BigNumber, string, BigNumber], - DonationWithdrawnEventObject ->; - -export type DonationWithdrawnEventFilter = - TypedEventFilter; - -export interface EndowmentCreatedEventObject { - id: BigNumber; - endowment: AccountStorage.EndowmentStructOutput; -} -export type EndowmentCreatedEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStructOutput], - EndowmentCreatedEventObject ->; - -export type EndowmentCreatedEventFilter = - TypedEventFilter; - -export interface EndowmentSettingUpdatedEventObject { - id: BigNumber; - setting: string; -} -export type EndowmentSettingUpdatedEvent = TypedEvent< - [BigNumber, string], - EndowmentSettingUpdatedEventObject ->; - -export type EndowmentSettingUpdatedEventFilter = - TypedEventFilter; - -export interface RemoveAllowanceEventObject { - sender: string; - spender: string; - tokenAddress: string; -} -export type RemoveAllowanceEvent = TypedEvent< - [string, string, string], - RemoveAllowanceEventObject ->; - -export type RemoveAllowanceEventFilter = TypedEventFilter; - -export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; -} -export type SwapTokenEvent = TypedEvent< - [BigNumber, number, BigNumber, string, string, BigNumber], - SwapTokenEventObject ->; - -export type SwapTokenEventFilter = TypedEventFilter; - -export interface UpdateConfigEventObject { - config: AccountStorage.ConfigStructOutput; -} -export type UpdateConfigEvent = TypedEvent< - [AccountStorage.ConfigStructOutput], - UpdateConfigEventObject ->; - -export type UpdateConfigEventFilter = TypedEventFilter; - -export interface UpdateEndowmentEventObject { - id: BigNumber; - endowment: AccountStorage.EndowmentStructOutput; -} -export type UpdateEndowmentEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStructOutput], - UpdateEndowmentEventObject ->; - -export type UpdateEndowmentEventFilter = TypedEventFilter; - -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - -export interface AccountsStrategiesCopyEndowments extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: AccountsStrategiesCopyEndowmentsInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - copycatStrategies( - curCopytoid: PromiseOrValue, - curAccountType: PromiseOrValue, - curCopyfromid: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; - - copycatStrategies( - curCopytoid: PromiseOrValue, - curAccountType: PromiseOrValue, - curCopyfromid: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - callStatic: { - copycatStrategies( - curCopytoid: PromiseOrValue, - curAccountType: PromiseOrValue, - curCopyfromid: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( - sender?: null, - spender?: null, - tokenAddress?: null, - allowance?: null - ): AllowanceStateUpdatedToEventFilter; - AllowanceStateUpdatedTo( - sender?: null, - spender?: null, - tokenAddress?: null, - allowance?: null - ): AllowanceStateUpdatedToEventFilter; - - "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, - daoAddress?: null - ): DaoContractCreatedEventFilter; - DaoContractCreated( - curCreatedaomessage?: null, - daoAddress?: null - ): DaoContractCreatedEventFilter; - - "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - - "DonationMatchSetup(uint256,address)"( - id?: null, - donationMatchContract?: null - ): DonationMatchSetupEventFilter; - DonationMatchSetup( - id?: null, - donationMatchContract?: null - ): DonationMatchSetupEventFilter; - - "DonationWithdrawn(uint256,address,uint256)"( - id?: null, - recipient?: null, - amount?: null - ): DonationWithdrawnEventFilter; - DonationWithdrawn( - id?: null, - recipient?: null, - amount?: null - ): DonationWithdrawnEventFilter; - - "EndowmentCreated(uint256,tuple)"( - id?: null, - endowment?: null - ): EndowmentCreatedEventFilter; - EndowmentCreated(id?: null, endowment?: null): EndowmentCreatedEventFilter; - - "EndowmentSettingUpdated(uint256,string)"( - id?: null, - setting?: null - ): EndowmentSettingUpdatedEventFilter; - EndowmentSettingUpdated( - id?: null, - setting?: null - ): EndowmentSettingUpdatedEventFilter; - - "RemoveAllowance(address,address,address)"( - sender?: null, - spender?: null, - tokenAddress?: null - ): RemoveAllowanceEventFilter; - RemoveAllowance( - sender?: null, - spender?: null, - tokenAddress?: null - ): RemoveAllowanceEventFilter; - - "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null - ): SwapTokenEventFilter; - SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null - ): SwapTokenEventFilter; - - "UpdateConfig(tuple)"(config?: null): UpdateConfigEventFilter; - UpdateConfig(config?: null): UpdateConfigEventFilter; - - "UpdateEndowment(uint256,tuple)"( - id?: null, - endowment?: null - ): UpdateEndowmentEventFilter; - UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - }; - - estimateGas: { - copycatStrategies( - curCopytoid: PromiseOrValue, - curAccountType: PromiseOrValue, - curCopyfromid: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; - - populateTransaction: { - copycatStrategies( - curCopytoid: PromiseOrValue, - curAccountType: PromiseOrValue, - curCopyfromid: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; -} diff --git a/typechain-types/contracts/core/accounts/facets/AccountsStrategiesUpdateEndowments.ts b/typechain-types/contracts/core/accounts/facets/AccountsStrategiesUpdateEndowments.ts deleted file mode 100644 index 123e98a57..000000000 --- a/typechain-types/contracts/core/accounts/facets/AccountsStrategiesUpdateEndowments.ts +++ /dev/null @@ -1,960 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import type { - FunctionFragment, - Result, - EventFragment, -} from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; -import type { - TypedEventFilter, - TypedEvent, - TypedListener, - OnEvent, - PromiseOrValue, -} from "../../../../common"; - -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - -export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { - value: PromiseOrValue; - scale: PromiseOrValue; - slope: PromiseOrValue; - power: PromiseOrValue; - }; - - export type CurveTypeDataStructOutput = [ - BigNumber, - BigNumber, - BigNumber, - BigNumber - ] & { - value: BigNumber; - scale: BigNumber; - slope: BigNumber; - power: BigNumber; - }; - - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; - }; - - export type CurveTypeStructOutput = [ - number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; - - export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; - }; - - export type DaoTokenDataStructOutput = [ - string, - BigNumber, - string, - string, - AngelCoreStruct.CurveTypeStructOutput, - string, - string, - BigNumber, - string, - BigNumber, - BigNumber - ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; - }; - - export type DaoTokenStruct = { - token: PromiseOrValue; - data: AngelCoreStruct.DaoTokenDataStruct; - }; - - export type DaoTokenStructOutput = [ - number, - AngelCoreStruct.DaoTokenDataStructOutput - ] & { token: number; data: AngelCoreStruct.DaoTokenDataStructOutput }; - - export type CategoriesStruct = { - sdgs: PromiseOrValue[]; - general: PromiseOrValue[]; - }; - - export type CategoriesStructOutput = [BigNumber[], BigNumber[]] & { - sdgs: BigNumber[]; - general: BigNumber[]; - }; - - export type AccountStrategiesStruct = { - locked_vault: PromiseOrValue[]; - lockedPercentage: PromiseOrValue[]; - liquid_vault: PromiseOrValue[]; - liquidPercentage: PromiseOrValue[]; - }; - - export type AccountStrategiesStructOutput = [ - string[], - BigNumber[], - string[], - BigNumber[] - ] & { - locked_vault: string[]; - lockedPercentage: BigNumber[]; - liquid_vault: string[]; - liquidPercentage: BigNumber[]; - }; - - export type OneOffVaultsStruct = { - locked: PromiseOrValue[]; - lockedAmount: PromiseOrValue[]; - liquid: PromiseOrValue[]; - liquidAmount: PromiseOrValue[]; - }; - - export type OneOffVaultsStructOutput = [ - string[], - BigNumber[], - string[], - BigNumber[] - ] & { - locked: string[]; - lockedAmount: BigNumber[]; - liquid: string[]; - liquidAmount: BigNumber[]; - }; - - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - - export type EndowmentFeeStruct = { - payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; - }; - - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { - payoutAddress: string; - feePercentage: BigNumber; - active: boolean; - }; - - export type DelegateStruct = { - Addr: PromiseOrValue; - expires: PromiseOrValue; - }; - - export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; - expires: BigNumber; - }; - - export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; - delegate: AngelCoreStruct.DelegateStruct; - }; - - export type SettingsPermissionStructOutput = [ - boolean, - boolean, - boolean, - AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; - - export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; - strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; - maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; - withdrawFee: AngelCoreStruct.SettingsPermissionStruct; - depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; - name: AngelCoreStruct.SettingsPermissionStruct; - image: AngelCoreStruct.SettingsPermissionStruct; - logo: AngelCoreStruct.SettingsPermissionStruct; - categories: AngelCoreStruct.SettingsPermissionStruct; - splitToLiquid: AngelCoreStruct.SettingsPermissionStruct; - ignoreUserSplits: AngelCoreStruct.SettingsPermissionStruct; - }; - - export type SettingsControllerStructOutput = [ - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput - ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; - strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; - maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; - withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; - depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; - name: AngelCoreStruct.SettingsPermissionStructOutput; - image: AngelCoreStruct.SettingsPermissionStructOutput; - logo: AngelCoreStruct.SettingsPermissionStructOutput; - categories: AngelCoreStruct.SettingsPermissionStructOutput; - splitToLiquid: AngelCoreStruct.SettingsPermissionStructOutput; - ignoreUserSplits: AngelCoreStruct.SettingsPermissionStructOutput; - }; - - export type SplitDetailsStruct = { - max: PromiseOrValue; - min: PromiseOrValue; - defaultSplit: PromiseOrValue; - }; - - export type SplitDetailsStructOutput = [BigNumber, BigNumber, BigNumber] & { - max: BigNumber; - min: BigNumber; - defaultSplit: BigNumber; - }; - - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; -} - -export declare namespace SubDaoMessage { - export type InstantiateMsgStruct = { - id: PromiseOrValue; - owner: PromiseOrValue; - quorum: PromiseOrValue; - threshold: PromiseOrValue; - votingPeriod: PromiseOrValue; - timelockPeriod: PromiseOrValue; - expirationPeriod: PromiseOrValue; - proposalDeposit: PromiseOrValue; - snapshotPeriod: PromiseOrValue; - token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; - endowOwner: PromiseOrValue; - registrarContract: PromiseOrValue; - }; - - export type InstantiateMsgStructOutput = [ - BigNumber, - string, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - AngelCoreStruct.DaoTokenStructOutput, - number, - string, - string - ] & { - id: BigNumber; - owner: string; - quorum: BigNumber; - threshold: BigNumber; - votingPeriod: BigNumber; - timelockPeriod: BigNumber; - expirationPeriod: BigNumber; - proposalDeposit: BigNumber; - snapshotPeriod: BigNumber; - token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; - endowOwner: string; - registrarContract: string; - }; -} - -export declare namespace AccountMessages { - export type StrategyStruct = { - vault: PromiseOrValue; - percentage: PromiseOrValue; - }; - - export type StrategyStructOutput = [string, BigNumber] & { - vault: string; - percentage: BigNumber; - }; -} - -export interface AccountsStrategiesUpdateEndowmentsInterface - extends utils.Interface { - functions: { - "updateStrategies(uint256,uint8,(string,uint256)[])": FunctionFragment; - }; - - getFunction(nameOrSignatureOrTopic: "updateStrategies"): FunctionFragment; - - encodeFunctionData( - functionFragment: "updateStrategies", - values: [ - PromiseOrValue, - PromiseOrValue, - AccountMessages.StrategyStruct[] - ] - ): string; - - decodeFunctionResult( - functionFragment: "updateStrategies", - data: BytesLike - ): Result; - - events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; - "DaoContractCreated(tuple,address)": EventFragment; - "DonationDeposited(uint256,uint256)": EventFragment; - "DonationMatchSetup(uint256,address)": EventFragment; - "DonationWithdrawn(uint256,address,uint256)": EventFragment; - "EndowmentCreated(uint256,tuple)": EventFragment; - "EndowmentSettingUpdated(uint256,string)": EventFragment; - "RemoveAllowance(address,address,address)": EventFragment; - "SwapToken(uint256,uint8,uint256,address,address,uint256)": EventFragment; - "UpdateConfig(tuple)": EventFragment; - "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DaoContractCreated"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DonationDeposited"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DonationMatchSetup"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DonationWithdrawn"): EventFragment; - getEvent(nameOrSignatureOrTopic: "EndowmentCreated"): EventFragment; - getEvent(nameOrSignatureOrTopic: "EndowmentSettingUpdated"): EventFragment; - getEvent(nameOrSignatureOrTopic: "RemoveAllowance"): EventFragment; - getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; -} - -export interface AllowanceStateUpdatedToEventObject { - sender: string; - spender: string; - tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; -} -export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], - AllowanceStateUpdatedToEventObject ->; - -export type AllowanceStateUpdatedToEventFilter = - TypedEventFilter; - -export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; - daoAddress: string; -} -export type DaoContractCreatedEvent = TypedEvent< - [SubDaoMessage.InstantiateMsgStructOutput, string], - DaoContractCreatedEventObject ->; - -export type DaoContractCreatedEventFilter = - TypedEventFilter; - -export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; -} -export type DonationDepositedEvent = TypedEvent< - [BigNumber, BigNumber], - DonationDepositedEventObject ->; - -export type DonationDepositedEventFilter = - TypedEventFilter; - -export interface DonationMatchSetupEventObject { - id: BigNumber; - donationMatchContract: string; -} -export type DonationMatchSetupEvent = TypedEvent< - [BigNumber, string], - DonationMatchSetupEventObject ->; - -export type DonationMatchSetupEventFilter = - TypedEventFilter; - -export interface DonationWithdrawnEventObject { - id: BigNumber; - recipient: string; - amount: BigNumber; -} -export type DonationWithdrawnEvent = TypedEvent< - [BigNumber, string, BigNumber], - DonationWithdrawnEventObject ->; - -export type DonationWithdrawnEventFilter = - TypedEventFilter; - -export interface EndowmentCreatedEventObject { - id: BigNumber; - endowment: AccountStorage.EndowmentStructOutput; -} -export type EndowmentCreatedEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStructOutput], - EndowmentCreatedEventObject ->; - -export type EndowmentCreatedEventFilter = - TypedEventFilter; - -export interface EndowmentSettingUpdatedEventObject { - id: BigNumber; - setting: string; -} -export type EndowmentSettingUpdatedEvent = TypedEvent< - [BigNumber, string], - EndowmentSettingUpdatedEventObject ->; - -export type EndowmentSettingUpdatedEventFilter = - TypedEventFilter; - -export interface RemoveAllowanceEventObject { - sender: string; - spender: string; - tokenAddress: string; -} -export type RemoveAllowanceEvent = TypedEvent< - [string, string, string], - RemoveAllowanceEventObject ->; - -export type RemoveAllowanceEventFilter = TypedEventFilter; - -export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; -} -export type SwapTokenEvent = TypedEvent< - [BigNumber, number, BigNumber, string, string, BigNumber], - SwapTokenEventObject ->; - -export type SwapTokenEventFilter = TypedEventFilter; - -export interface UpdateConfigEventObject { - config: AccountStorage.ConfigStructOutput; -} -export type UpdateConfigEvent = TypedEvent< - [AccountStorage.ConfigStructOutput], - UpdateConfigEventObject ->; - -export type UpdateConfigEventFilter = TypedEventFilter; - -export interface UpdateEndowmentEventObject { - id: BigNumber; - endowment: AccountStorage.EndowmentStructOutput; -} -export type UpdateEndowmentEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStructOutput], - UpdateEndowmentEventObject ->; - -export type UpdateEndowmentEventFilter = TypedEventFilter; - -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - -export interface AccountsStrategiesUpdateEndowments extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: AccountsStrategiesUpdateEndowmentsInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - updateStrategies( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curStrategies: AccountMessages.StrategyStruct[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; - - updateStrategies( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curStrategies: AccountMessages.StrategyStruct[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - callStatic: { - updateStrategies( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curStrategies: AccountMessages.StrategyStruct[], - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( - sender?: null, - spender?: null, - tokenAddress?: null, - allowance?: null - ): AllowanceStateUpdatedToEventFilter; - AllowanceStateUpdatedTo( - sender?: null, - spender?: null, - tokenAddress?: null, - allowance?: null - ): AllowanceStateUpdatedToEventFilter; - - "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, - daoAddress?: null - ): DaoContractCreatedEventFilter; - DaoContractCreated( - curCreatedaomessage?: null, - daoAddress?: null - ): DaoContractCreatedEventFilter; - - "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - - "DonationMatchSetup(uint256,address)"( - id?: null, - donationMatchContract?: null - ): DonationMatchSetupEventFilter; - DonationMatchSetup( - id?: null, - donationMatchContract?: null - ): DonationMatchSetupEventFilter; - - "DonationWithdrawn(uint256,address,uint256)"( - id?: null, - recipient?: null, - amount?: null - ): DonationWithdrawnEventFilter; - DonationWithdrawn( - id?: null, - recipient?: null, - amount?: null - ): DonationWithdrawnEventFilter; - - "EndowmentCreated(uint256,tuple)"( - id?: null, - endowment?: null - ): EndowmentCreatedEventFilter; - EndowmentCreated(id?: null, endowment?: null): EndowmentCreatedEventFilter; - - "EndowmentSettingUpdated(uint256,string)"( - id?: null, - setting?: null - ): EndowmentSettingUpdatedEventFilter; - EndowmentSettingUpdated( - id?: null, - setting?: null - ): EndowmentSettingUpdatedEventFilter; - - "RemoveAllowance(address,address,address)"( - sender?: null, - spender?: null, - tokenAddress?: null - ): RemoveAllowanceEventFilter; - RemoveAllowance( - sender?: null, - spender?: null, - tokenAddress?: null - ): RemoveAllowanceEventFilter; - - "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null - ): SwapTokenEventFilter; - SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null - ): SwapTokenEventFilter; - - "UpdateConfig(tuple)"(config?: null): UpdateConfigEventFilter; - UpdateConfig(config?: null): UpdateConfigEventFilter; - - "UpdateEndowment(uint256,tuple)"( - id?: null, - endowment?: null - ): UpdateEndowmentEventFilter; - UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - }; - - estimateGas: { - updateStrategies( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curStrategies: AccountMessages.StrategyStruct[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; - - populateTransaction: { - updateStrategies( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curStrategies: AccountMessages.StrategyStruct[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; -} diff --git a/typechain-types/contracts/core/accounts/facets/AccountsSwapEndowments.ts b/typechain-types/contracts/core/accounts/facets/AccountsSwapEndowments.ts index b6c77b9c6..16a194ce3 100644 --- a/typechain-types/contracts/core/accounts/facets/AccountsSwapEndowments.ts +++ b/typechain-types/contracts/core/accounts/facets/AccountsSwapEndowments.ts @@ -27,181 +27,15 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -213,28 +47,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -242,7 +76,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -250,17 +84,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -321,82 +155,48 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -422,21 +222,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -456,65 +254,6 @@ export declare namespace AngelCoreStruct { min: BigNumber; defaultSplit: BigNumber; }; - - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; } export declare namespace SubDaoMessage { @@ -529,13 +268,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -549,7 +288,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -559,15 +298,181 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; } +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + +export declare namespace AccountStorage { + export type EndowmentStruct = { + owner: PromiseOrValue; + name: PromiseOrValue; + categories: AngelCoreStruct.CategoriesStruct; + tier: PromiseOrValue; + endowType: PromiseOrValue; + logo: PromiseOrValue; + image: PromiseOrValue; + maturityTime: PromiseOrValue; + strategies: AngelCoreStruct.AccountStrategiesStruct; + oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; + kycDonorsOnly: PromiseOrValue; + pendingRedemptions: PromiseOrValue; + proposalLink: PromiseOrValue; + multisig: PromiseOrValue; + dao: PromiseOrValue; + daoToken: PromiseOrValue; + donationMatchActive: PromiseOrValue; + donationMatchContract: PromiseOrValue; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + withdrawFee: AngelCoreStruct.EndowmentFeeStruct; + depositFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; + settingsController: AngelCoreStruct.SettingsControllerStruct; + parent: PromiseOrValue; + ignoreUserSplits: PromiseOrValue; + splitToLiquid: AngelCoreStruct.SplitDetailsStruct; + referralId: PromiseOrValue; + }; + + export type EndowmentStructOutput = [ + string, + string, + AngelCoreStruct.CategoriesStructOutput, + BigNumber, + number, + string, + string, + BigNumber, + AngelCoreStruct.AccountStrategiesStructOutput, + AngelCoreStruct.OneOffVaultsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, + boolean, + BigNumber, + BigNumber, + string, + string, + string, + boolean, + string, + string[], + string[], + string[], + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.SettingsControllerStructOutput, + number, + boolean, + AngelCoreStruct.SplitDetailsStructOutput, + BigNumber + ] & { + owner: string; + name: string; + categories: AngelCoreStruct.CategoriesStructOutput; + tier: BigNumber; + endowType: number; + logo: string; + image: string; + maturityTime: BigNumber; + strategies: AngelCoreStruct.AccountStrategiesStructOutput; + oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; + kycDonorsOnly: boolean; + pendingRedemptions: BigNumber; + proposalLink: BigNumber; + multisig: string; + dao: string; + daoToken: string; + donationMatchActive: boolean; + donationMatchContract: string; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + depositFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; + settingsController: AngelCoreStruct.SettingsControllerStructOutput; + parent: number; + ignoreUserSplits: boolean; + splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; + referralId: BigNumber; + }; + + export type ConfigStruct = { + owner: PromiseOrValue; + version: PromiseOrValue; + registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + reentrancyGuardLocked: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + }; + + export type ConfigStructOutput = [ + string, + string, + string, + number, + BigNumber, + string, + string, + string, + boolean, + AngelCoreStruct.EndowmentFeeStructOutput + ] & { + owner: string; + version: string; + registrarContract: string; + nextAccountId: number; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + reentrancyGuardLocked: boolean; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + }; +} + export interface AccountsSwapEndowmentsInterface extends utils.Interface { functions: { - "swapToken(uint256,uint8,uint256,address,address)": FunctionFragment; + "swapToken(uint32,uint8,uint256,address,address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "swapToken"): FunctionFragment; @@ -586,7 +491,7 @@ export interface AccountsSwapEndowmentsInterface extends utils.Interface { decodeFunctionResult(functionFragment: "swapToken", data: BytesLike): Result; events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; + "AllowanceStateUpdatedTo(address,address,address,uint256)": EventFragment; "DaoContractCreated(tuple,address)": EventFragment; "DonationDeposited(uint256,uint256)": EventFragment; "DonationMatchSetup(uint256,address)": EventFragment; @@ -597,7 +502,6 @@ export interface AccountsSwapEndowmentsInterface extends utils.Interface { "SwapToken(uint256,uint8,uint256,address,address,uint256)": EventFragment; "UpdateConfig(tuple)": EventFragment; "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; @@ -611,17 +515,16 @@ export interface AccountsSwapEndowmentsInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; } export interface AllowanceStateUpdatedToEventObject { sender: string; spender: string; tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; + allowance: BigNumber; } export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], + [string, string, string, BigNumber], AllowanceStateUpdatedToEventObject >; @@ -629,7 +532,7 @@ export type AllowanceStateUpdatedToEventFilter = TypedEventFilter; export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; + createdaomessage: SubDaoMessage.InstantiateMsgStructOutput; daoAddress: string; } export type DaoContractCreatedEvent = TypedEvent< @@ -641,8 +544,8 @@ export type DaoContractCreatedEventFilter = TypedEventFilter; export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; + id: BigNumber; + amount: BigNumber; } export type DonationDepositedEvent = TypedEvent< [BigNumber, BigNumber], @@ -714,12 +617,12 @@ export type RemoveAllowanceEvent = TypedEvent< export type RemoveAllowanceEventFilter = TypedEventFilter; export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; + id: BigNumber; + accountType: number; + amount: BigNumber; + tokenin: string; + tokenout: string; + amountout: BigNumber; } export type SwapTokenEvent = TypedEvent< [BigNumber, number, BigNumber, string, string, BigNumber], @@ -749,18 +652,6 @@ export type UpdateEndowmentEvent = TypedEvent< export type UpdateEndowmentEventFilter = TypedEventFilter; -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - export interface AccountsSwapEndowments extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -789,37 +680,37 @@ export interface AccountsSwapEndowments extends BaseContract { functions: { swapToken( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curAmount: PromiseOrValue, - curTokenin: PromiseOrValue, - curTokenout: PromiseOrValue, + id: PromiseOrValue, + accountType: PromiseOrValue, + amount: PromiseOrValue, + tokenIn: PromiseOrValue, + tokenOut: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; swapToken( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curAmount: PromiseOrValue, - curTokenin: PromiseOrValue, - curTokenout: PromiseOrValue, + id: PromiseOrValue, + accountType: PromiseOrValue, + amount: PromiseOrValue, + tokenIn: PromiseOrValue, + tokenOut: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { swapToken( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curAmount: PromiseOrValue, - curTokenin: PromiseOrValue, - curTokenout: PromiseOrValue, + id: PromiseOrValue, + accountType: PromiseOrValue, + amount: PromiseOrValue, + tokenIn: PromiseOrValue, + tokenOut: PromiseOrValue, overrides?: CallOverrides ): Promise; }; filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( + "AllowanceStateUpdatedTo(address,address,address,uint256)"( sender?: null, spender?: null, tokenAddress?: null, @@ -833,22 +724,19 @@ export interface AccountsSwapEndowments extends BaseContract { ): AllowanceStateUpdatedToEventFilter; "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; DaoContractCreated( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null + id?: null, + amount?: null ): DonationDepositedEventFilter; + DonationDeposited(id?: null, amount?: null): DonationDepositedEventFilter; "DonationMatchSetup(uint256,address)"( id?: null, @@ -897,20 +785,20 @@ export interface AccountsSwapEndowments extends BaseContract { ): RemoveAllowanceEventFilter; "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; "UpdateConfig(tuple)"(config?: null): UpdateConfigEventFilter; @@ -921,35 +809,26 @@ export interface AccountsSwapEndowments extends BaseContract { endowment?: null ): UpdateEndowmentEventFilter; UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; }; estimateGas: { swapToken( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curAmount: PromiseOrValue, - curTokenin: PromiseOrValue, - curTokenout: PromiseOrValue, + id: PromiseOrValue, + accountType: PromiseOrValue, + amount: PromiseOrValue, + tokenIn: PromiseOrValue, + tokenOut: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { swapToken( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curAmount: PromiseOrValue, - curTokenin: PromiseOrValue, - curTokenout: PromiseOrValue, + id: PromiseOrValue, + accountType: PromiseOrValue, + amount: PromiseOrValue, + tokenIn: PromiseOrValue, + tokenOut: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/facets/AccountsUpdate.ts b/typechain-types/contracts/core/accounts/facets/AccountsUpdate.ts index f3dd03102..d93829b9c 100644 --- a/typechain-types/contracts/core/accounts/facets/AccountsUpdate.ts +++ b/typechain-types/contracts/core/accounts/facets/AccountsUpdate.ts @@ -27,181 +27,15 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -213,28 +47,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -242,7 +76,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -250,17 +84,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -321,82 +155,48 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -422,21 +222,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -456,65 +254,6 @@ export declare namespace AngelCoreStruct { min: BigNumber; defaultSplit: BigNumber; }; - - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; } export declare namespace SubDaoMessage { @@ -529,13 +268,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -549,7 +288,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -559,15 +298,181 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; } +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + +export declare namespace AccountStorage { + export type EndowmentStruct = { + owner: PromiseOrValue; + name: PromiseOrValue; + categories: AngelCoreStruct.CategoriesStruct; + tier: PromiseOrValue; + endowType: PromiseOrValue; + logo: PromiseOrValue; + image: PromiseOrValue; + maturityTime: PromiseOrValue; + strategies: AngelCoreStruct.AccountStrategiesStruct; + oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; + kycDonorsOnly: PromiseOrValue; + pendingRedemptions: PromiseOrValue; + proposalLink: PromiseOrValue; + multisig: PromiseOrValue; + dao: PromiseOrValue; + daoToken: PromiseOrValue; + donationMatchActive: PromiseOrValue; + donationMatchContract: PromiseOrValue; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + withdrawFee: AngelCoreStruct.EndowmentFeeStruct; + depositFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; + settingsController: AngelCoreStruct.SettingsControllerStruct; + parent: PromiseOrValue; + ignoreUserSplits: PromiseOrValue; + splitToLiquid: AngelCoreStruct.SplitDetailsStruct; + referralId: PromiseOrValue; + }; + + export type EndowmentStructOutput = [ + string, + string, + AngelCoreStruct.CategoriesStructOutput, + BigNumber, + number, + string, + string, + BigNumber, + AngelCoreStruct.AccountStrategiesStructOutput, + AngelCoreStruct.OneOffVaultsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, + boolean, + BigNumber, + BigNumber, + string, + string, + string, + boolean, + string, + string[], + string[], + string[], + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.SettingsControllerStructOutput, + number, + boolean, + AngelCoreStruct.SplitDetailsStructOutput, + BigNumber + ] & { + owner: string; + name: string; + categories: AngelCoreStruct.CategoriesStructOutput; + tier: BigNumber; + endowType: number; + logo: string; + image: string; + maturityTime: BigNumber; + strategies: AngelCoreStruct.AccountStrategiesStructOutput; + oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; + kycDonorsOnly: boolean; + pendingRedemptions: BigNumber; + proposalLink: BigNumber; + multisig: string; + dao: string; + daoToken: string; + donationMatchActive: boolean; + donationMatchContract: string; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + depositFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; + settingsController: AngelCoreStruct.SettingsControllerStructOutput; + parent: number; + ignoreUserSplits: boolean; + splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; + referralId: BigNumber; + }; + + export type ConfigStruct = { + owner: PromiseOrValue; + version: PromiseOrValue; + registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + reentrancyGuardLocked: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + }; + + export type ConfigStructOutput = [ + string, + string, + string, + number, + BigNumber, + string, + string, + string, + boolean, + AngelCoreStruct.EndowmentFeeStructOutput + ] & { + owner: string; + version: string; + registrarContract: string; + nextAccountId: number; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + reentrancyGuardLocked: boolean; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + }; +} + export interface AccountsUpdateInterface extends utils.Interface { functions: { - "updateConfig(address,uint256)": FunctionFragment; + "updateConfig(address,uint256,(address,uint256))": FunctionFragment; "updateOwner(address)": FunctionFragment; }; @@ -577,7 +482,11 @@ export interface AccountsUpdateInterface extends utils.Interface { encodeFunctionData( functionFragment: "updateConfig", - values: [PromiseOrValue, PromiseOrValue] + values: [ + PromiseOrValue, + PromiseOrValue, + AngelCoreStruct.EndowmentFeeStruct + ] ): string; encodeFunctionData( functionFragment: "updateOwner", @@ -594,7 +503,7 @@ export interface AccountsUpdateInterface extends utils.Interface { ): Result; events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; + "AllowanceStateUpdatedTo(address,address,address,uint256)": EventFragment; "DaoContractCreated(tuple,address)": EventFragment; "DonationDeposited(uint256,uint256)": EventFragment; "DonationMatchSetup(uint256,address)": EventFragment; @@ -605,7 +514,6 @@ export interface AccountsUpdateInterface extends utils.Interface { "SwapToken(uint256,uint8,uint256,address,address,uint256)": EventFragment; "UpdateConfig(tuple)": EventFragment; "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; @@ -619,17 +527,16 @@ export interface AccountsUpdateInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; } export interface AllowanceStateUpdatedToEventObject { sender: string; spender: string; tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; + allowance: BigNumber; } export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], + [string, string, string, BigNumber], AllowanceStateUpdatedToEventObject >; @@ -637,7 +544,7 @@ export type AllowanceStateUpdatedToEventFilter = TypedEventFilter; export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; + createdaomessage: SubDaoMessage.InstantiateMsgStructOutput; daoAddress: string; } export type DaoContractCreatedEvent = TypedEvent< @@ -649,8 +556,8 @@ export type DaoContractCreatedEventFilter = TypedEventFilter; export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; + id: BigNumber; + amount: BigNumber; } export type DonationDepositedEvent = TypedEvent< [BigNumber, BigNumber], @@ -722,12 +629,12 @@ export type RemoveAllowanceEvent = TypedEvent< export type RemoveAllowanceEventFilter = TypedEventFilter; export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; + id: BigNumber; + accountType: number; + amount: BigNumber; + tokenin: string; + tokenout: string; + amountout: BigNumber; } export type SwapTokenEvent = TypedEvent< [BigNumber, number, BigNumber, string, string, BigNumber], @@ -757,18 +664,6 @@ export type UpdateEndowmentEvent = TypedEvent< export type UpdateEndowmentEventFilter = TypedEventFilter; -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - export interface AccountsUpdate extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -799,6 +694,7 @@ export interface AccountsUpdate extends BaseContract { updateConfig( newRegistrar: PromiseOrValue, maxGeneralCategoryId: PromiseOrValue, + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -811,6 +707,7 @@ export interface AccountsUpdate extends BaseContract { updateConfig( newRegistrar: PromiseOrValue, maxGeneralCategoryId: PromiseOrValue, + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -823,6 +720,7 @@ export interface AccountsUpdate extends BaseContract { updateConfig( newRegistrar: PromiseOrValue, maxGeneralCategoryId: PromiseOrValue, + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct, overrides?: CallOverrides ): Promise; @@ -833,7 +731,7 @@ export interface AccountsUpdate extends BaseContract { }; filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( + "AllowanceStateUpdatedTo(address,address,address,uint256)"( sender?: null, spender?: null, tokenAddress?: null, @@ -847,22 +745,19 @@ export interface AccountsUpdate extends BaseContract { ): AllowanceStateUpdatedToEventFilter; "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; DaoContractCreated( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null + id?: null, + amount?: null ): DonationDepositedEventFilter; + DonationDeposited(id?: null, amount?: null): DonationDepositedEventFilter; "DonationMatchSetup(uint256,address)"( id?: null, @@ -911,20 +806,20 @@ export interface AccountsUpdate extends BaseContract { ): RemoveAllowanceEventFilter; "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; "UpdateConfig(tuple)"(config?: null): UpdateConfigEventFilter; @@ -935,21 +830,13 @@ export interface AccountsUpdate extends BaseContract { endowment?: null ): UpdateEndowmentEventFilter; UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; }; estimateGas: { updateConfig( newRegistrar: PromiseOrValue, maxGeneralCategoryId: PromiseOrValue, + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -963,6 +850,7 @@ export interface AccountsUpdate extends BaseContract { updateConfig( newRegistrar: PromiseOrValue, maxGeneralCategoryId: PromiseOrValue, + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/core/accounts/facets/AccountsUpdateEndowmentSettingsController.ts b/typechain-types/contracts/core/accounts/facets/AccountsUpdateEndowmentSettingsController.ts index 94db8f4df..b9d527f06 100644 --- a/typechain-types/contracts/core/accounts/facets/AccountsUpdateEndowmentSettingsController.ts +++ b/typechain-types/contracts/core/accounts/facets/AccountsUpdateEndowmentSettingsController.ts @@ -27,181 +27,15 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -213,28 +47,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -242,7 +76,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -250,17 +84,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -321,82 +155,48 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -422,21 +222,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -456,65 +254,6 @@ export declare namespace AngelCoreStruct { min: BigNumber; defaultSplit: BigNumber; }; - - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; } export declare namespace SubDaoMessage { @@ -529,13 +268,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -549,7 +288,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -559,104 +298,230 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; } +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + +export declare namespace AccountStorage { + export type EndowmentStruct = { + owner: PromiseOrValue; + name: PromiseOrValue; + categories: AngelCoreStruct.CategoriesStruct; + tier: PromiseOrValue; + endowType: PromiseOrValue; + logo: PromiseOrValue; + image: PromiseOrValue; + maturityTime: PromiseOrValue; + strategies: AngelCoreStruct.AccountStrategiesStruct; + oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; + kycDonorsOnly: PromiseOrValue; + pendingRedemptions: PromiseOrValue; + proposalLink: PromiseOrValue; + multisig: PromiseOrValue; + dao: PromiseOrValue; + daoToken: PromiseOrValue; + donationMatchActive: PromiseOrValue; + donationMatchContract: PromiseOrValue; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + withdrawFee: AngelCoreStruct.EndowmentFeeStruct; + depositFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; + settingsController: AngelCoreStruct.SettingsControllerStruct; + parent: PromiseOrValue; + ignoreUserSplits: PromiseOrValue; + splitToLiquid: AngelCoreStruct.SplitDetailsStruct; + referralId: PromiseOrValue; + }; + + export type EndowmentStructOutput = [ + string, + string, + AngelCoreStruct.CategoriesStructOutput, + BigNumber, + number, + string, + string, + BigNumber, + AngelCoreStruct.AccountStrategiesStructOutput, + AngelCoreStruct.OneOffVaultsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, + boolean, + BigNumber, + BigNumber, + string, + string, + string, + boolean, + string, + string[], + string[], + string[], + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.SettingsControllerStructOutput, + number, + boolean, + AngelCoreStruct.SplitDetailsStructOutput, + BigNumber + ] & { + owner: string; + name: string; + categories: AngelCoreStruct.CategoriesStructOutput; + tier: BigNumber; + endowType: number; + logo: string; + image: string; + maturityTime: BigNumber; + strategies: AngelCoreStruct.AccountStrategiesStructOutput; + oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; + kycDonorsOnly: boolean; + pendingRedemptions: BigNumber; + proposalLink: BigNumber; + multisig: string; + dao: string; + daoToken: string; + donationMatchActive: boolean; + donationMatchContract: string; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + depositFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; + settingsController: AngelCoreStruct.SettingsControllerStructOutput; + parent: number; + ignoreUserSplits: boolean; + splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; + referralId: BigNumber; + }; + + export type ConfigStruct = { + owner: PromiseOrValue; + version: PromiseOrValue; + registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + reentrancyGuardLocked: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + }; + + export type ConfigStructOutput = [ + string, + string, + string, + number, + BigNumber, + string, + string, + string, + boolean, + AngelCoreStruct.EndowmentFeeStructOutput + ] & { + owner: string; + version: string; + registrarContract: string; + nextAccountId: number; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + reentrancyGuardLocked: boolean; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + }; +} + export declare namespace AccountMessages { export type UpdateEndowmentControllerRequestStruct = { id: PromiseOrValue; - endowmentController: AngelCoreStruct.SettingsPermissionStruct; - name: AngelCoreStruct.SettingsPermissionStruct; - image: AngelCoreStruct.SettingsPermissionStruct; - logo: AngelCoreStruct.SettingsPermissionStruct; - categories: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; - splitToLiquid: AngelCoreStruct.SettingsPermissionStruct; - ignoreUserSplits: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; - depositFee: AngelCoreStruct.SettingsPermissionStruct; - withdrawFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; + settingsController: AngelCoreStruct.SettingsControllerStruct; }; export type UpdateEndowmentControllerRequestStructOutput = [ - BigNumber, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput + number, + AngelCoreStruct.SettingsControllerStructOutput ] & { - id: BigNumber; - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; - name: AngelCoreStruct.SettingsPermissionStructOutput; - image: AngelCoreStruct.SettingsPermissionStructOutput; - logo: AngelCoreStruct.SettingsPermissionStructOutput; - categories: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; - splitToLiquid: AngelCoreStruct.SettingsPermissionStructOutput; - ignoreUserSplits: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; - depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; + id: number; + settingsController: AngelCoreStruct.SettingsControllerStructOutput; }; export type UpdateEndowmentFeeRequestStruct = { id: PromiseOrValue; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; depositFee: AngelCoreStruct.EndowmentFeeStruct; withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; }; export type UpdateEndowmentFeeRequestStructOutput = [ - BigNumber, + number, AngelCoreStruct.EndowmentFeeStructOutput, AngelCoreStruct.EndowmentFeeStructOutput, AngelCoreStruct.EndowmentFeeStructOutput, AngelCoreStruct.EndowmentFeeStructOutput ] & { - id: BigNumber; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; + id: number; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; depositFee: AngelCoreStruct.EndowmentFeeStructOutput; withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; }; export type UpdateEndowmentSettingsRequestStruct = { id: PromiseOrValue; donationMatchActive: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturity_whitelist_add: PromiseOrValue[]; - maturity_whitelist_remove: PromiseOrValue[]; + maturityTime: PromiseOrValue; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturity_allowlist_add: PromiseOrValue[]; + maturity_allowlist_remove: PromiseOrValue[]; splitToLiquid: AngelCoreStruct.SplitDetailsStruct; ignoreUserSplits: PromiseOrValue; }; export type UpdateEndowmentSettingsRequestStructOutput = [ - BigNumber, + number, boolean, + BigNumber, string[], string[], string[], @@ -664,12 +529,13 @@ export declare namespace AccountMessages { AngelCoreStruct.SplitDetailsStructOutput, boolean ] & { - id: BigNumber; + id: number; donationMatchActive: boolean; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturity_whitelist_add: string[]; - maturity_whitelist_remove: string[]; + maturityTime: BigNumber; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturity_allowlist_add: string[]; + maturity_allowlist_remove: string[]; splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; ignoreUserSplits: boolean; }; @@ -678,9 +544,9 @@ export declare namespace AccountMessages { export interface AccountsUpdateEndowmentSettingsControllerInterface extends utils.Interface { functions: { - "updateEndowmentController((uint256,(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256))))": FunctionFragment; - "updateEndowmentFees((uint256,(address,uint256,bool),(address,uint256,bool),(address,uint256,bool),(address,uint256,bool)))": FunctionFragment; - "updateEndowmentSettings((uint256,bool,address[],address[],address[],address[],(uint256,uint256,uint256),bool))": FunctionFragment; + "updateEndowmentController((uint32,((bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)))))": FunctionFragment; + "updateEndowmentFees((uint32,(address,uint256),(address,uint256),(address,uint256),(address,uint256)))": FunctionFragment; + "updateEndowmentSettings((uint32,bool,uint256,address[],address[],address[],address[],(uint256,uint256,uint256),bool))": FunctionFragment; }; getFunction( @@ -717,7 +583,7 @@ export interface AccountsUpdateEndowmentSettingsControllerInterface ): Result; events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; + "AllowanceStateUpdatedTo(address,address,address,uint256)": EventFragment; "DaoContractCreated(tuple,address)": EventFragment; "DonationDeposited(uint256,uint256)": EventFragment; "DonationMatchSetup(uint256,address)": EventFragment; @@ -728,7 +594,6 @@ export interface AccountsUpdateEndowmentSettingsControllerInterface "SwapToken(uint256,uint8,uint256,address,address,uint256)": EventFragment; "UpdateConfig(tuple)": EventFragment; "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; @@ -742,17 +607,16 @@ export interface AccountsUpdateEndowmentSettingsControllerInterface getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; } export interface AllowanceStateUpdatedToEventObject { sender: string; spender: string; tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; + allowance: BigNumber; } export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], + [string, string, string, BigNumber], AllowanceStateUpdatedToEventObject >; @@ -760,7 +624,7 @@ export type AllowanceStateUpdatedToEventFilter = TypedEventFilter; export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; + createdaomessage: SubDaoMessage.InstantiateMsgStructOutput; daoAddress: string; } export type DaoContractCreatedEvent = TypedEvent< @@ -772,8 +636,8 @@ export type DaoContractCreatedEventFilter = TypedEventFilter; export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; + id: BigNumber; + amount: BigNumber; } export type DonationDepositedEvent = TypedEvent< [BigNumber, BigNumber], @@ -845,12 +709,12 @@ export type RemoveAllowanceEvent = TypedEvent< export type RemoveAllowanceEventFilter = TypedEventFilter; export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; + id: BigNumber; + accountType: number; + amount: BigNumber; + tokenin: string; + tokenout: string; + amountout: BigNumber; } export type SwapTokenEvent = TypedEvent< [BigNumber, number, BigNumber, string, string, BigNumber], @@ -880,18 +744,6 @@ export type UpdateEndowmentEvent = TypedEvent< export type UpdateEndowmentEventFilter = TypedEventFilter; -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - export interface AccountsUpdateEndowmentSettingsController extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; @@ -921,55 +773,55 @@ export interface AccountsUpdateEndowmentSettingsController functions: { updateEndowmentController( - curDetails: AccountMessages.UpdateEndowmentControllerRequestStruct, + details: AccountMessages.UpdateEndowmentControllerRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateEndowmentFees( - curDetails: AccountMessages.UpdateEndowmentFeeRequestStruct, + details: AccountMessages.UpdateEndowmentFeeRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateEndowmentSettings( - curDetails: AccountMessages.UpdateEndowmentSettingsRequestStruct, + details: AccountMessages.UpdateEndowmentSettingsRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; updateEndowmentController( - curDetails: AccountMessages.UpdateEndowmentControllerRequestStruct, + details: AccountMessages.UpdateEndowmentControllerRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateEndowmentFees( - curDetails: AccountMessages.UpdateEndowmentFeeRequestStruct, + details: AccountMessages.UpdateEndowmentFeeRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateEndowmentSettings( - curDetails: AccountMessages.UpdateEndowmentSettingsRequestStruct, + details: AccountMessages.UpdateEndowmentSettingsRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { updateEndowmentController( - curDetails: AccountMessages.UpdateEndowmentControllerRequestStruct, + details: AccountMessages.UpdateEndowmentControllerRequestStruct, overrides?: CallOverrides ): Promise; updateEndowmentFees( - curDetails: AccountMessages.UpdateEndowmentFeeRequestStruct, + details: AccountMessages.UpdateEndowmentFeeRequestStruct, overrides?: CallOverrides ): Promise; updateEndowmentSettings( - curDetails: AccountMessages.UpdateEndowmentSettingsRequestStruct, + details: AccountMessages.UpdateEndowmentSettingsRequestStruct, overrides?: CallOverrides ): Promise; }; filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( + "AllowanceStateUpdatedTo(address,address,address,uint256)"( sender?: null, spender?: null, tokenAddress?: null, @@ -983,22 +835,19 @@ export interface AccountsUpdateEndowmentSettingsController ): AllowanceStateUpdatedToEventFilter; "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; DaoContractCreated( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null + id?: null, + amount?: null ): DonationDepositedEventFilter; + DonationDeposited(id?: null, amount?: null): DonationDepositedEventFilter; "DonationMatchSetup(uint256,address)"( id?: null, @@ -1047,20 +896,20 @@ export interface AccountsUpdateEndowmentSettingsController ): RemoveAllowanceEventFilter; "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; "UpdateConfig(tuple)"(config?: null): UpdateConfigEventFilter; @@ -1071,47 +920,38 @@ export interface AccountsUpdateEndowmentSettingsController endowment?: null ): UpdateEndowmentEventFilter; UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; }; estimateGas: { updateEndowmentController( - curDetails: AccountMessages.UpdateEndowmentControllerRequestStruct, + details: AccountMessages.UpdateEndowmentControllerRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateEndowmentFees( - curDetails: AccountMessages.UpdateEndowmentFeeRequestStruct, + details: AccountMessages.UpdateEndowmentFeeRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateEndowmentSettings( - curDetails: AccountMessages.UpdateEndowmentSettingsRequestStruct, + details: AccountMessages.UpdateEndowmentSettingsRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { updateEndowmentController( - curDetails: AccountMessages.UpdateEndowmentControllerRequestStruct, + details: AccountMessages.UpdateEndowmentControllerRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateEndowmentFees( - curDetails: AccountMessages.UpdateEndowmentFeeRequestStruct, + details: AccountMessages.UpdateEndowmentFeeRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateEndowmentSettings( - curDetails: AccountMessages.UpdateEndowmentSettingsRequestStruct, + details: AccountMessages.UpdateEndowmentSettingsRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/facets/AccountsUpdateEndowments.ts b/typechain-types/contracts/core/accounts/facets/AccountsUpdateEndowments.ts index 1476d87c7..bc9ddcccd 100644 --- a/typechain-types/contracts/core/accounts/facets/AccountsUpdateEndowments.ts +++ b/typechain-types/contracts/core/accounts/facets/AccountsUpdateEndowments.ts @@ -27,181 +27,15 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -213,28 +47,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -242,7 +76,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -250,17 +84,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -321,82 +155,48 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -422,21 +222,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -456,65 +254,6 @@ export declare namespace AngelCoreStruct { min: BigNumber; defaultSplit: BigNumber; }; - - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; } export declare namespace SubDaoMessage { @@ -529,13 +268,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -549,7 +288,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -559,55 +298,212 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; } -export declare namespace AccountMessages { - export type UpdateEndowmentDetailsRequestStruct = { - id: PromiseOrValue; +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + +export declare namespace AccountStorage { + export type EndowmentStruct = { owner: PromiseOrValue; - kycDonorsOnly: PromiseOrValue; - endow_type: PromiseOrValue; name: PromiseOrValue; categories: AngelCoreStruct.CategoriesStruct; tier: PromiseOrValue; + endowType: PromiseOrValue; logo: PromiseOrValue; image: PromiseOrValue; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; + maturityTime: PromiseOrValue; + strategies: AngelCoreStruct.AccountStrategiesStruct; + oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; + kycDonorsOnly: PromiseOrValue; + pendingRedemptions: PromiseOrValue; + proposalLink: PromiseOrValue; + multisig: PromiseOrValue; + dao: PromiseOrValue; + daoToken: PromiseOrValue; + donationMatchActive: PromiseOrValue; + donationMatchContract: PromiseOrValue; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + withdrawFee: AngelCoreStruct.EndowmentFeeStruct; + depositFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; + settingsController: AngelCoreStruct.SettingsControllerStruct; + parent: PromiseOrValue; + ignoreUserSplits: PromiseOrValue; + splitToLiquid: AngelCoreStruct.SplitDetailsStruct; + referralId: PromiseOrValue; }; - export type UpdateEndowmentDetailsRequestStructOutput = [ + export type EndowmentStructOutput = [ + string, + string, + AngelCoreStruct.CategoriesStructOutput, + BigNumber, + number, + string, + string, + BigNumber, + AngelCoreStruct.AccountStrategiesStructOutput, + AngelCoreStruct.OneOffVaultsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, + boolean, + BigNumber, + BigNumber, + string, + string, + string, + boolean, + string, + string[], + string[], + string[], + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.SettingsControllerStructOutput, + number, + boolean, + AngelCoreStruct.SplitDetailsStructOutput, + BigNumber + ] & { + owner: string; + name: string; + categories: AngelCoreStruct.CategoriesStructOutput; + tier: BigNumber; + endowType: number; + logo: string; + image: string; + maturityTime: BigNumber; + strategies: AngelCoreStruct.AccountStrategiesStructOutput; + oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; + kycDonorsOnly: boolean; + pendingRedemptions: BigNumber; + proposalLink: BigNumber; + multisig: string; + dao: string; + daoToken: string; + donationMatchActive: boolean; + donationMatchContract: string; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + depositFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; + settingsController: AngelCoreStruct.SettingsControllerStructOutput; + parent: number; + ignoreUserSplits: boolean; + splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; + referralId: BigNumber; + }; + + export type ConfigStruct = { + owner: PromiseOrValue; + version: PromiseOrValue; + registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + reentrancyGuardLocked: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + }; + + export type ConfigStructOutput = [ + string, + string, + string, + number, BigNumber, string, + string, + string, boolean, + AngelCoreStruct.EndowmentFeeStructOutput + ] & { + owner: string; + version: string; + registrarContract: string; + nextAccountId: number; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + reentrancyGuardLocked: boolean; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + }; +} + +export declare namespace AccountMessages { + export type UpdateEndowmentDetailsRequestStruct = { + id: PromiseOrValue; + owner: PromiseOrValue; + name: PromiseOrValue; + categories: AngelCoreStruct.CategoriesStruct; + logo: PromiseOrValue; + image: PromiseOrValue; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; + }; + + export type UpdateEndowmentDetailsRequestStructOutput = [ number, string, + string, AngelCoreStruct.CategoriesStructOutput, - BigNumber, string, string, - AngelCoreStruct.RebalanceDetailsStructOutput + LocalRegistrarLib.RebalanceParamsStructOutput ] & { - id: BigNumber; + id: number; owner: string; - kycDonorsOnly: boolean; - endow_type: number; name: string; categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; logo: string; image: string; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; }; } export interface AccountsUpdateEndowmentsInterface extends utils.Interface { functions: { - "updateDelegate(uint256,string,string,address,uint256)": FunctionFragment; - "updateEndowmentDetails((uint256,address,bool,uint8,string,(uint256[],uint256[]),uint256,string,string,(bool,bool,uint256,bool,uint256)))": FunctionFragment; + "updateDelegate(uint32,uint8,uint8,address,uint256)": FunctionFragment; + "updateEndowmentDetails((uint32,address,string,(uint256[],uint256[]),string,string,(bool,uint32,uint32,bool,uint32,uint32)))": FunctionFragment; }; getFunction( @@ -618,8 +514,8 @@ export interface AccountsUpdateEndowmentsInterface extends utils.Interface { functionFragment: "updateDelegate", values: [ PromiseOrValue, - PromiseOrValue, - PromiseOrValue, + PromiseOrValue, + PromiseOrValue, PromiseOrValue, PromiseOrValue ] @@ -639,7 +535,7 @@ export interface AccountsUpdateEndowmentsInterface extends utils.Interface { ): Result; events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; + "AllowanceStateUpdatedTo(address,address,address,uint256)": EventFragment; "DaoContractCreated(tuple,address)": EventFragment; "DonationDeposited(uint256,uint256)": EventFragment; "DonationMatchSetup(uint256,address)": EventFragment; @@ -650,7 +546,6 @@ export interface AccountsUpdateEndowmentsInterface extends utils.Interface { "SwapToken(uint256,uint8,uint256,address,address,uint256)": EventFragment; "UpdateConfig(tuple)": EventFragment; "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; @@ -664,17 +559,16 @@ export interface AccountsUpdateEndowmentsInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; } export interface AllowanceStateUpdatedToEventObject { sender: string; spender: string; tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; + allowance: BigNumber; } export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], + [string, string, string, BigNumber], AllowanceStateUpdatedToEventObject >; @@ -682,7 +576,7 @@ export type AllowanceStateUpdatedToEventFilter = TypedEventFilter; export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; + createdaomessage: SubDaoMessage.InstantiateMsgStructOutput; daoAddress: string; } export type DaoContractCreatedEvent = TypedEvent< @@ -694,8 +588,8 @@ export type DaoContractCreatedEventFilter = TypedEventFilter; export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; + id: BigNumber; + amount: BigNumber; } export type DonationDepositedEvent = TypedEvent< [BigNumber, BigNumber], @@ -767,12 +661,12 @@ export type RemoveAllowanceEvent = TypedEvent< export type RemoveAllowanceEventFilter = TypedEventFilter; export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; + id: BigNumber; + accountType: number; + amount: BigNumber; + tokenin: string; + tokenout: string; + amountout: BigNumber; } export type SwapTokenEvent = TypedEvent< [BigNumber, number, BigNumber, string, string, BigNumber], @@ -802,18 +696,6 @@ export type UpdateEndowmentEvent = TypedEvent< export type UpdateEndowmentEventFilter = TypedEventFilter; -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - export interface AccountsUpdateEndowments extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -843,51 +725,51 @@ export interface AccountsUpdateEndowments extends BaseContract { functions: { updateDelegate( id: PromiseOrValue, - setting: PromiseOrValue, - action: PromiseOrValue, + setting: PromiseOrValue, + action: PromiseOrValue, delegateAddress: PromiseOrValue, delegateExpiry: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateEndowmentDetails( - curDetails: AccountMessages.UpdateEndowmentDetailsRequestStruct, + details: AccountMessages.UpdateEndowmentDetailsRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; updateDelegate( id: PromiseOrValue, - setting: PromiseOrValue, - action: PromiseOrValue, + setting: PromiseOrValue, + action: PromiseOrValue, delegateAddress: PromiseOrValue, delegateExpiry: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateEndowmentDetails( - curDetails: AccountMessages.UpdateEndowmentDetailsRequestStruct, + details: AccountMessages.UpdateEndowmentDetailsRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { updateDelegate( id: PromiseOrValue, - setting: PromiseOrValue, - action: PromiseOrValue, + setting: PromiseOrValue, + action: PromiseOrValue, delegateAddress: PromiseOrValue, delegateExpiry: PromiseOrValue, overrides?: CallOverrides ): Promise; updateEndowmentDetails( - curDetails: AccountMessages.UpdateEndowmentDetailsRequestStruct, + details: AccountMessages.UpdateEndowmentDetailsRequestStruct, overrides?: CallOverrides ): Promise; }; filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( + "AllowanceStateUpdatedTo(address,address,address,uint256)"( sender?: null, spender?: null, tokenAddress?: null, @@ -901,22 +783,19 @@ export interface AccountsUpdateEndowments extends BaseContract { ): AllowanceStateUpdatedToEventFilter; "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; DaoContractCreated( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null + id?: null, + amount?: null ): DonationDepositedEventFilter; + DonationDeposited(id?: null, amount?: null): DonationDepositedEventFilter; "DonationMatchSetup(uint256,address)"( id?: null, @@ -965,20 +844,20 @@ export interface AccountsUpdateEndowments extends BaseContract { ): RemoveAllowanceEventFilter; "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; "UpdateConfig(tuple)"(config?: null): UpdateConfigEventFilter; @@ -989,29 +868,20 @@ export interface AccountsUpdateEndowments extends BaseContract { endowment?: null ): UpdateEndowmentEventFilter; UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; }; estimateGas: { updateDelegate( id: PromiseOrValue, - setting: PromiseOrValue, - action: PromiseOrValue, + setting: PromiseOrValue, + action: PromiseOrValue, delegateAddress: PromiseOrValue, delegateExpiry: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateEndowmentDetails( - curDetails: AccountMessages.UpdateEndowmentDetailsRequestStruct, + details: AccountMessages.UpdateEndowmentDetailsRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -1019,15 +889,15 @@ export interface AccountsUpdateEndowments extends BaseContract { populateTransaction: { updateDelegate( id: PromiseOrValue, - setting: PromiseOrValue, - action: PromiseOrValue, + setting: PromiseOrValue, + action: PromiseOrValue, delegateAddress: PromiseOrValue, delegateExpiry: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateEndowmentDetails( - curDetails: AccountMessages.UpdateEndowmentDetailsRequestStruct, + details: AccountMessages.UpdateEndowmentDetailsRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/facets/AccountsUpdateStatusEndowments.ts b/typechain-types/contracts/core/accounts/facets/AccountsUpdateStatusEndowments.ts index 318bf9401..725d82768 100644 --- a/typechain-types/contracts/core/accounts/facets/AccountsUpdateStatusEndowments.ts +++ b/typechain-types/contracts/core/accounts/facets/AccountsUpdateStatusEndowments.ts @@ -27,181 +27,15 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -213,28 +47,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -242,7 +76,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -250,17 +84,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -321,82 +155,48 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -422,21 +222,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -457,52 +255,15 @@ export declare namespace AngelCoreStruct { defaultSplit: BigNumber; }; - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - export type BeneficiaryDataStruct = { - id: PromiseOrValue; + endowId: PromiseOrValue; + fundId: PromiseOrValue; addr: PromiseOrValue; }; - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; + export type BeneficiaryDataStructOutput = [number, BigNumber, string] & { + endowId: number; + fundId: BigNumber; addr: string; }; @@ -529,13 +290,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -549,7 +310,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -559,61 +320,198 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; } -export declare namespace AccountMessages { - export type UpdateEndowmentStatusRequestStruct = { - endowmentId: PromiseOrValue; - status: PromiseOrValue; - beneficiary: AngelCoreStruct.BeneficiaryStruct; +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; }; - export type UpdateEndowmentStatusRequestStructOutput = [ + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + +export declare namespace AccountStorage { + export type EndowmentStruct = { + owner: PromiseOrValue; + name: PromiseOrValue; + categories: AngelCoreStruct.CategoriesStruct; + tier: PromiseOrValue; + endowType: PromiseOrValue; + logo: PromiseOrValue; + image: PromiseOrValue; + maturityTime: PromiseOrValue; + strategies: AngelCoreStruct.AccountStrategiesStruct; + oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; + kycDonorsOnly: PromiseOrValue; + pendingRedemptions: PromiseOrValue; + proposalLink: PromiseOrValue; + multisig: PromiseOrValue; + dao: PromiseOrValue; + daoToken: PromiseOrValue; + donationMatchActive: PromiseOrValue; + donationMatchContract: PromiseOrValue; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + withdrawFee: AngelCoreStruct.EndowmentFeeStruct; + depositFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; + settingsController: AngelCoreStruct.SettingsControllerStruct; + parent: PromiseOrValue; + ignoreUserSplits: PromiseOrValue; + splitToLiquid: AngelCoreStruct.SplitDetailsStruct; + referralId: PromiseOrValue; + }; + + export type EndowmentStructOutput = [ + string, + string, + AngelCoreStruct.CategoriesStructOutput, + BigNumber, + number, + string, + string, BigNumber, + AngelCoreStruct.AccountStrategiesStructOutput, + AngelCoreStruct.OneOffVaultsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, + boolean, + BigNumber, + BigNumber, + string, + string, + string, + boolean, + string, + string[], + string[], + string[], + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.SettingsControllerStructOutput, + number, + boolean, + AngelCoreStruct.SplitDetailsStructOutput, + BigNumber + ] & { + owner: string; + name: string; + categories: AngelCoreStruct.CategoriesStructOutput; + tier: BigNumber; + endowType: number; + logo: string; + image: string; + maturityTime: BigNumber; + strategies: AngelCoreStruct.AccountStrategiesStructOutput; + oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; + kycDonorsOnly: boolean; + pendingRedemptions: BigNumber; + proposalLink: BigNumber; + multisig: string; + dao: string; + daoToken: string; + donationMatchActive: boolean; + donationMatchContract: string; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + depositFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; + settingsController: AngelCoreStruct.SettingsControllerStructOutput; + parent: number; + ignoreUserSplits: boolean; + splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; + referralId: BigNumber; + }; + + export type ConfigStruct = { + owner: PromiseOrValue; + version: PromiseOrValue; + registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + reentrancyGuardLocked: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + }; + + export type ConfigStructOutput = [ + string, + string, + string, + number, BigNumber, - AngelCoreStruct.BeneficiaryStructOutput + string, + string, + string, + boolean, + AngelCoreStruct.EndowmentFeeStructOutput ] & { - endowmentId: BigNumber; - status: BigNumber; - beneficiary: AngelCoreStruct.BeneficiaryStructOutput; + owner: string; + version: string; + registrarContract: string; + nextAccountId: number; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + reentrancyGuardLocked: boolean; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; }; } export interface AccountsUpdateStatusEndowmentsInterface extends utils.Interface { functions: { - "closeEndowment(uint256,((uint256,address),uint8))": FunctionFragment; - "updateEndowmentStatus((uint256,uint256,((uint256,address),uint8)))": FunctionFragment; + "closeEndowment(uint32,((uint32,uint256,address),uint8))": FunctionFragment; }; - getFunction( - nameOrSignatureOrTopic: "closeEndowment" | "updateEndowmentStatus" - ): FunctionFragment; + getFunction(nameOrSignatureOrTopic: "closeEndowment"): FunctionFragment; encodeFunctionData( functionFragment: "closeEndowment", values: [PromiseOrValue, AngelCoreStruct.BeneficiaryStruct] ): string; - encodeFunctionData( - functionFragment: "updateEndowmentStatus", - values: [AccountMessages.UpdateEndowmentStatusRequestStruct] - ): string; decodeFunctionResult( functionFragment: "closeEndowment", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "updateEndowmentStatus", - data: BytesLike - ): Result; events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; + "AllowanceStateUpdatedTo(address,address,address,uint256)": EventFragment; "DaoContractCreated(tuple,address)": EventFragment; "DonationDeposited(uint256,uint256)": EventFragment; "DonationMatchSetup(uint256,address)": EventFragment; @@ -624,7 +522,6 @@ export interface AccountsUpdateStatusEndowmentsInterface "SwapToken(uint256,uint8,uint256,address,address,uint256)": EventFragment; "UpdateConfig(tuple)": EventFragment; "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; @@ -638,17 +535,16 @@ export interface AccountsUpdateStatusEndowmentsInterface getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; } export interface AllowanceStateUpdatedToEventObject { sender: string; spender: string; tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; + allowance: BigNumber; } export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], + [string, string, string, BigNumber], AllowanceStateUpdatedToEventObject >; @@ -656,7 +552,7 @@ export type AllowanceStateUpdatedToEventFilter = TypedEventFilter; export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; + createdaomessage: SubDaoMessage.InstantiateMsgStructOutput; daoAddress: string; } export type DaoContractCreatedEvent = TypedEvent< @@ -668,8 +564,8 @@ export type DaoContractCreatedEventFilter = TypedEventFilter; export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; + id: BigNumber; + amount: BigNumber; } export type DonationDepositedEvent = TypedEvent< [BigNumber, BigNumber], @@ -741,12 +637,12 @@ export type RemoveAllowanceEvent = TypedEvent< export type RemoveAllowanceEventFilter = TypedEventFilter; export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; + id: BigNumber; + accountType: number; + amount: BigNumber; + tokenin: string; + tokenout: string; + amountout: BigNumber; } export type SwapTokenEvent = TypedEvent< [BigNumber, number, BigNumber, string, string, BigNumber], @@ -776,18 +672,6 @@ export type UpdateEndowmentEvent = TypedEvent< export type UpdateEndowmentEventFilter = TypedEventFilter; -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - export interface AccountsUpdateStatusEndowments extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -816,43 +700,28 @@ export interface AccountsUpdateStatusEndowments extends BaseContract { functions: { closeEndowment( - curId: PromiseOrValue, - curBeneficiary: AngelCoreStruct.BeneficiaryStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateEndowmentStatus( - curDetails: AccountMessages.UpdateEndowmentStatusRequestStruct, + id: PromiseOrValue, + beneficiary: AngelCoreStruct.BeneficiaryStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; closeEndowment( - curId: PromiseOrValue, - curBeneficiary: AngelCoreStruct.BeneficiaryStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateEndowmentStatus( - curDetails: AccountMessages.UpdateEndowmentStatusRequestStruct, + id: PromiseOrValue, + beneficiary: AngelCoreStruct.BeneficiaryStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { closeEndowment( - curId: PromiseOrValue, - curBeneficiary: AngelCoreStruct.BeneficiaryStruct, - overrides?: CallOverrides - ): Promise; - - updateEndowmentStatus( - curDetails: AccountMessages.UpdateEndowmentStatusRequestStruct, + id: PromiseOrValue, + beneficiary: AngelCoreStruct.BeneficiaryStruct, overrides?: CallOverrides ): Promise; }; filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( + "AllowanceStateUpdatedTo(address,address,address,uint256)"( sender?: null, spender?: null, tokenAddress?: null, @@ -866,22 +735,19 @@ export interface AccountsUpdateStatusEndowments extends BaseContract { ): AllowanceStateUpdatedToEventFilter; "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; DaoContractCreated( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null + id?: null, + amount?: null ): DonationDepositedEventFilter; + DonationDeposited(id?: null, amount?: null): DonationDepositedEventFilter; "DonationMatchSetup(uint256,address)"( id?: null, @@ -930,20 +796,20 @@ export interface AccountsUpdateStatusEndowments extends BaseContract { ): RemoveAllowanceEventFilter; "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; "UpdateConfig(tuple)"(config?: null): UpdateConfigEventFilter; @@ -954,39 +820,20 @@ export interface AccountsUpdateStatusEndowments extends BaseContract { endowment?: null ): UpdateEndowmentEventFilter; UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; }; estimateGas: { closeEndowment( - curId: PromiseOrValue, - curBeneficiary: AngelCoreStruct.BeneficiaryStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateEndowmentStatus( - curDetails: AccountMessages.UpdateEndowmentStatusRequestStruct, + id: PromiseOrValue, + beneficiary: AngelCoreStruct.BeneficiaryStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { closeEndowment( - curId: PromiseOrValue, - curBeneficiary: AngelCoreStruct.BeneficiaryStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateEndowmentStatus( - curDetails: AccountMessages.UpdateEndowmentStatusRequestStruct, + id: PromiseOrValue, + beneficiary: AngelCoreStruct.BeneficiaryStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/facets/AccountsVaultFacet.ts b/typechain-types/contracts/core/accounts/facets/AccountsVaultFacet.ts index 6f3a21a4d..c8e5f7dcf 100644 --- a/typechain-types/contracts/core/accounts/facets/AccountsVaultFacet.ts +++ b/typechain-types/contracts/core/accounts/facets/AccountsVaultFacet.ts @@ -27,181 +27,15 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -213,28 +47,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -242,7 +76,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -250,17 +84,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -321,82 +155,48 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -422,21 +222,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -456,65 +254,6 @@ export declare namespace AngelCoreStruct { min: BigNumber; defaultSplit: BigNumber; }; - - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; } export declare namespace SubDaoMessage { @@ -529,13 +268,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -549,7 +288,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -559,52 +298,236 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; } +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + +export declare namespace AccountStorage { + export type EndowmentStruct = { + owner: PromiseOrValue; + name: PromiseOrValue; + categories: AngelCoreStruct.CategoriesStruct; + tier: PromiseOrValue; + endowType: PromiseOrValue; + logo: PromiseOrValue; + image: PromiseOrValue; + maturityTime: PromiseOrValue; + strategies: AngelCoreStruct.AccountStrategiesStruct; + oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; + kycDonorsOnly: PromiseOrValue; + pendingRedemptions: PromiseOrValue; + proposalLink: PromiseOrValue; + multisig: PromiseOrValue; + dao: PromiseOrValue; + daoToken: PromiseOrValue; + donationMatchActive: PromiseOrValue; + donationMatchContract: PromiseOrValue; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + withdrawFee: AngelCoreStruct.EndowmentFeeStruct; + depositFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; + settingsController: AngelCoreStruct.SettingsControllerStruct; + parent: PromiseOrValue; + ignoreUserSplits: PromiseOrValue; + splitToLiquid: AngelCoreStruct.SplitDetailsStruct; + referralId: PromiseOrValue; + }; + + export type EndowmentStructOutput = [ + string, + string, + AngelCoreStruct.CategoriesStructOutput, + BigNumber, + number, + string, + string, + BigNumber, + AngelCoreStruct.AccountStrategiesStructOutput, + AngelCoreStruct.OneOffVaultsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, + boolean, + BigNumber, + BigNumber, + string, + string, + string, + boolean, + string, + string[], + string[], + string[], + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.EndowmentFeeStructOutput, + AngelCoreStruct.SettingsControllerStructOutput, + number, + boolean, + AngelCoreStruct.SplitDetailsStructOutput, + BigNumber + ] & { + owner: string; + name: string; + categories: AngelCoreStruct.CategoriesStructOutput; + tier: BigNumber; + endowType: number; + logo: string; + image: string; + maturityTime: BigNumber; + strategies: AngelCoreStruct.AccountStrategiesStructOutput; + oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; + kycDonorsOnly: boolean; + pendingRedemptions: BigNumber; + proposalLink: BigNumber; + multisig: string; + dao: string; + daoToken: string; + donationMatchActive: boolean; + donationMatchContract: string; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + depositFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; + settingsController: AngelCoreStruct.SettingsControllerStructOutput; + parent: number; + ignoreUserSplits: boolean; + splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; + referralId: BigNumber; + }; + + export type ConfigStruct = { + owner: PromiseOrValue; + version: PromiseOrValue; + registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + reentrancyGuardLocked: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + }; + + export type ConfigStructOutput = [ + string, + string, + string, + number, + BigNumber, + string, + string, + string, + boolean, + AngelCoreStruct.EndowmentFeeStructOutput + ] & { + owner: string; + version: string; + registrarContract: string; + nextAccountId: number; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + reentrancyGuardLocked: boolean; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + }; +} + export interface AccountsVaultFacetInterface extends utils.Interface { functions: { - "vaultsInvest(uint32,uint8,string[],address[],uint256[])": FunctionFragment; - "vaultsRedeem(uint32,uint8,string[])": FunctionFragment; + "strategyInvest(uint32,bytes4,string,uint256,uint256)": FunctionFragment; + "strategyRedeem(uint32,bytes4,string,uint256,uint256)": FunctionFragment; + "strategyRedeemAll(uint32,bytes4,string)": FunctionFragment; }; getFunction( - nameOrSignatureOrTopic: "vaultsInvest" | "vaultsRedeem" + nameOrSignatureOrTopic: + | "strategyInvest" + | "strategyRedeem" + | "strategyRedeemAll" ): FunctionFragment; encodeFunctionData( - functionFragment: "vaultsInvest", + functionFragment: "strategyInvest", values: [ PromiseOrValue, + PromiseOrValue, + PromiseOrValue, PromiseOrValue, - PromiseOrValue[], - PromiseOrValue[], - PromiseOrValue[] + PromiseOrValue ] ): string; encodeFunctionData( - functionFragment: "vaultsRedeem", + functionFragment: "strategyRedeem", values: [ PromiseOrValue, + PromiseOrValue, + PromiseOrValue, PromiseOrValue, - PromiseOrValue[] + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "strategyRedeemAll", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue ] ): string; decodeFunctionResult( - functionFragment: "vaultsInvest", + functionFragment: "strategyInvest", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "vaultsRedeem", + functionFragment: "strategyRedeem", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "strategyRedeemAll", data: BytesLike ): Result; events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; + "AllowanceStateUpdatedTo(address,address,address,uint256)": EventFragment; "DaoContractCreated(tuple,address)": EventFragment; "DonationDeposited(uint256,uint256)": EventFragment; "DonationMatchSetup(uint256,address)": EventFragment; @@ -615,7 +538,6 @@ export interface AccountsVaultFacetInterface extends utils.Interface { "SwapToken(uint256,uint8,uint256,address,address,uint256)": EventFragment; "UpdateConfig(tuple)": EventFragment; "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; @@ -629,17 +551,16 @@ export interface AccountsVaultFacetInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; } export interface AllowanceStateUpdatedToEventObject { sender: string; spender: string; tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; + allowance: BigNumber; } export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], + [string, string, string, BigNumber], AllowanceStateUpdatedToEventObject >; @@ -647,7 +568,7 @@ export type AllowanceStateUpdatedToEventFilter = TypedEventFilter; export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; + createdaomessage: SubDaoMessage.InstantiateMsgStructOutput; daoAddress: string; } export type DaoContractCreatedEvent = TypedEvent< @@ -659,8 +580,8 @@ export type DaoContractCreatedEventFilter = TypedEventFilter; export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; + id: BigNumber; + amount: BigNumber; } export type DonationDepositedEvent = TypedEvent< [BigNumber, BigNumber], @@ -732,12 +653,12 @@ export type RemoveAllowanceEvent = TypedEvent< export type RemoveAllowanceEventFilter = TypedEventFilter; export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; + id: BigNumber; + accountType: number; + amount: BigNumber; + tokenin: string; + tokenout: string; + amountout: BigNumber; } export type SwapTokenEvent = TypedEvent< [BigNumber, number, BigNumber, string, string, BigNumber], @@ -767,18 +688,6 @@ export type UpdateEndowmentEvent = TypedEvent< export type UpdateEndowmentEventFilter = TypedEventFilter; -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - export interface AccountsVaultFacet extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -806,59 +715,86 @@ export interface AccountsVaultFacet extends BaseContract { removeListener: OnEvent; functions: { - vaultsInvest( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curVaults: PromiseOrValue[], - curTokens: PromiseOrValue[], - curAmount: PromiseOrValue[], + strategyInvest( + id: PromiseOrValue, + strategy: PromiseOrValue, + token: PromiseOrValue, + lockAmt: PromiseOrValue, + liquidAmt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + strategyRedeem( + id: PromiseOrValue, + strategy: PromiseOrValue, + token: PromiseOrValue, + lockAmt: PromiseOrValue, + liquidAmt: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; - vaultsRedeem( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curVaults: PromiseOrValue[], + strategyRedeemAll( + id: PromiseOrValue, + strategy: PromiseOrValue, + token: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; }; - vaultsInvest( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curVaults: PromiseOrValue[], - curTokens: PromiseOrValue[], - curAmount: PromiseOrValue[], + strategyInvest( + id: PromiseOrValue, + strategy: PromiseOrValue, + token: PromiseOrValue, + lockAmt: PromiseOrValue, + liquidAmt: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; - vaultsRedeem( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curVaults: PromiseOrValue[], + strategyRedeem( + id: PromiseOrValue, + strategy: PromiseOrValue, + token: PromiseOrValue, + lockAmt: PromiseOrValue, + liquidAmt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + strategyRedeemAll( + id: PromiseOrValue, + strategy: PromiseOrValue, + token: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; callStatic: { - vaultsInvest( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curVaults: PromiseOrValue[], - curTokens: PromiseOrValue[], - curAmount: PromiseOrValue[], + strategyInvest( + id: PromiseOrValue, + strategy: PromiseOrValue, + token: PromiseOrValue, + lockAmt: PromiseOrValue, + liquidAmt: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + strategyRedeem( + id: PromiseOrValue, + strategy: PromiseOrValue, + token: PromiseOrValue, + lockAmt: PromiseOrValue, + liquidAmt: PromiseOrValue, overrides?: CallOverrides ): Promise; - vaultsRedeem( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curVaults: PromiseOrValue[], + strategyRedeemAll( + id: PromiseOrValue, + strategy: PromiseOrValue, + token: PromiseOrValue, overrides?: CallOverrides ): Promise; }; filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( + "AllowanceStateUpdatedTo(address,address,address,uint256)"( sender?: null, spender?: null, tokenAddress?: null, @@ -872,22 +808,19 @@ export interface AccountsVaultFacet extends BaseContract { ): AllowanceStateUpdatedToEventFilter; "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; DaoContractCreated( - curCreatedaomessage?: null, + createdaomessage?: null, daoAddress?: null ): DaoContractCreatedEventFilter; "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null + id?: null, + amount?: null ): DonationDepositedEventFilter; + DonationDeposited(id?: null, amount?: null): DonationDepositedEventFilter; "DonationMatchSetup(uint256,address)"( id?: null, @@ -936,20 +869,20 @@ export interface AccountsVaultFacet extends BaseContract { ): RemoveAllowanceEventFilter; "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null + id?: null, + accountType?: null, + amount?: null, + tokenin?: null, + tokenout?: null, + amountout?: null ): SwapTokenEventFilter; "UpdateConfig(tuple)"(config?: null): UpdateConfigEventFilter; @@ -960,49 +893,58 @@ export interface AccountsVaultFacet extends BaseContract { endowment?: null ): UpdateEndowmentEventFilter; UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; }; estimateGas: { - vaultsInvest( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curVaults: PromiseOrValue[], - curTokens: PromiseOrValue[], - curAmount: PromiseOrValue[], + strategyInvest( + id: PromiseOrValue, + strategy: PromiseOrValue, + token: PromiseOrValue, + lockAmt: PromiseOrValue, + liquidAmt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + strategyRedeem( + id: PromiseOrValue, + strategy: PromiseOrValue, + token: PromiseOrValue, + lockAmt: PromiseOrValue, + liquidAmt: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; - vaultsRedeem( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curVaults: PromiseOrValue[], + strategyRedeemAll( + id: PromiseOrValue, + strategy: PromiseOrValue, + token: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { - vaultsInvest( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curVaults: PromiseOrValue[], - curTokens: PromiseOrValue[], - curAmount: PromiseOrValue[], + strategyInvest( + id: PromiseOrValue, + strategy: PromiseOrValue, + token: PromiseOrValue, + lockAmt: PromiseOrValue, + liquidAmt: PromiseOrValue, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + strategyRedeem( + id: PromiseOrValue, + strategy: PromiseOrValue, + token: PromiseOrValue, + lockAmt: PromiseOrValue, + liquidAmt: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; - vaultsRedeem( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curVaults: PromiseOrValue[], + strategyRedeemAll( + id: PromiseOrValue, + strategy: PromiseOrValue, + token: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/facets/AxelarCallExecutor.sol/AxelarExecutionContract.ts b/typechain-types/contracts/core/accounts/facets/AxelarCallExecutor.sol/AxelarExecutionContract.ts deleted file mode 100644 index 1cbcf3e56..000000000 --- a/typechain-types/contracts/core/accounts/facets/AxelarCallExecutor.sol/AxelarExecutionContract.ts +++ /dev/null @@ -1,1018 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import type { - FunctionFragment, - Result, - EventFragment, -} from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; -import type { - TypedEventFilter, - TypedEvent, - TypedListener, - OnEvent, - PromiseOrValue, -} from "../../../../../common"; - -export declare namespace AccountStorage { - export type AllowanceDataStruct = { - height: PromiseOrValue; - timestamp: PromiseOrValue; - expires: PromiseOrValue; - allowanceAmount: PromiseOrValue; - configured: PromiseOrValue; - }; - - export type AllowanceDataStructOutput = [ - BigNumber, - BigNumber, - boolean, - BigNumber, - boolean - ] & { - height: BigNumber; - timestamp: BigNumber; - expires: boolean; - allowanceAmount: BigNumber; - configured: boolean; - }; - - export type EndowmentStruct = { - owner: PromiseOrValue; - name: PromiseOrValue; - categories: AngelCoreStruct.CategoriesStruct; - tier: PromiseOrValue; - endow_type: PromiseOrValue; - logo: PromiseOrValue; - image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; - maturityTime: PromiseOrValue; - strategies: AngelCoreStruct.AccountStrategiesStruct; - oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - kycDonorsOnly: PromiseOrValue; - pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; - proposalLink: PromiseOrValue; - dao: PromiseOrValue; - daoToken: PromiseOrValue; - donationMatchActive: PromiseOrValue; - donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; - withdrawFee: AngelCoreStruct.EndowmentFeeStruct; - depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; - settingsController: AngelCoreStruct.SettingsControllerStruct; - parent: PromiseOrValue; - ignoreUserSplits: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - referralId: PromiseOrValue; - }; - - export type EndowmentStructOutput = [ - string, - string, - AngelCoreStruct.CategoriesStructOutput, - BigNumber, - number, - string, - string, - number, - boolean, - boolean, - BigNumber, - AngelCoreStruct.AccountStrategiesStructOutput, - AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, - boolean, - BigNumber, - BigNumber, - BigNumber, - string, - string, - boolean, - string, - string[], - string[], - string[], - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.EndowmentFeeStructOutput, - AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, - boolean, - AngelCoreStruct.SplitDetailsStructOutput, - BigNumber - ] & { - owner: string; - name: string; - categories: AngelCoreStruct.CategoriesStructOutput; - tier: BigNumber; - endow_type: number; - logo: string; - image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; - maturityTime: BigNumber; - strategies: AngelCoreStruct.AccountStrategiesStructOutput; - oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - kycDonorsOnly: boolean; - pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; - proposalLink: BigNumber; - dao: string; - daoToken: string; - donationMatchActive: boolean; - donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; - withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; - depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; - settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - ignoreUserSplits: boolean; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - referralId: BigNumber; - }; - - export type ConfigStruct = { - owner: PromiseOrValue; - registrarContract: PromiseOrValue; - nextAccountId: PromiseOrValue; - maxGeneralCategoryId: PromiseOrValue; - }; - - export type ConfigStructOutput = [string, string, BigNumber, BigNumber] & { - owner: string; - registrarContract: string; - nextAccountId: BigNumber; - maxGeneralCategoryId: BigNumber; - }; - - export type EndowmentStateStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - balances: AngelCoreStruct.BalanceInfoStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; - }; - - export type EndowmentStateStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - AngelCoreStruct.BalanceInfoStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - balances: AngelCoreStruct.BalanceInfoStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; - }; -} - -export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { - value: PromiseOrValue; - scale: PromiseOrValue; - slope: PromiseOrValue; - power: PromiseOrValue; - }; - - export type CurveTypeDataStructOutput = [ - BigNumber, - BigNumber, - BigNumber, - BigNumber - ] & { - value: BigNumber; - scale: BigNumber; - slope: BigNumber; - power: BigNumber; - }; - - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; - }; - - export type CurveTypeStructOutput = [ - number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; - - export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; - }; - - export type DaoTokenDataStructOutput = [ - string, - BigNumber, - string, - string, - AngelCoreStruct.CurveTypeStructOutput, - string, - string, - BigNumber, - string, - BigNumber, - BigNumber - ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; - }; - - export type DaoTokenStruct = { - token: PromiseOrValue; - data: AngelCoreStruct.DaoTokenDataStruct; - }; - - export type DaoTokenStructOutput = [ - number, - AngelCoreStruct.DaoTokenDataStructOutput - ] & { token: number; data: AngelCoreStruct.DaoTokenDataStructOutput }; - - export type CategoriesStruct = { - sdgs: PromiseOrValue[]; - general: PromiseOrValue[]; - }; - - export type CategoriesStructOutput = [BigNumber[], BigNumber[]] & { - sdgs: BigNumber[]; - general: BigNumber[]; - }; - - export type AccountStrategiesStruct = { - locked_vault: PromiseOrValue[]; - lockedPercentage: PromiseOrValue[]; - liquid_vault: PromiseOrValue[]; - liquidPercentage: PromiseOrValue[]; - }; - - export type AccountStrategiesStructOutput = [ - string[], - BigNumber[], - string[], - BigNumber[] - ] & { - locked_vault: string[]; - lockedPercentage: BigNumber[]; - liquid_vault: string[]; - liquidPercentage: BigNumber[]; - }; - - export type OneOffVaultsStruct = { - locked: PromiseOrValue[]; - lockedAmount: PromiseOrValue[]; - liquid: PromiseOrValue[]; - liquidAmount: PromiseOrValue[]; - }; - - export type OneOffVaultsStructOutput = [ - string[], - BigNumber[], - string[], - BigNumber[] - ] & { - locked: string[]; - lockedAmount: BigNumber[]; - liquid: string[]; - liquidAmount: BigNumber[]; - }; - - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - - export type EndowmentFeeStruct = { - payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; - }; - - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { - payoutAddress: string; - feePercentage: BigNumber; - active: boolean; - }; - - export type DelegateStruct = { - Addr: PromiseOrValue; - expires: PromiseOrValue; - }; - - export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; - expires: BigNumber; - }; - - export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; - delegate: AngelCoreStruct.DelegateStruct; - }; - - export type SettingsPermissionStructOutput = [ - boolean, - boolean, - boolean, - AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; - - export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; - strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; - maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; - withdrawFee: AngelCoreStruct.SettingsPermissionStruct; - depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; - name: AngelCoreStruct.SettingsPermissionStruct; - image: AngelCoreStruct.SettingsPermissionStruct; - logo: AngelCoreStruct.SettingsPermissionStruct; - categories: AngelCoreStruct.SettingsPermissionStruct; - splitToLiquid: AngelCoreStruct.SettingsPermissionStruct; - ignoreUserSplits: AngelCoreStruct.SettingsPermissionStruct; - }; - - export type SettingsControllerStructOutput = [ - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput - ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; - strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; - maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; - withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; - depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; - name: AngelCoreStruct.SettingsPermissionStructOutput; - image: AngelCoreStruct.SettingsPermissionStructOutput; - logo: AngelCoreStruct.SettingsPermissionStructOutput; - categories: AngelCoreStruct.SettingsPermissionStructOutput; - splitToLiquid: AngelCoreStruct.SettingsPermissionStructOutput; - ignoreUserSplits: AngelCoreStruct.SettingsPermissionStructOutput; - }; - - export type SplitDetailsStruct = { - max: PromiseOrValue; - min: PromiseOrValue; - defaultSplit: PromiseOrValue; - }; - - export type SplitDetailsStructOutput = [BigNumber, BigNumber, BigNumber] & { - max: BigNumber; - min: BigNumber; - defaultSplit: BigNumber; - }; - - export type DonationsReceivedStruct = { - locked: PromiseOrValue; - liquid: PromiseOrValue; - }; - - export type DonationsReceivedStructOutput = [BigNumber, BigNumber] & { - locked: BigNumber; - liquid: BigNumber; - }; - - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - - export type BalanceInfoStruct = { - locked: AngelCoreStruct.GenericBalanceStruct; - liquid: AngelCoreStruct.GenericBalanceStruct; - }; - - export type BalanceInfoStructOutput = [ - AngelCoreStruct.GenericBalanceStructOutput, - AngelCoreStruct.GenericBalanceStructOutput - ] & { - locked: AngelCoreStruct.GenericBalanceStructOutput; - liquid: AngelCoreStruct.GenericBalanceStructOutput; - }; - - export type BeneficiaryDataStruct = { - id: PromiseOrValue; - addr: PromiseOrValue; - }; - - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; - addr: string; - }; - - export type BeneficiaryStruct = { - data: AngelCoreStruct.BeneficiaryDataStruct; - enumData: PromiseOrValue; - }; - - export type BeneficiaryStructOutput = [ - AngelCoreStruct.BeneficiaryDataStructOutput, - number - ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; -} - -export declare namespace SubDaoMessage { - export type InstantiateMsgStruct = { - id: PromiseOrValue; - owner: PromiseOrValue; - quorum: PromiseOrValue; - threshold: PromiseOrValue; - votingPeriod: PromiseOrValue; - timelockPeriod: PromiseOrValue; - expirationPeriod: PromiseOrValue; - proposalDeposit: PromiseOrValue; - snapshotPeriod: PromiseOrValue; - token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; - endowOwner: PromiseOrValue; - registrarContract: PromiseOrValue; - }; - - export type InstantiateMsgStructOutput = [ - BigNumber, - string, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - BigNumber, - AngelCoreStruct.DaoTokenStructOutput, - number, - string, - string - ] & { - id: BigNumber; - owner: string; - quorum: BigNumber; - threshold: BigNumber; - votingPeriod: BigNumber; - timelockPeriod: BigNumber; - expirationPeriod: BigNumber; - proposalDeposit: BigNumber; - snapshotPeriod: BigNumber; - token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; - endowOwner: string; - registrarContract: string; - }; -} - -export interface AxelarExecutionContractInterface extends utils.Interface { - functions: { - "execute(bytes32,string,string,bytes)": FunctionFragment; - "executeWithToken(bytes32,string,string,bytes,string,uint256)": FunctionFragment; - }; - - getFunction( - nameOrSignatureOrTopic: "execute" | "executeWithToken" - ): FunctionFragment; - - encodeFunctionData( - functionFragment: "execute", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - encodeFunctionData( - functionFragment: "executeWithToken", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - - decodeFunctionResult(functionFragment: "execute", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "executeWithToken", - data: BytesLike - ): Result; - - events: { - "AllowanceStateUpdatedTo(address,address,address,tuple)": EventFragment; - "DaoContractCreated(tuple,address)": EventFragment; - "DonationDeposited(uint256,uint256)": EventFragment; - "DonationMatchSetup(uint256,address)": EventFragment; - "DonationWithdrawn(uint256,address,uint256)": EventFragment; - "EndowmentCreated(uint256,tuple)": EventFragment; - "EndowmentSettingUpdated(uint256,string)": EventFragment; - "RemoveAllowance(address,address,address)": EventFragment; - "SwapToken(uint256,uint8,uint256,address,address,uint256)": EventFragment; - "UpdateConfig(tuple)": EventFragment; - "UpdateEndowment(uint256,tuple)": EventFragment; - "UpdateEndowmentState(uint256,tuple)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "AllowanceStateUpdatedTo"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DaoContractCreated"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DonationDeposited"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DonationMatchSetup"): EventFragment; - getEvent(nameOrSignatureOrTopic: "DonationWithdrawn"): EventFragment; - getEvent(nameOrSignatureOrTopic: "EndowmentCreated"): EventFragment; - getEvent(nameOrSignatureOrTopic: "EndowmentSettingUpdated"): EventFragment; - getEvent(nameOrSignatureOrTopic: "RemoveAllowance"): EventFragment; - getEvent(nameOrSignatureOrTopic: "SwapToken"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateConfig"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateEndowmentState"): EventFragment; -} - -export interface AllowanceStateUpdatedToEventObject { - sender: string; - spender: string; - tokenAddress: string; - allowance: AccountStorage.AllowanceDataStructOutput; -} -export type AllowanceStateUpdatedToEvent = TypedEvent< - [string, string, string, AccountStorage.AllowanceDataStructOutput], - AllowanceStateUpdatedToEventObject ->; - -export type AllowanceStateUpdatedToEventFilter = - TypedEventFilter; - -export interface DaoContractCreatedEventObject { - curCreatedaomessage: SubDaoMessage.InstantiateMsgStructOutput; - daoAddress: string; -} -export type DaoContractCreatedEvent = TypedEvent< - [SubDaoMessage.InstantiateMsgStructOutput, string], - DaoContractCreatedEventObject ->; - -export type DaoContractCreatedEventFilter = - TypedEventFilter; - -export interface DonationDepositedEventObject { - curId: BigNumber; - curAmount: BigNumber; -} -export type DonationDepositedEvent = TypedEvent< - [BigNumber, BigNumber], - DonationDepositedEventObject ->; - -export type DonationDepositedEventFilter = - TypedEventFilter; - -export interface DonationMatchSetupEventObject { - id: BigNumber; - donationMatchContract: string; -} -export type DonationMatchSetupEvent = TypedEvent< - [BigNumber, string], - DonationMatchSetupEventObject ->; - -export type DonationMatchSetupEventFilter = - TypedEventFilter; - -export interface DonationWithdrawnEventObject { - id: BigNumber; - recipient: string; - amount: BigNumber; -} -export type DonationWithdrawnEvent = TypedEvent< - [BigNumber, string, BigNumber], - DonationWithdrawnEventObject ->; - -export type DonationWithdrawnEventFilter = - TypedEventFilter; - -export interface EndowmentCreatedEventObject { - id: BigNumber; - endowment: AccountStorage.EndowmentStructOutput; -} -export type EndowmentCreatedEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStructOutput], - EndowmentCreatedEventObject ->; - -export type EndowmentCreatedEventFilter = - TypedEventFilter; - -export interface EndowmentSettingUpdatedEventObject { - id: BigNumber; - setting: string; -} -export type EndowmentSettingUpdatedEvent = TypedEvent< - [BigNumber, string], - EndowmentSettingUpdatedEventObject ->; - -export type EndowmentSettingUpdatedEventFilter = - TypedEventFilter; - -export interface RemoveAllowanceEventObject { - sender: string; - spender: string; - tokenAddress: string; -} -export type RemoveAllowanceEvent = TypedEvent< - [string, string, string], - RemoveAllowanceEventObject ->; - -export type RemoveAllowanceEventFilter = TypedEventFilter; - -export interface SwapTokenEventObject { - curId: BigNumber; - curAccountType: number; - curAmount: BigNumber; - curTokenin: string; - curTokenout: string; - curAmountout: BigNumber; -} -export type SwapTokenEvent = TypedEvent< - [BigNumber, number, BigNumber, string, string, BigNumber], - SwapTokenEventObject ->; - -export type SwapTokenEventFilter = TypedEventFilter; - -export interface UpdateConfigEventObject { - config: AccountStorage.ConfigStructOutput; -} -export type UpdateConfigEvent = TypedEvent< - [AccountStorage.ConfigStructOutput], - UpdateConfigEventObject ->; - -export type UpdateConfigEventFilter = TypedEventFilter; - -export interface UpdateEndowmentEventObject { - id: BigNumber; - endowment: AccountStorage.EndowmentStructOutput; -} -export type UpdateEndowmentEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStructOutput], - UpdateEndowmentEventObject ->; - -export type UpdateEndowmentEventFilter = TypedEventFilter; - -export interface UpdateEndowmentStateEventObject { - id: BigNumber; - state: AccountStorage.EndowmentStateStructOutput; -} -export type UpdateEndowmentStateEvent = TypedEvent< - [BigNumber, AccountStorage.EndowmentStateStructOutput], - UpdateEndowmentStateEventObject ->; - -export type UpdateEndowmentStateEventFilter = - TypedEventFilter; - -export interface AxelarExecutionContract extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: AxelarExecutionContractInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - execute( - commandId: PromiseOrValue, - sourceChain: PromiseOrValue, - sourceAddress: PromiseOrValue, - payload: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeWithToken( - commandId: PromiseOrValue, - sourceChain: PromiseOrValue, - sourceAddress: PromiseOrValue, - payload: PromiseOrValue, - tokenSymbol: PromiseOrValue, - amount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; - - execute( - commandId: PromiseOrValue, - sourceChain: PromiseOrValue, - sourceAddress: PromiseOrValue, - payload: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeWithToken( - commandId: PromiseOrValue, - sourceChain: PromiseOrValue, - sourceAddress: PromiseOrValue, - payload: PromiseOrValue, - tokenSymbol: PromiseOrValue, - amount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - callStatic: { - execute( - commandId: PromiseOrValue, - sourceChain: PromiseOrValue, - sourceAddress: PromiseOrValue, - payload: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - executeWithToken( - commandId: PromiseOrValue, - sourceChain: PromiseOrValue, - sourceAddress: PromiseOrValue, - payload: PromiseOrValue, - tokenSymbol: PromiseOrValue, - amount: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "AllowanceStateUpdatedTo(address,address,address,tuple)"( - sender?: null, - spender?: null, - tokenAddress?: null, - allowance?: null - ): AllowanceStateUpdatedToEventFilter; - AllowanceStateUpdatedTo( - sender?: null, - spender?: null, - tokenAddress?: null, - allowance?: null - ): AllowanceStateUpdatedToEventFilter; - - "DaoContractCreated(tuple,address)"( - curCreatedaomessage?: null, - daoAddress?: null - ): DaoContractCreatedEventFilter; - DaoContractCreated( - curCreatedaomessage?: null, - daoAddress?: null - ): DaoContractCreatedEventFilter; - - "DonationDeposited(uint256,uint256)"( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - DonationDeposited( - curId?: null, - curAmount?: null - ): DonationDepositedEventFilter; - - "DonationMatchSetup(uint256,address)"( - id?: null, - donationMatchContract?: null - ): DonationMatchSetupEventFilter; - DonationMatchSetup( - id?: null, - donationMatchContract?: null - ): DonationMatchSetupEventFilter; - - "DonationWithdrawn(uint256,address,uint256)"( - id?: null, - recipient?: null, - amount?: null - ): DonationWithdrawnEventFilter; - DonationWithdrawn( - id?: null, - recipient?: null, - amount?: null - ): DonationWithdrawnEventFilter; - - "EndowmentCreated(uint256,tuple)"( - id?: null, - endowment?: null - ): EndowmentCreatedEventFilter; - EndowmentCreated(id?: null, endowment?: null): EndowmentCreatedEventFilter; - - "EndowmentSettingUpdated(uint256,string)"( - id?: null, - setting?: null - ): EndowmentSettingUpdatedEventFilter; - EndowmentSettingUpdated( - id?: null, - setting?: null - ): EndowmentSettingUpdatedEventFilter; - - "RemoveAllowance(address,address,address)"( - sender?: null, - spender?: null, - tokenAddress?: null - ): RemoveAllowanceEventFilter; - RemoveAllowance( - sender?: null, - spender?: null, - tokenAddress?: null - ): RemoveAllowanceEventFilter; - - "SwapToken(uint256,uint8,uint256,address,address,uint256)"( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null - ): SwapTokenEventFilter; - SwapToken( - curId?: null, - curAccountType?: null, - curAmount?: null, - curTokenin?: null, - curTokenout?: null, - curAmountout?: null - ): SwapTokenEventFilter; - - "UpdateConfig(tuple)"(config?: null): UpdateConfigEventFilter; - UpdateConfig(config?: null): UpdateConfigEventFilter; - - "UpdateEndowment(uint256,tuple)"( - id?: null, - endowment?: null - ): UpdateEndowmentEventFilter; - UpdateEndowment(id?: null, endowment?: null): UpdateEndowmentEventFilter; - - "UpdateEndowmentState(uint256,tuple)"( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - UpdateEndowmentState( - id?: null, - state?: null - ): UpdateEndowmentStateEventFilter; - }; - - estimateGas: { - execute( - commandId: PromiseOrValue, - sourceChain: PromiseOrValue, - sourceAddress: PromiseOrValue, - payload: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeWithToken( - commandId: PromiseOrValue, - sourceChain: PromiseOrValue, - sourceAddress: PromiseOrValue, - payload: PromiseOrValue, - tokenSymbol: PromiseOrValue, - amount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; - - populateTransaction: { - execute( - commandId: PromiseOrValue, - sourceChain: PromiseOrValue, - sourceAddress: PromiseOrValue, - payload: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - executeWithToken( - commandId: PromiseOrValue, - sourceChain: PromiseOrValue, - sourceAddress: PromiseOrValue, - payload: PromiseOrValue, - tokenSymbol: PromiseOrValue, - amount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; -} diff --git a/typechain-types/contracts/core/accounts/facets/AxelarCallExecutor.sol/index.ts b/typechain-types/contracts/core/accounts/facets/AxelarCallExecutor.sol/index.ts deleted file mode 100644 index 7dbbe393f..000000000 --- a/typechain-types/contracts/core/accounts/facets/AxelarCallExecutor.sol/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export type { AxelarExecutionContract } from "./AxelarExecutionContract"; diff --git a/typechain-types/contracts/core/accounts/facets/index.ts b/typechain-types/contracts/core/accounts/facets/index.ts index e10f0e5df..1a0cff84d 100644 --- a/typechain-types/contracts/core/accounts/facets/index.ts +++ b/typechain-types/contracts/core/accounts/facets/index.ts @@ -1,8 +1,6 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import type * as axelarCallExecutorSol from "./AxelarCallExecutor.sol"; -export type { axelarCallExecutorSol }; export type { AccountDeployContract } from "./AccountDeployContract"; export type { AccountDepositWithdrawEndowments } from "./AccountDepositWithdrawEndowments"; export type { AccountDonationMatch } from "./AccountDonationMatch"; @@ -11,8 +9,6 @@ export type { AccountsCreateEndowment } from "./AccountsCreateEndowment"; export type { AccountsDAOEndowments } from "./AccountsDAOEndowments"; export type { AccountsEvents } from "./AccountsEvents"; export type { AccountsQueryEndowments } from "./AccountsQueryEndowments"; -export type { AccountsStrategiesCopyEndowments } from "./AccountsStrategiesCopyEndowments"; -export type { AccountsStrategiesUpdateEndowments } from "./AccountsStrategiesUpdateEndowments"; export type { AccountsSwapEndowments } from "./AccountsSwapEndowments"; export type { AccountsUpdate } from "./AccountsUpdate"; export type { AccountsUpdateEndowmentSettingsController } from "./AccountsUpdateEndowmentSettingsController"; diff --git a/typechain-types/contracts/core/accounts/index.ts b/typechain-types/contracts/core/accounts/index.ts index dda5e347e..338b938a5 100644 --- a/typechain-types/contracts/core/accounts/index.ts +++ b/typechain-types/contracts/core/accounts/index.ts @@ -5,6 +5,6 @@ import type * as diamond from "./diamond"; export type { diamond }; import type * as facets from "./facets"; export type { facets }; -import type * as interface from "./interface"; -export type { interface }; +import type * as interfaces from "./interfaces"; +export type { interfaces }; export type { IAccounts } from "./IAccounts"; diff --git a/typechain-types/contracts/core/accounts/interface/IAccountsDepositWithdrawEndowments.ts b/typechain-types/contracts/core/accounts/interface/IAccountsDepositWithdrawEndowments.ts deleted file mode 100644 index 70a8834ee..000000000 --- a/typechain-types/contracts/core/accounts/interface/IAccountsDepositWithdrawEndowments.ts +++ /dev/null @@ -1,310 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PayableOverrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import type { FunctionFragment, Result } from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; -import type { - TypedEventFilter, - TypedEvent, - TypedListener, - OnEvent, - PromiseOrValue, -} from "../../../../common"; - -export declare namespace AccountMessages { - export type DepositRequestStruct = { - id: PromiseOrValue; - lockedPercentage: PromiseOrValue; - liquidPercentage: PromiseOrValue; - }; - - export type DepositRequestStructOutput = [BigNumber, BigNumber, BigNumber] & { - id: BigNumber; - lockedPercentage: BigNumber; - liquidPercentage: BigNumber; - }; -} - -export interface IAccountsDepositWithdrawEndowmentsInterface - extends utils.Interface { - functions: { - "depositDonationMatchErC20(uint256,address,uint256)": FunctionFragment; - "depositERC20((uint256,uint256,uint256),address,uint256)": FunctionFragment; - "depositEth((uint256,uint256,uint256))": FunctionFragment; - "harvest(address)": FunctionFragment; - "withdraw(uint256,uint8,address,address[],uint256[])": FunctionFragment; - }; - - getFunction( - nameOrSignatureOrTopic: - | "depositDonationMatchErC20" - | "depositERC20" - | "depositEth" - | "harvest" - | "withdraw" - ): FunctionFragment; - - encodeFunctionData( - functionFragment: "depositDonationMatchErC20", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - encodeFunctionData( - functionFragment: "depositERC20", - values: [ - AccountMessages.DepositRequestStruct, - PromiseOrValue, - PromiseOrValue - ] - ): string; - encodeFunctionData( - functionFragment: "depositEth", - values: [AccountMessages.DepositRequestStruct] - ): string; - encodeFunctionData( - functionFragment: "harvest", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "withdraw", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue[], - PromiseOrValue[] - ] - ): string; - - decodeFunctionResult( - functionFragment: "depositDonationMatchErC20", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "depositERC20", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "depositEth", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "harvest", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; - - events: {}; -} - -export interface IAccountsDepositWithdrawEndowments extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: IAccountsDepositWithdrawEndowmentsInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - depositDonationMatchErC20( - curId: PromiseOrValue, - curToken: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - depositERC20( - curDetails: AccountMessages.DepositRequestStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - depositEth( - curDetails: AccountMessages.DepositRequestStruct, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - harvest( - vaultAddr: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - withdraw( - curId: PromiseOrValue, - acctType: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; - - depositDonationMatchErC20( - curId: PromiseOrValue, - curToken: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - depositERC20( - curDetails: AccountMessages.DepositRequestStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - depositEth( - curDetails: AccountMessages.DepositRequestStruct, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - harvest( - vaultAddr: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - withdraw( - curId: PromiseOrValue, - acctType: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - callStatic: { - depositDonationMatchErC20( - curId: PromiseOrValue, - curToken: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - depositERC20( - curDetails: AccountMessages.DepositRequestStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - depositEth( - curDetails: AccountMessages.DepositRequestStruct, - overrides?: CallOverrides - ): Promise; - - harvest( - vaultAddr: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - withdraw( - curId: PromiseOrValue, - acctType: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - overrides?: CallOverrides - ): Promise; - }; - - filters: {}; - - estimateGas: { - depositDonationMatchErC20( - curId: PromiseOrValue, - curToken: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - depositERC20( - curDetails: AccountMessages.DepositRequestStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - depositEth( - curDetails: AccountMessages.DepositRequestStruct, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - harvest( - vaultAddr: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - withdraw( - curId: PromiseOrValue, - acctType: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; - - populateTransaction: { - depositDonationMatchErC20( - curId: PromiseOrValue, - curToken: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - depositERC20( - curDetails: AccountMessages.DepositRequestStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - depositEth( - curDetails: AccountMessages.DepositRequestStruct, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - harvest( - vaultAddr: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - withdraw( - curId: PromiseOrValue, - acctType: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; -} diff --git a/typechain-types/contracts/core/accounts/interface/IVault.ts b/typechain-types/contracts/core/accounts/interface/IVault.ts deleted file mode 100644 index 7b5cbda88..000000000 --- a/typechain-types/contracts/core/accounts/interface/IVault.ts +++ /dev/null @@ -1,329 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PayableOverrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import type { - FunctionFragment, - Result, - EventFragment, -} from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; -import type { - TypedEventFilter, - TypedEvent, - TypedListener, - OnEvent, - PromiseOrValue, -} from "../../../../common"; - -export interface IVaultInterface extends utils.Interface { - functions: { - "deposit(uint32,address,uint256)": FunctionFragment; - "getVaultType()": FunctionFragment; - "harvest(uint32[])": FunctionFragment; - "redeem(uint32,address,uint256)": FunctionFragment; - "redeemAll(uint32)": FunctionFragment; - }; - - getFunction( - nameOrSignatureOrTopic: - | "deposit" - | "getVaultType" - | "harvest" - | "redeem" - | "redeemAll" - ): FunctionFragment; - - encodeFunctionData( - functionFragment: "deposit", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - encodeFunctionData( - functionFragment: "getVaultType", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "harvest", - values: [PromiseOrValue[]] - ): string; - encodeFunctionData( - functionFragment: "redeem", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - encodeFunctionData( - functionFragment: "redeemAll", - values: [PromiseOrValue] - ): string; - - decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "getVaultType", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "harvest", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "redeemAll", data: BytesLike): Result; - - events: { - "DepositMade(uint32,uint8,address,uint256)": EventFragment; - "Harvest(uint32[])": EventFragment; - "Redemption(uint32,uint8,address,uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "DepositMade"): EventFragment; - getEvent(nameOrSignatureOrTopic: "Harvest"): EventFragment; - getEvent(nameOrSignatureOrTopic: "Redemption"): EventFragment; -} - -export interface DepositMadeEventObject { - accountId: number; - vaultType: number; - tokenDeposited: string; - amtDeposited: BigNumber; -} -export type DepositMadeEvent = TypedEvent< - [number, number, string, BigNumber], - DepositMadeEventObject ->; - -export type DepositMadeEventFilter = TypedEventFilter; - -export interface HarvestEventObject { - accountIds: number[]; -} -export type HarvestEvent = TypedEvent<[number[]], HarvestEventObject>; - -export type HarvestEventFilter = TypedEventFilter; - -export interface RedemptionEventObject { - accountId: number; - vaultType: number; - tokenRedeemed: string; - amtRedeemed: BigNumber; -} -export type RedemptionEvent = TypedEvent< - [number, number, string, BigNumber], - RedemptionEventObject ->; - -export type RedemptionEventFilter = TypedEventFilter; - -export interface IVault extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: IVaultInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - deposit( - accountId: PromiseOrValue, - token: PromiseOrValue, - amt: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - getVaultType(overrides?: CallOverrides): Promise<[number]>; - - harvest( - accountIds: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - redeem( - accountId: PromiseOrValue, - token: PromiseOrValue, - amt: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - redeemAll( - accountId: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - }; - - deposit( - accountId: PromiseOrValue, - token: PromiseOrValue, - amt: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - getVaultType(overrides?: CallOverrides): Promise; - - harvest( - accountIds: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - redeem( - accountId: PromiseOrValue, - token: PromiseOrValue, - amt: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - redeemAll( - accountId: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - callStatic: { - deposit( - accountId: PromiseOrValue, - token: PromiseOrValue, - amt: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - getVaultType(overrides?: CallOverrides): Promise; - - harvest( - accountIds: PromiseOrValue[], - overrides?: CallOverrides - ): Promise; - - redeem( - accountId: PromiseOrValue, - token: PromiseOrValue, - amt: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - redeemAll( - accountId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "DepositMade(uint32,uint8,address,uint256)"( - accountId?: PromiseOrValue | null, - vaultType?: null, - tokenDeposited?: null, - amtDeposited?: null - ): DepositMadeEventFilter; - DepositMade( - accountId?: PromiseOrValue | null, - vaultType?: null, - tokenDeposited?: null, - amtDeposited?: null - ): DepositMadeEventFilter; - - "Harvest(uint32[])"( - accountIds?: PromiseOrValue[] | null - ): HarvestEventFilter; - Harvest( - accountIds?: PromiseOrValue[] | null - ): HarvestEventFilter; - - "Redemption(uint32,uint8,address,uint256)"( - accountId?: PromiseOrValue | null, - vaultType?: null, - tokenRedeemed?: null, - amtRedeemed?: null - ): RedemptionEventFilter; - Redemption( - accountId?: PromiseOrValue | null, - vaultType?: null, - tokenRedeemed?: null, - amtRedeemed?: null - ): RedemptionEventFilter; - }; - - estimateGas: { - deposit( - accountId: PromiseOrValue, - token: PromiseOrValue, - amt: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - getVaultType(overrides?: CallOverrides): Promise; - - harvest( - accountIds: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - redeem( - accountId: PromiseOrValue, - token: PromiseOrValue, - amt: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - redeemAll( - accountId: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - }; - - populateTransaction: { - deposit( - accountId: PromiseOrValue, - token: PromiseOrValue, - amt: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - getVaultType(overrides?: CallOverrides): Promise; - - harvest( - accountIds: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - redeem( - accountId: PromiseOrValue, - token: PromiseOrValue, - amt: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - - redeemAll( - accountId: PromiseOrValue, - overrides?: PayableOverrides & { from?: PromiseOrValue } - ): Promise; - }; -} diff --git a/typechain-types/contracts/core/accounts/interface/IAccountDeployContract.ts b/typechain-types/contracts/core/accounts/interfaces/IAccountDeployContract.ts similarity index 68% rename from typechain-types/contracts/core/accounts/interface/IAccountDeployContract.ts rename to typechain-types/contracts/core/accounts/interfaces/IAccountDeployContract.ts index 5f4c8b63f..0d2c629ad 100644 --- a/typechain-types/contracts/core/accounts/interface/IAccountDeployContract.ts +++ b/typechain-types/contracts/core/accounts/interfaces/IAccountDeployContract.ts @@ -24,14 +24,14 @@ import type { } from "../../../../common"; export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -43,28 +43,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -72,7 +72,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -80,17 +80,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -116,13 +116,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -136,7 +136,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -146,7 +146,7 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; @@ -154,7 +154,7 @@ export declare namespace SubDaoMessage { export interface IAccountDeployContractInterface extends utils.Interface { functions: { - "createDaoContract((uint256,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256)),uint8,address,address))": FunctionFragment; + "createDaoContract((uint32,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256)),uint8,address,address))": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "createDaoContract"): FunctionFragment; @@ -200,19 +200,19 @@ export interface IAccountDeployContract extends BaseContract { functions: { createDaoContract( - curCreatedaomessage: SubDaoMessage.InstantiateMsgStruct, + createdaomessage: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; createDaoContract( - curCreatedaomessage: SubDaoMessage.InstantiateMsgStruct, + createdaomessage: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { createDaoContract( - curCreatedaomessage: SubDaoMessage.InstantiateMsgStruct, + createdaomessage: SubDaoMessage.InstantiateMsgStruct, overrides?: CallOverrides ): Promise; }; @@ -221,14 +221,14 @@ export interface IAccountDeployContract extends BaseContract { estimateGas: { createDaoContract( - curCreatedaomessage: SubDaoMessage.InstantiateMsgStruct, + createdaomessage: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { createDaoContract( - curCreatedaomessage: SubDaoMessage.InstantiateMsgStruct, + createdaomessage: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/interfaces/IAccountDonationMatch.ts b/typechain-types/contracts/core/accounts/interfaces/IAccountDonationMatch.ts new file mode 100644 index 000000000..893f96966 --- /dev/null +++ b/typechain-types/contracts/core/accounts/interfaces/IAccountDonationMatch.ts @@ -0,0 +1,122 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export interface IAccountDonationMatchInterface extends utils.Interface { + functions: { + "depositDonationMatchErC20(uint32,address,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: "depositDonationMatchErC20" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "depositDonationMatchErC20", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult( + functionFragment: "depositDonationMatchErC20", + data: BytesLike + ): Result; + + events: {}; +} + +export interface IAccountDonationMatch extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IAccountDonationMatchInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + depositDonationMatchErC20( + id: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + depositDonationMatchErC20( + id: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + depositDonationMatchErC20( + id: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + depositDonationMatchErC20( + id: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + depositDonationMatchErC20( + id: PromiseOrValue, + token: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/typechain-types/contracts/core/accounts/interface/IAccountsCreateEndowment.ts b/typechain-types/contracts/core/accounts/interfaces/IAccountsCreateEndowment.ts similarity index 68% rename from typechain-types/contracts/core/accounts/interface/IAccountsCreateEndowment.ts rename to typechain-types/contracts/core/accounts/interfaces/IAccountsCreateEndowment.ts index c910feacd..bdc74a2b3 100644 --- a/typechain-types/contracts/core/accounts/interface/IAccountsCreateEndowment.ts +++ b/typechain-types/contracts/core/accounts/interfaces/IAccountsCreateEndowment.ts @@ -56,24 +56,22 @@ export declare namespace AngelCoreStruct { export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -85,28 +83,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -114,7 +112,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -122,17 +120,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -177,47 +175,37 @@ export declare namespace AngelCoreStruct { }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -243,21 +231,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -288,28 +274,28 @@ export declare namespace AccountMessages { name: PromiseOrValue; categories: AngelCoreStruct.CategoriesStruct; tier: PromiseOrValue; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; logo: PromiseOrValue; image: PromiseOrValue; - cw4_members: PromiseOrValue[]; + members: PromiseOrValue[]; kycDonorsOnly: PromiseOrValue; threshold: PromiseOrValue; - cw3MaxVotingPeriod: AngelCoreStruct.DurationStruct; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; + maxVotingPeriod: AngelCoreStruct.DurationStruct; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; splitMax: PromiseOrValue; splitMin: PromiseOrValue; splitDefault: PromiseOrValue; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; withdrawFee: AngelCoreStruct.EndowmentFeeStruct; depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; dao: AngelCoreStruct.DaoSetupStruct; createDao: PromiseOrValue; proposalLink: PromiseOrValue; settingsController: AngelCoreStruct.SettingsControllerStruct; parent: PromiseOrValue; - maturityWhitelist: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; ignoreUserSplits: PromiseOrValue; splitToLiquid: AngelCoreStruct.SplitDetailsStruct; referralId: PromiseOrValue; @@ -343,7 +329,7 @@ export declare namespace AccountMessages { boolean, BigNumber, AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, + number, string[], boolean, AngelCoreStruct.SplitDetailsStructOutput, @@ -356,28 +342,28 @@ export declare namespace AccountMessages { name: string; categories: AngelCoreStruct.CategoriesStructOutput; tier: BigNumber; - endow_type: number; + endowType: number; logo: string; image: string; - cw4_members: string[]; + members: string[]; kycDonorsOnly: boolean; threshold: BigNumber; - cw3MaxVotingPeriod: AngelCoreStruct.DurationStructOutput; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; + maxVotingPeriod: AngelCoreStruct.DurationStructOutput; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; splitMax: BigNumber; splitMin: BigNumber; splitDefault: BigNumber; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; dao: AngelCoreStruct.DaoSetupStructOutput; createDao: boolean; proposalLink: BigNumber; settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - maturityWhitelist: string[]; + parent: number; + maturityAllowlist: string[]; ignoreUserSplits: boolean; splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; referralId: BigNumber; @@ -386,7 +372,7 @@ export declare namespace AccountMessages { export interface IAccountsCreateEndowmentInterface extends utils.Interface { functions: { - "createEndowment((address,bool,uint256,uint256,string,(uint256[],uint256[]),uint256,uint8,string,string,address[],bool,uint256,(uint8,(uint256,uint256)),address[],address[],uint256,uint256,uint256,(address,uint256,bool),(address,uint256,bool),(address,uint256,bool),(address,uint256,bool),(uint256,uint256,uint256,uint256,uint256,uint128,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256))),bool,uint256,((bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256))),uint256,address[],bool,(uint256,uint256,uint256),uint256))": FunctionFragment; + "createEndowment((address,bool,uint256,uint256,string,(uint256[],uint256[]),uint256,uint8,string,string,address[],bool,uint256,(uint8,(uint256,uint256)),address[],address[],uint256,uint256,uint256,(address,uint256),(address,uint256),(address,uint256),(address,uint256),(uint256,uint256,uint256,uint256,uint256,uint128,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256))),bool,uint256,((bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256))),uint32,address[],bool,(uint256,uint256,uint256),uint256))": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "createEndowment"): FunctionFragment; @@ -432,35 +418,35 @@ export interface IAccountsCreateEndowment extends BaseContract { functions: { createEndowment( - curDetails: AccountMessages.CreateEndowmentRequestStruct, + details: AccountMessages.CreateEndowmentRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; createEndowment( - curDetails: AccountMessages.CreateEndowmentRequestStruct, + details: AccountMessages.CreateEndowmentRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { createEndowment( - curDetails: AccountMessages.CreateEndowmentRequestStruct, + details: AccountMessages.CreateEndowmentRequestStruct, overrides?: CallOverrides - ): Promise; + ): Promise; }; filters: {}; estimateGas: { createEndowment( - curDetails: AccountMessages.CreateEndowmentRequestStruct, + details: AccountMessages.CreateEndowmentRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { createEndowment( - curDetails: AccountMessages.CreateEndowmentRequestStruct, + details: AccountMessages.CreateEndowmentRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/interfaces/IAccountsDepositWithdrawEndowments.ts b/typechain-types/contracts/core/accounts/interfaces/IAccountsDepositWithdrawEndowments.ts new file mode 100644 index 000000000..76f630857 --- /dev/null +++ b/typechain-types/contracts/core/accounts/interfaces/IAccountsDepositWithdrawEndowments.ts @@ -0,0 +1,235 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PayableOverrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { FunctionFragment, Result } from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export declare namespace AccountMessages { + export type DepositRequestStruct = { + id: PromiseOrValue; + lockedPercentage: PromiseOrValue; + liquidPercentage: PromiseOrValue; + }; + + export type DepositRequestStructOutput = [number, BigNumber, BigNumber] & { + id: number; + lockedPercentage: BigNumber; + liquidPercentage: BigNumber; + }; +} + +export interface IAccountsDepositWithdrawEndowmentsInterface + extends utils.Interface { + functions: { + "depositERC20((uint32,uint256,uint256),address,uint256)": FunctionFragment; + "depositMatic((uint32,uint256,uint256))": FunctionFragment; + "withdraw(uint32,uint8,address,uint32,address,uint256)": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: "depositERC20" | "depositMatic" | "withdraw" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "depositERC20", + values: [ + AccountMessages.DepositRequestStruct, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "depositMatic", + values: [AccountMessages.DepositRequestStruct] + ): string; + encodeFunctionData( + functionFragment: "withdraw", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + + decodeFunctionResult( + functionFragment: "depositERC20", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "depositMatic", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; + + events: {}; +} + +export interface IAccountsDepositWithdrawEndowments extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IAccountsDepositWithdrawEndowmentsInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + depositERC20( + details: AccountMessages.DepositRequestStruct, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositMatic( + details: AccountMessages.DepositRequestStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + id: PromiseOrValue, + acctType: PromiseOrValue, + beneficiaryAddress: PromiseOrValue, + beneficiaryEndowId: PromiseOrValue, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + depositERC20( + details: AccountMessages.DepositRequestStruct, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositMatic( + details: AccountMessages.DepositRequestStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + id: PromiseOrValue, + acctType: PromiseOrValue, + beneficiaryAddress: PromiseOrValue, + beneficiaryEndowId: PromiseOrValue, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + depositERC20( + details: AccountMessages.DepositRequestStruct, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + depositMatic( + details: AccountMessages.DepositRequestStruct, + overrides?: CallOverrides + ): Promise; + + withdraw( + id: PromiseOrValue, + acctType: PromiseOrValue, + beneficiaryAddress: PromiseOrValue, + beneficiaryEndowId: PromiseOrValue, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + depositERC20( + details: AccountMessages.DepositRequestStruct, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositMatic( + details: AccountMessages.DepositRequestStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + id: PromiseOrValue, + acctType: PromiseOrValue, + beneficiaryAddress: PromiseOrValue, + beneficiaryEndowId: PromiseOrValue, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + depositERC20( + details: AccountMessages.DepositRequestStruct, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + depositMatic( + details: AccountMessages.DepositRequestStruct, + overrides?: PayableOverrides & { from?: PromiseOrValue } + ): Promise; + + withdraw( + id: PromiseOrValue, + acctType: PromiseOrValue, + beneficiaryAddress: PromiseOrValue, + beneficiaryEndowId: PromiseOrValue, + tokenAddress: PromiseOrValue, + amount: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/typechain-types/contracts/core/accounts/interface/IAccountsQuery.ts b/typechain-types/contracts/core/accounts/interfaces/IAccountsQuery.ts similarity index 74% rename from typechain-types/contracts/core/accounts/interface/IAccountsQuery.ts rename to typechain-types/contracts/core/accounts/interfaces/IAccountsQuery.ts index 9c65195dc..e91d59173 100644 --- a/typechain-types/contracts/core/accounts/interface/IAccountsQuery.ts +++ b/typechain-types/contracts/core/accounts/interfaces/IAccountsQuery.ts @@ -21,37 +21,17 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AccountMessages { - export type ConfigResponseStruct = { - owner: PromiseOrValue; - version: PromiseOrValue; - registrarContract: PromiseOrValue; - }; - - export type ConfigResponseStructOutput = [string, string, string] & { - owner: string; - version: string; - registrarContract: string; - }; - - export type StateResponseStruct = { - donationsReceived: AngelCoreStruct.DonationsReceivedStruct; - closingEndowment: PromiseOrValue; - closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; +export declare namespace AngelCoreStruct { + export type EndowmentFeeStruct = { + payoutAddress: PromiseOrValue; + percentage: PromiseOrValue; }; - export type StateResponseStructOutput = [ - AngelCoreStruct.DonationsReceivedStructOutput, - boolean, - AngelCoreStruct.BeneficiaryStructOutput - ] & { - donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; - closingEndowment: boolean; - closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; + export type EndowmentFeeStructOutput = [string, BigNumber] & { + payoutAddress: string; + percentage: BigNumber; }; -} -export declare namespace AngelCoreStruct { export type CategoriesStruct = { sdgs: PromiseOrValue[]; general: PromiseOrValue[]; @@ -100,82 +80,38 @@ export declare namespace AngelCoreStruct { liquidAmount: BigNumber[]; }; - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - - export type EndowmentFeeStruct = { - payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; - }; - - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { - payoutAddress: string; - feePercentage: BigNumber; - active: boolean; - }; - export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -201,21 +137,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -247,12 +181,14 @@ export declare namespace AngelCoreStruct { }; export type BeneficiaryDataStruct = { - id: PromiseOrValue; + endowId: PromiseOrValue; + fundId: PromiseOrValue; addr: PromiseOrValue; }; - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; + export type BeneficiaryDataStructOutput = [number, BigNumber, string] & { + endowId: number; + fundId: BigNumber; addr: string; }; @@ -267,37 +203,113 @@ export declare namespace AngelCoreStruct { ] & { data: AngelCoreStruct.BeneficiaryDataStructOutput; enumData: number }; } +export declare namespace AccountMessages { + export type ConfigResponseStruct = { + owner: PromiseOrValue; + version: PromiseOrValue; + registrarContract: PromiseOrValue; + nextAccountId: PromiseOrValue; + maxGeneralCategoryId: PromiseOrValue; + subDao: PromiseOrValue; + gateway: PromiseOrValue; + gasReceiver: PromiseOrValue; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; + }; + + export type ConfigResponseStructOutput = [ + string, + string, + string, + BigNumber, + BigNumber, + string, + string, + string, + AngelCoreStruct.EndowmentFeeStructOutput + ] & { + owner: string; + version: string; + registrarContract: string; + nextAccountId: BigNumber; + maxGeneralCategoryId: BigNumber; + subDao: string; + gateway: string; + gasReceiver: string; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; + }; + + export type StateResponseStruct = { + donationsReceived: AngelCoreStruct.DonationsReceivedStruct; + closingEndowment: PromiseOrValue; + closingBeneficiary: AngelCoreStruct.BeneficiaryStruct; + }; + + export type StateResponseStructOutput = [ + AngelCoreStruct.DonationsReceivedStructOutput, + boolean, + AngelCoreStruct.BeneficiaryStructOutput + ] & { + donationsReceived: AngelCoreStruct.DonationsReceivedStructOutput; + closingEndowment: boolean; + closingBeneficiary: AngelCoreStruct.BeneficiaryStructOutput; + }; +} + +export declare namespace LocalRegistrarLib { + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; +} + export declare namespace AccountStorage { export type EndowmentStruct = { owner: PromiseOrValue; name: PromiseOrValue; categories: AngelCoreStruct.CategoriesStruct; tier: PromiseOrValue; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; logo: PromiseOrValue; image: PromiseOrValue; - status: PromiseOrValue; - depositApproved: PromiseOrValue; - withdrawApproved: PromiseOrValue; maturityTime: PromiseOrValue; strategies: AngelCoreStruct.AccountStrategiesStruct; oneoffVaults: AngelCoreStruct.OneOffVaultsStruct; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; + rebalance: LocalRegistrarLib.RebalanceParamsStruct; kycDonorsOnly: PromiseOrValue; pendingRedemptions: PromiseOrValue; - copycatStrategy: PromiseOrValue; proposalLink: PromiseOrValue; + multisig: PromiseOrValue; dao: PromiseOrValue; daoToken: PromiseOrValue; donationMatchActive: PromiseOrValue; donationMatchContract: PromiseOrValue; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; - maturityWhitelist: PromiseOrValue[]; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; withdrawFee: AngelCoreStruct.EndowmentFeeStruct; depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; settingsController: AngelCoreStruct.SettingsControllerStruct; parent: PromiseOrValue; ignoreUserSplits: PromiseOrValue; @@ -313,17 +325,14 @@ export declare namespace AccountStorage { number, string, string, - number, - boolean, - boolean, BigNumber, AngelCoreStruct.AccountStrategiesStructOutput, AngelCoreStruct.OneOffVaultsStructOutput, - AngelCoreStruct.RebalanceDetailsStructOutput, + LocalRegistrarLib.RebalanceParamsStructOutput, boolean, BigNumber, BigNumber, - BigNumber, + string, string, string, boolean, @@ -336,7 +345,7 @@ export declare namespace AccountStorage { AngelCoreStruct.EndowmentFeeStructOutput, AngelCoreStruct.EndowmentFeeStructOutput, AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, + number, boolean, AngelCoreStruct.SplitDetailsStructOutput, BigNumber @@ -345,33 +354,30 @@ export declare namespace AccountStorage { name: string; categories: AngelCoreStruct.CategoriesStructOutput; tier: BigNumber; - endow_type: number; + endowType: number; logo: string; image: string; - status: number; - depositApproved: boolean; - withdrawApproved: boolean; maturityTime: BigNumber; strategies: AngelCoreStruct.AccountStrategiesStructOutput; oneoffVaults: AngelCoreStruct.OneOffVaultsStructOutput; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; + rebalance: LocalRegistrarLib.RebalanceParamsStructOutput; kycDonorsOnly: boolean; pendingRedemptions: BigNumber; - copycatStrategy: BigNumber; proposalLink: BigNumber; + multisig: string; dao: string; daoToken: string; donationMatchActive: boolean; donationMatchContract: string; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; - maturityWhitelist: string[]; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; + maturityAllowlist: string[]; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; + parent: number; ignoreUserSplits: boolean; splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; referralId: BigNumber; @@ -468,7 +474,7 @@ export interface IAccountsQuery extends BaseContract { >; queryEndowmentDetails( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise< [AccountStorage.EndowmentStructOutput] & { @@ -477,7 +483,7 @@ export interface IAccountsQuery extends BaseContract { >; queryState( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise< [AccountMessages.StateResponseStructOutput] & { @@ -486,9 +492,9 @@ export interface IAccountsQuery extends BaseContract { >; queryTokenAmount( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curTokenaddress: PromiseOrValue, + id: PromiseOrValue, + accountType: PromiseOrValue, + tokenaddress: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber] & { tokenAmount: BigNumber }>; }; @@ -498,19 +504,19 @@ export interface IAccountsQuery extends BaseContract { ): Promise; queryEndowmentDetails( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryState( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryTokenAmount( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curTokenaddress: PromiseOrValue, + id: PromiseOrValue, + accountType: PromiseOrValue, + tokenaddress: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -520,19 +526,19 @@ export interface IAccountsQuery extends BaseContract { ): Promise; queryEndowmentDetails( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryState( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryTokenAmount( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curTokenaddress: PromiseOrValue, + id: PromiseOrValue, + accountType: PromiseOrValue, + tokenaddress: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -543,19 +549,19 @@ export interface IAccountsQuery extends BaseContract { queryConfig(overrides?: CallOverrides): Promise; queryEndowmentDetails( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryState( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryTokenAmount( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curTokenaddress: PromiseOrValue, + id: PromiseOrValue, + accountType: PromiseOrValue, + tokenaddress: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -564,19 +570,19 @@ export interface IAccountsQuery extends BaseContract { queryConfig(overrides?: CallOverrides): Promise; queryEndowmentDetails( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryState( - curId: PromiseOrValue, + id: PromiseOrValue, overrides?: CallOverrides ): Promise; queryTokenAmount( - curId: PromiseOrValue, - curAccountType: PromiseOrValue, - curTokenaddress: PromiseOrValue, + id: PromiseOrValue, + accountType: PromiseOrValue, + tokenaddress: PromiseOrValue, overrides?: CallOverrides ): Promise; }; diff --git a/typechain-types/contracts/core/accounts/interface/IAxelarGateway.ts b/typechain-types/contracts/core/accounts/interfaces/IAxelarGateway.ts similarity index 100% rename from typechain-types/contracts/core/accounts/interface/IAxelarGateway.ts rename to typechain-types/contracts/core/accounts/interfaces/IAxelarGateway.ts diff --git a/typechain-types/contracts/core/accounts/interface/index.ts b/typechain-types/contracts/core/accounts/interfaces/index.ts similarity index 86% rename from typechain-types/contracts/core/accounts/interface/index.ts rename to typechain-types/contracts/core/accounts/interfaces/index.ts index 46e754f4f..af097d670 100644 --- a/typechain-types/contracts/core/accounts/interface/index.ts +++ b/typechain-types/contracts/core/accounts/interfaces/index.ts @@ -2,8 +2,8 @@ /* tslint:disable */ /* eslint-disable */ export type { IAccountDeployContract } from "./IAccountDeployContract"; +export type { IAccountDonationMatch } from "./IAccountDonationMatch"; export type { IAccountsCreateEndowment } from "./IAccountsCreateEndowment"; export type { IAccountsDepositWithdrawEndowments } from "./IAccountsDepositWithdrawEndowments"; export type { IAccountsQuery } from "./IAccountsQuery"; export type { IAxelarGateway } from "./IAxelarGateway"; -export type { IVault } from "./IVault"; diff --git a/typechain-types/contracts/core/index-fund/Iindex-fund.sol/IIndexFund.ts b/typechain-types/contracts/core/index-fund/Iindex-fund.sol/IIndexFund.ts index baa7cd621..71a0e4902 100644 --- a/typechain-types/contracts/core/index-fund/Iindex-fund.sol/IIndexFund.ts +++ b/typechain-types/contracts/core/index-fund/Iindex-fund.sol/IIndexFund.ts @@ -27,7 +27,6 @@ export declare namespace AngelCoreStruct { name: PromiseOrValue; description: PromiseOrValue; members: PromiseOrValue[]; - rotatingFund: PromiseOrValue; splitToLiquid: PromiseOrValue; expiryTime: PromiseOrValue; expiryHeight: PromiseOrValue; @@ -37,8 +36,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - BigNumber[], - boolean, + number[], BigNumber, BigNumber, BigNumber @@ -46,8 +44,7 @@ export declare namespace AngelCoreStruct { id: BigNumber; name: string; description: string; - members: BigNumber[]; - rotatingFund: boolean; + members: number[]; splitToLiquid: BigNumber; expiryTime: BigNumber; expiryHeight: BigNumber; diff --git a/typechain-types/contracts/core/index-fund/IndexFund.ts b/typechain-types/contracts/core/index-fund/IndexFund.ts index f1dff94aa..533314c4c 100644 --- a/typechain-types/contracts/core/index-fund/IndexFund.ts +++ b/typechain-types/contracts/core/index-fund/IndexFund.ts @@ -34,7 +34,6 @@ export declare namespace IndexFundStorage { fundRotation: PromiseOrValue; fundMemberLimit: PromiseOrValue; fundingGoal: PromiseOrValue; - alliance_members: PromiseOrValue[]; }; export type ConfigStructOutput = [ @@ -42,15 +41,13 @@ export declare namespace IndexFundStorage { string, BigNumber, BigNumber, - BigNumber, - string[] + BigNumber ] & { owner: string; registrarContract: string; fundRotation: BigNumber; fundMemberLimit: BigNumber; fundingGoal: BigNumber; - alliance_members: string[]; }; export type DonationMessagesStruct = { @@ -62,13 +59,13 @@ export declare namespace IndexFundStorage { }; export type DonationMessagesStructOutput = [ - BigNumber[], + number[], BigNumber[], BigNumber[], BigNumber[], BigNumber[] ] & { - member_ids: BigNumber[]; + member_ids: number[]; locked_donation_amount: BigNumber[]; liquid_donation_amount: BigNumber[]; lockedSplit: BigNumber[]; @@ -78,7 +75,7 @@ export declare namespace IndexFundStorage { export type _StateStruct = { totalFunds: PromiseOrValue; activeFund: PromiseOrValue; - round_donations: PromiseOrValue; + roundDonations: PromiseOrValue; nextRotationBlock: PromiseOrValue; nextFundId: PromiseOrValue; }; @@ -92,7 +89,7 @@ export declare namespace IndexFundStorage { ] & { totalFunds: BigNumber; activeFund: BigNumber; - round_donations: BigNumber; + roundDonations: BigNumber; nextRotationBlock: BigNumber; nextFundId: BigNumber; }; @@ -104,7 +101,6 @@ export declare namespace AngelCoreStruct { name: PromiseOrValue; description: PromiseOrValue; members: PromiseOrValue[]; - rotatingFund: PromiseOrValue; splitToLiquid: PromiseOrValue; expiryTime: PromiseOrValue; expiryHeight: PromiseOrValue; @@ -114,8 +110,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - BigNumber[], - boolean, + number[], BigNumber, BigNumber, BigNumber @@ -123,8 +118,7 @@ export declare namespace AngelCoreStruct { id: BigNumber; name: string; description: string; - members: BigNumber[]; - rotatingFund: boolean; + members: number[]; splitToLiquid: BigNumber; expiryTime: BigNumber; expiryHeight: BigNumber; @@ -178,7 +172,7 @@ export declare namespace IndexFundMessage { export type StateResponseMessageStruct = { totalFunds: PromiseOrValue; activeFund: PromiseOrValue; - round_donations: PromiseOrValue; + roundDonations: PromiseOrValue; nextRotationBlock: PromiseOrValue; }; @@ -190,7 +184,7 @@ export declare namespace IndexFundMessage { ] & { totalFunds: BigNumber; activeFund: BigNumber; - round_donations: BigNumber; + roundDonations: BigNumber; nextRotationBlock: BigNumber; }; @@ -213,21 +207,18 @@ export declare namespace IndexFundMessage { export interface IndexFundInterface extends utils.Interface { functions: { - "createIndexFund(string,string,uint256[],bool,uint256,uint256,uint256)": FunctionFragment; + "createIndexFund(string,string,uint32[],bool,uint256,uint256,uint256)": FunctionFragment; "depositERC20(address,(uint256,uint256),(uint8,uint256,address,string))": FunctionFragment; "initIndexFund((address,uint256,uint256,uint256))": FunctionFragment; "queryActiveFundDetails()": FunctionFragment; - "queryAllianceMembers(uint256,uint256)": FunctionFragment; "queryConfig()": FunctionFragment; "queryFundDetails(uint256)": FunctionFragment; - "queryFundsList(uint256,uint256)": FunctionFragment; - "queryInvolvedFunds(uint256)": FunctionFragment; + "queryInvolvedFunds(uint32)": FunctionFragment; "queryState()": FunctionFragment; "removeIndexFund(uint256)": FunctionFragment; - "removeMember(uint256)": FunctionFragment; - "updateAllianceMemberList(address,string)": FunctionFragment; + "removeMember(uint32)": FunctionFragment; "updateConfig((uint256,uint256,uint256))": FunctionFragment; - "updateFundMembers(uint256,uint256[],uint256[])": FunctionFragment; + "updateFundMembers(uint256,uint32[])": FunctionFragment; "updateOwner(address)": FunctionFragment; "updateRegistrar(address)": FunctionFragment; }; @@ -238,15 +229,12 @@ export interface IndexFundInterface extends utils.Interface { | "depositERC20" | "initIndexFund" | "queryActiveFundDetails" - | "queryAllianceMembers" | "queryConfig" | "queryFundDetails" - | "queryFundsList" | "queryInvolvedFunds" | "queryState" | "removeIndexFund" | "removeMember" - | "updateAllianceMemberList" | "updateConfig" | "updateFundMembers" | "updateOwner" @@ -281,10 +269,6 @@ export interface IndexFundInterface extends utils.Interface { functionFragment: "queryActiveFundDetails", values?: undefined ): string; - encodeFunctionData( - functionFragment: "queryAllianceMembers", - values: [PromiseOrValue, PromiseOrValue] - ): string; encodeFunctionData( functionFragment: "queryConfig", values?: undefined @@ -293,10 +277,6 @@ export interface IndexFundInterface extends utils.Interface { functionFragment: "queryFundDetails", values: [PromiseOrValue] ): string; - encodeFunctionData( - functionFragment: "queryFundsList", - values: [PromiseOrValue, PromiseOrValue] - ): string; encodeFunctionData( functionFragment: "queryInvolvedFunds", values: [PromiseOrValue] @@ -313,21 +293,13 @@ export interface IndexFundInterface extends utils.Interface { functionFragment: "removeMember", values: [PromiseOrValue] ): string; - encodeFunctionData( - functionFragment: "updateAllianceMemberList", - values: [PromiseOrValue, PromiseOrValue] - ): string; encodeFunctionData( functionFragment: "updateConfig", values: [IndexFundMessage.UpdateConfigMessageStruct] ): string; encodeFunctionData( functionFragment: "updateFundMembers", - values: [ - PromiseOrValue, - PromiseOrValue[], - PromiseOrValue[] - ] + values: [PromiseOrValue, PromiseOrValue[]] ): string; encodeFunctionData( functionFragment: "updateOwner", @@ -354,10 +326,6 @@ export interface IndexFundInterface extends utils.Interface { functionFragment: "queryActiveFundDetails", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "queryAllianceMembers", - data: BytesLike - ): Result; decodeFunctionResult( functionFragment: "queryConfig", data: BytesLike @@ -366,10 +334,6 @@ export interface IndexFundInterface extends utils.Interface { functionFragment: "queryFundDetails", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "queryFundsList", - data: BytesLike - ): Result; decodeFunctionResult( functionFragment: "queryInvolvedFunds", data: BytesLike @@ -383,10 +347,6 @@ export interface IndexFundInterface extends utils.Interface { functionFragment: "removeMember", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "updateAllianceMemberList", - data: BytesLike - ): Result; decodeFunctionResult( functionFragment: "updateConfig", data: BytesLike @@ -405,23 +365,19 @@ export interface IndexFundInterface extends utils.Interface { ): Result; events: { - "AllianceMemberAdded(address)": EventFragment; - "AllianceMemberRemoved(address)": EventFragment; "ConfigUpdated(tuple)": EventFragment; "DonationMessagesUpdated(tuple)": EventFragment; "IndexFundCreated(uint256,tuple)": EventFragment; "IndexFundRemoved(uint256)": EventFragment; "Initialized(uint8)": EventFragment; - "MemberAdded(uint256,uint256)": EventFragment; - "MemberRemoved(uint256,uint256)": EventFragment; + "MemberAdded(uint256,uint32)": EventFragment; + "MemberRemoved(uint256,uint32)": EventFragment; "OwnerUpdated(address)": EventFragment; "RegistrarUpdated(address)": EventFragment; "UpdateActiveFund(uint256)": EventFragment; "UpdateIndexFundState(tuple)": EventFragment; }; - getEvent(nameOrSignatureOrTopic: "AllianceMemberAdded"): EventFragment; - getEvent(nameOrSignatureOrTopic: "AllianceMemberRemoved"): EventFragment; getEvent(nameOrSignatureOrTopic: "ConfigUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "DonationMessagesUpdated"): EventFragment; getEvent(nameOrSignatureOrTopic: "IndexFundCreated"): EventFragment; @@ -435,28 +391,6 @@ export interface IndexFundInterface extends utils.Interface { getEvent(nameOrSignatureOrTopic: "UpdateIndexFundState"): EventFragment; } -export interface AllianceMemberAddedEventObject { - member: string; -} -export type AllianceMemberAddedEvent = TypedEvent< - [string], - AllianceMemberAddedEventObject ->; - -export type AllianceMemberAddedEventFilter = - TypedEventFilter; - -export interface AllianceMemberRemovedEventObject { - member: string; -} -export type AllianceMemberRemovedEvent = TypedEvent< - [string], - AllianceMemberRemovedEventObject ->; - -export type AllianceMemberRemovedEventFilter = - TypedEventFilter; - export interface ConfigUpdatedEventObject { config: IndexFundStorage.ConfigStructOutput; } @@ -510,10 +444,10 @@ export type InitializedEventFilter = TypedEventFilter; export interface MemberAddedEventObject { fundId: BigNumber; - memberId: BigNumber; + memberId: number; } export type MemberAddedEvent = TypedEvent< - [BigNumber, BigNumber], + [BigNumber, number], MemberAddedEventObject >; @@ -521,10 +455,10 @@ export type MemberAddedEventFilter = TypedEventFilter; export interface MemberRemovedEventObject { fundId: BigNumber; - memberId: BigNumber; + memberId: number; } export type MemberRemovedEvent = TypedEvent< - [BigNumber, BigNumber], + [BigNumber, number], MemberRemovedEventObject >; @@ -610,13 +544,13 @@ export interface IndexFund extends BaseContract { depositERC20( senderAddr: PromiseOrValue, - curDetails: IndexFundMessage.DepositMsgStruct, + details: IndexFundMessage.DepositMsgStruct, fund: AngelCoreStruct.AssetBaseStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initIndexFund( - curDetails: IndexFundMessage.InstantiateMessageStruct, + details: IndexFundMessage.InstantiateMessageStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -624,12 +558,6 @@ export interface IndexFund extends BaseContract { overrides?: CallOverrides ): Promise<[AngelCoreStruct.IndexFundStructOutput]>; - queryAllianceMembers( - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[string[]]>; - queryConfig( overrides?: CallOverrides ): Promise<[IndexFundStorage.ConfigStructOutput]>; @@ -639,12 +567,6 @@ export interface IndexFund extends BaseContract { overrides?: CallOverrides ): Promise<[AngelCoreStruct.IndexFundStructOutput]>; - queryFundsList( - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[AngelCoreStruct.IndexFundStructOutput[]]>; - queryInvolvedFunds( endowmentId: PromiseOrValue, overrides?: CallOverrides @@ -664,21 +586,14 @@ export interface IndexFund extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateAllianceMemberList( - addr: PromiseOrValue, - action: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - updateConfig( - curDetails: IndexFundMessage.UpdateConfigMessageStruct, + details: IndexFundMessage.UpdateConfigMessageStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateFundMembers( fundId: PromiseOrValue, - add: PromiseOrValue[], - remove: PromiseOrValue[], + members: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -706,13 +621,13 @@ export interface IndexFund extends BaseContract { depositERC20( senderAddr: PromiseOrValue, - curDetails: IndexFundMessage.DepositMsgStruct, + details: IndexFundMessage.DepositMsgStruct, fund: AngelCoreStruct.AssetBaseStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initIndexFund( - curDetails: IndexFundMessage.InstantiateMessageStruct, + details: IndexFundMessage.InstantiateMessageStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -720,12 +635,6 @@ export interface IndexFund extends BaseContract { overrides?: CallOverrides ): Promise; - queryAllianceMembers( - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - queryConfig( overrides?: CallOverrides ): Promise; @@ -735,12 +644,6 @@ export interface IndexFund extends BaseContract { overrides?: CallOverrides ): Promise; - queryFundsList( - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - queryInvolvedFunds( endowmentId: PromiseOrValue, overrides?: CallOverrides @@ -760,21 +663,14 @@ export interface IndexFund extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateAllianceMemberList( - addr: PromiseOrValue, - action: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - updateConfig( - curDetails: IndexFundMessage.UpdateConfigMessageStruct, + details: IndexFundMessage.UpdateConfigMessageStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateFundMembers( fundId: PromiseOrValue, - add: PromiseOrValue[], - remove: PromiseOrValue[], + members: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -802,13 +698,13 @@ export interface IndexFund extends BaseContract { depositERC20( senderAddr: PromiseOrValue, - curDetails: IndexFundMessage.DepositMsgStruct, + details: IndexFundMessage.DepositMsgStruct, fund: AngelCoreStruct.AssetBaseStruct, overrides?: CallOverrides ): Promise; initIndexFund( - curDetails: IndexFundMessage.InstantiateMessageStruct, + details: IndexFundMessage.InstantiateMessageStruct, overrides?: CallOverrides ): Promise; @@ -816,12 +712,6 @@ export interface IndexFund extends BaseContract { overrides?: CallOverrides ): Promise; - queryAllianceMembers( - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - queryConfig( overrides?: CallOverrides ): Promise; @@ -831,12 +721,6 @@ export interface IndexFund extends BaseContract { overrides?: CallOverrides ): Promise; - queryFundsList( - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - queryInvolvedFunds( endowmentId: PromiseOrValue, overrides?: CallOverrides @@ -856,21 +740,14 @@ export interface IndexFund extends BaseContract { overrides?: CallOverrides ): Promise; - updateAllianceMemberList( - addr: PromiseOrValue, - action: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - updateConfig( - curDetails: IndexFundMessage.UpdateConfigMessageStruct, + details: IndexFundMessage.UpdateConfigMessageStruct, overrides?: CallOverrides ): Promise; updateFundMembers( fundId: PromiseOrValue, - add: PromiseOrValue[], - remove: PromiseOrValue[], + members: PromiseOrValue[], overrides?: CallOverrides ): Promise; @@ -886,16 +763,6 @@ export interface IndexFund extends BaseContract { }; filters: { - "AllianceMemberAdded(address)"( - member?: null - ): AllianceMemberAddedEventFilter; - AllianceMemberAdded(member?: null): AllianceMemberAddedEventFilter; - - "AllianceMemberRemoved(address)"( - member?: null - ): AllianceMemberRemovedEventFilter; - AllianceMemberRemoved(member?: null): AllianceMemberRemovedEventFilter; - "ConfigUpdated(tuple)"(config?: null): ConfigUpdatedEventFilter; ConfigUpdated(config?: null): ConfigUpdatedEventFilter; @@ -918,13 +785,13 @@ export interface IndexFund extends BaseContract { "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; - "MemberAdded(uint256,uint256)"( + "MemberAdded(uint256,uint32)"( fundId?: null, memberId?: null ): MemberAddedEventFilter; MemberAdded(fundId?: null, memberId?: null): MemberAddedEventFilter; - "MemberRemoved(uint256,uint256)"( + "MemberRemoved(uint256,uint32)"( fundId?: null, memberId?: null ): MemberRemovedEventFilter; @@ -961,24 +828,18 @@ export interface IndexFund extends BaseContract { depositERC20( senderAddr: PromiseOrValue, - curDetails: IndexFundMessage.DepositMsgStruct, + details: IndexFundMessage.DepositMsgStruct, fund: AngelCoreStruct.AssetBaseStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initIndexFund( - curDetails: IndexFundMessage.InstantiateMessageStruct, + details: IndexFundMessage.InstantiateMessageStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; queryActiveFundDetails(overrides?: CallOverrides): Promise; - queryAllianceMembers( - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - queryConfig(overrides?: CallOverrides): Promise; queryFundDetails( @@ -986,12 +847,6 @@ export interface IndexFund extends BaseContract { overrides?: CallOverrides ): Promise; - queryFundsList( - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - queryInvolvedFunds( endowmentId: PromiseOrValue, overrides?: CallOverrides @@ -1009,21 +864,14 @@ export interface IndexFund extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateAllianceMemberList( - addr: PromiseOrValue, - action: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - updateConfig( - curDetails: IndexFundMessage.UpdateConfigMessageStruct, + details: IndexFundMessage.UpdateConfigMessageStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateFundMembers( fundId: PromiseOrValue, - add: PromiseOrValue[], - remove: PromiseOrValue[], + members: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1052,13 +900,13 @@ export interface IndexFund extends BaseContract { depositERC20( senderAddr: PromiseOrValue, - curDetails: IndexFundMessage.DepositMsgStruct, + details: IndexFundMessage.DepositMsgStruct, fund: AngelCoreStruct.AssetBaseStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initIndexFund( - curDetails: IndexFundMessage.InstantiateMessageStruct, + details: IndexFundMessage.InstantiateMessageStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1066,12 +914,6 @@ export interface IndexFund extends BaseContract { overrides?: CallOverrides ): Promise; - queryAllianceMembers( - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - queryConfig(overrides?: CallOverrides): Promise; queryFundDetails( @@ -1079,12 +921,6 @@ export interface IndexFund extends BaseContract { overrides?: CallOverrides ): Promise; - queryFundsList( - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - queryInvolvedFunds( endowmentId: PromiseOrValue, overrides?: CallOverrides @@ -1102,21 +938,14 @@ export interface IndexFund extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateAllianceMemberList( - addr: PromiseOrValue, - action: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - updateConfig( - curDetails: IndexFundMessage.UpdateConfigMessageStruct, + details: IndexFundMessage.UpdateConfigMessageStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateFundMembers( fundId: PromiseOrValue, - add: PromiseOrValue[], - remove: PromiseOrValue[], + members: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/core/registrar/index.ts b/typechain-types/contracts/core/registrar/index.ts index 03b8f45bb..5871d3677 100644 --- a/typechain-types/contracts/core/registrar/index.ts +++ b/typechain-types/contracts/core/registrar/index.ts @@ -1,8 +1,8 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import type * as interface from "./interface"; -export type { interface }; +import type * as interfaces from "./interfaces"; +export type { interfaces }; import type * as lib from "./lib"; export type { lib }; import type * as registrarSol from "./registrar.sol"; diff --git a/typechain-types/contracts/core/registrar/interface/IRegistrar.ts b/typechain-types/contracts/core/registrar/interface/IRegistrar.ts deleted file mode 100644 index 4f36cbff1..000000000 --- a/typechain-types/contracts/core/registrar/interface/IRegistrar.ts +++ /dev/null @@ -1,1016 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import type { FunctionFragment, Result } from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; -import type { - TypedEventFilter, - TypedEvent, - TypedListener, - OnEvent, - PromiseOrValue, -} from "../../../../common"; - -export declare namespace AngelCoreStruct { - export type SplitDetailsStruct = { - max: PromiseOrValue; - min: PromiseOrValue; - defaultSplit: PromiseOrValue; - }; - - export type SplitDetailsStructOutput = [BigNumber, BigNumber, BigNumber] & { - max: BigNumber; - min: BigNumber; - defaultSplit: BigNumber; - }; - - export type AcceptedTokensStruct = { cw20: PromiseOrValue[] }; - - export type AcceptedTokensStructOutput = [string[]] & { cw20: string[] }; - - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; - - export type NetworkInfoStruct = { - name: PromiseOrValue; - chainId: PromiseOrValue; - router: PromiseOrValue; - axelerGateway: PromiseOrValue; - ibcChannel: PromiseOrValue; - transferChannel: PromiseOrValue; - gasReceiver: PromiseOrValue; - gasLimit: PromiseOrValue; - }; - - export type NetworkInfoStructOutput = [ - string, - BigNumber, - string, - string, - string, - string, - string, - BigNumber - ] & { - name: string; - chainId: BigNumber; - router: string; - axelerGateway: string; - ibcChannel: string; - transferChannel: string; - gasReceiver: string; - gasLimit: BigNumber; - }; - - export type YieldVaultStruct = { - addr: PromiseOrValue; - network: PromiseOrValue; - inputDenom: PromiseOrValue; - yieldToken: PromiseOrValue; - approved: PromiseOrValue; - restrictedFrom: PromiseOrValue[]; - acctType: PromiseOrValue; - vaultType: PromiseOrValue; - }; - - export type YieldVaultStructOutput = [ - string, - BigNumber, - string, - string, - boolean, - number[], - number, - number - ] & { - addr: string; - network: BigNumber; - inputDenom: string; - yieldToken: string; - approved: boolean; - restrictedFrom: number[]; - acctType: number; - vaultType: number; - }; -} - -export declare namespace RegistrarStorage { - export type ConfigStruct = { - owner: PromiseOrValue; - applicationsReview: PromiseOrValue; - indexFundContract: PromiseOrValue; - accountsContract: PromiseOrValue; - treasury: PromiseOrValue; - subdaoGovCode: PromiseOrValue; - subdaoCw20TokenCode: PromiseOrValue; - subdaoBondingTokenCode: PromiseOrValue; - subdaoCw900Code: PromiseOrValue; - subdaoDistributorCode: PromiseOrValue; - subdaoEmitter: PromiseOrValue; - donationMatchCode: PromiseOrValue; - donationMatchCharitesContract: PromiseOrValue; - donationMatchEmitter: PromiseOrValue; - splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - haloToken: PromiseOrValue; - haloTokenLpContract: PromiseOrValue; - govContract: PromiseOrValue; - collectorAddr: PromiseOrValue; - collectorShare: PromiseOrValue; - charitySharesContract: PromiseOrValue; - acceptedTokens: AngelCoreStruct.AcceptedTokensStruct; - fundraisingContract: PromiseOrValue; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - swapsRouter: PromiseOrValue; - multisigFactory: PromiseOrValue; - multisigEmitter: PromiseOrValue; - charityProposal: PromiseOrValue; - lockedWithdrawal: PromiseOrValue; - proxyAdmin: PromiseOrValue; - usdcAddress: PromiseOrValue; - wethAddress: PromiseOrValue; - cw900lvAddress: PromiseOrValue; - }; - - export type ConfigStructOutput = [ - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - AngelCoreStruct.SplitDetailsStructOutput, - string, - string, - string, - string, - BigNumber, - string, - AngelCoreStruct.AcceptedTokensStructOutput, - string, - AngelCoreStruct.RebalanceDetailsStructOutput, - string, - string, - string, - string, - string, - string, - string, - string, - string - ] & { - owner: string; - applicationsReview: string; - indexFundContract: string; - accountsContract: string; - treasury: string; - subdaoGovCode: string; - subdaoCw20TokenCode: string; - subdaoBondingTokenCode: string; - subdaoCw900Code: string; - subdaoDistributorCode: string; - subdaoEmitter: string; - donationMatchCode: string; - donationMatchCharitesContract: string; - donationMatchEmitter: string; - splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - haloToken: string; - haloTokenLpContract: string; - govContract: string; - collectorAddr: string; - collectorShare: BigNumber; - charitySharesContract: string; - acceptedTokens: AngelCoreStruct.AcceptedTokensStructOutput; - fundraisingContract: string; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - swapsRouter: string; - multisigFactory: string; - multisigEmitter: string; - charityProposal: string; - lockedWithdrawal: string; - proxyAdmin: string; - usdcAddress: string; - wethAddress: string; - cw900lvAddress: string; - }; -} - -export declare namespace RegistrarMessages { - export type UpdateConfigRequestStruct = { - accountsContract: PromiseOrValue; - taxRate: PromiseOrValue; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; - approved_charities: PromiseOrValue[]; - splitMax: PromiseOrValue; - splitMin: PromiseOrValue; - splitDefault: PromiseOrValue; - collectorShare: PromiseOrValue; - acceptedTokens: AngelCoreStruct.AcceptedTokensStruct; - subdaoGovCode: PromiseOrValue; - subdaoCw20TokenCode: PromiseOrValue; - subdaoBondingTokenCode: PromiseOrValue; - subdaoCw900Code: PromiseOrValue; - subdaoDistributorCode: PromiseOrValue; - subdaoEmitter: PromiseOrValue; - donationMatchCode: PromiseOrValue; - indexFundContract: PromiseOrValue; - govContract: PromiseOrValue; - treasury: PromiseOrValue; - donationMatchCharitesContract: PromiseOrValue; - donationMatchEmitter: PromiseOrValue; - haloToken: PromiseOrValue; - haloTokenLpContract: PromiseOrValue; - charitySharesContract: PromiseOrValue; - fundraisingContract: PromiseOrValue; - applicationsReview: PromiseOrValue; - swapsRouter: PromiseOrValue; - multisigFactory: PromiseOrValue; - multisigEmitter: PromiseOrValue; - charityProposal: PromiseOrValue; - lockedWithdrawal: PromiseOrValue; - proxyAdmin: PromiseOrValue; - usdcAddress: PromiseOrValue; - wethAddress: PromiseOrValue; - cw900lvAddress: PromiseOrValue; - }; - - export type UpdateConfigRequestStructOutput = [ - string, - BigNumber, - AngelCoreStruct.RebalanceDetailsStructOutput, - string[], - BigNumber, - BigNumber, - BigNumber, - BigNumber, - AngelCoreStruct.AcceptedTokensStructOutput, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string, - string - ] & { - accountsContract: string; - taxRate: BigNumber; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; - approved_charities: string[]; - splitMax: BigNumber; - splitMin: BigNumber; - splitDefault: BigNumber; - collectorShare: BigNumber; - acceptedTokens: AngelCoreStruct.AcceptedTokensStructOutput; - subdaoGovCode: string; - subdaoCw20TokenCode: string; - subdaoBondingTokenCode: string; - subdaoCw900Code: string; - subdaoDistributorCode: string; - subdaoEmitter: string; - donationMatchCode: string; - indexFundContract: string; - govContract: string; - treasury: string; - donationMatchCharitesContract: string; - donationMatchEmitter: string; - haloToken: string; - haloTokenLpContract: string; - charitySharesContract: string; - fundraisingContract: string; - applicationsReview: string; - swapsRouter: string; - multisigFactory: string; - multisigEmitter: string; - charityProposal: string; - lockedWithdrawal: string; - proxyAdmin: string; - usdcAddress: string; - wethAddress: string; - cw900lvAddress: string; - }; - - export type UpdateFeeRequestStruct = { - keys: PromiseOrValue[]; - values: PromiseOrValue[]; - }; - - export type UpdateFeeRequestStructOutput = [string[], BigNumber[]] & { - keys: string[]; - values: BigNumber[]; - }; - - export type VaultAddRequestStruct = { - network: PromiseOrValue; - stratagyName: PromiseOrValue; - inputDenom: PromiseOrValue; - yieldToken: PromiseOrValue; - restrictedFrom: PromiseOrValue[]; - acctType: PromiseOrValue; - vaultType: PromiseOrValue; - }; - - export type VaultAddRequestStructOutput = [ - BigNumber, - string, - string, - string, - number[], - number, - number - ] & { - network: BigNumber; - stratagyName: string; - inputDenom: string; - yieldToken: string; - restrictedFrom: number[]; - acctType: number; - vaultType: number; - }; -} - -export interface IRegistrarInterface extends utils.Interface { - functions: { - "queryConfig()": FunctionFragment; - "queryFee(string)": FunctionFragment; - "queryNetworkConnection(uint256)": FunctionFragment; - "queryVaultDetails(string)": FunctionFragment; - "queryVaultList(uint256,uint8,uint8,uint8,uint8,uint256,uint256)": FunctionFragment; - "queryVaultListDep(uint256,uint8,uint8,uint8,uint8,uint256,uint256)": FunctionFragment; - "testQuery()": FunctionFragment; - "testQueryStruct()": FunctionFragment; - "updateConfig((address,uint256,(bool,bool,uint256,bool,uint256),string[],uint256,uint256,uint256,uint256,(address[]),address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address))": FunctionFragment; - "updateFees((string[],uint256[]))": FunctionFragment; - "updateNetworkConnections((string,uint256,address,address,string,string,address,uint256),string)": FunctionFragment; - "updateOwner(address)": FunctionFragment; - "vaultAdd((uint256,string,address,address,uint8[],uint8,uint8))": FunctionFragment; - "vaultRemove(string)": FunctionFragment; - "vaultUpdate(string,bool,uint8[])": FunctionFragment; - }; - - getFunction( - nameOrSignatureOrTopic: - | "queryConfig" - | "queryFee" - | "queryNetworkConnection" - | "queryVaultDetails" - | "queryVaultList" - | "queryVaultListDep" - | "testQuery" - | "testQueryStruct" - | "updateConfig" - | "updateFees" - | "updateNetworkConnections" - | "updateOwner" - | "vaultAdd" - | "vaultRemove" - | "vaultUpdate" - ): FunctionFragment; - - encodeFunctionData( - functionFragment: "queryConfig", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "queryFee", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "queryNetworkConnection", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "queryVaultDetails", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "queryVaultList", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - encodeFunctionData( - functionFragment: "queryVaultListDep", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - encodeFunctionData(functionFragment: "testQuery", values?: undefined): string; - encodeFunctionData( - functionFragment: "testQueryStruct", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "updateConfig", - values: [RegistrarMessages.UpdateConfigRequestStruct] - ): string; - encodeFunctionData( - functionFragment: "updateFees", - values: [RegistrarMessages.UpdateFeeRequestStruct] - ): string; - encodeFunctionData( - functionFragment: "updateNetworkConnections", - values: [AngelCoreStruct.NetworkInfoStruct, PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "updateOwner", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "vaultAdd", - values: [RegistrarMessages.VaultAddRequestStruct] - ): string; - encodeFunctionData( - functionFragment: "vaultRemove", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "vaultUpdate", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue[] - ] - ): string; - - decodeFunctionResult( - functionFragment: "queryConfig", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "queryFee", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "queryNetworkConnection", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "queryVaultDetails", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "queryVaultList", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "queryVaultListDep", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "testQuery", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "testQueryStruct", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "updateConfig", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "updateFees", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "updateNetworkConnections", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "updateOwner", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "vaultAdd", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "vaultRemove", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "vaultUpdate", - data: BytesLike - ): Result; - - events: {}; -} - -export interface IRegistrar extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: IRegistrarInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - queryConfig( - overrides?: CallOverrides - ): Promise<[RegistrarStorage.ConfigStructOutput]>; - - queryFee( - name: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[BigNumber] & { response: BigNumber }>; - - queryNetworkConnection( - chainId: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [AngelCoreStruct.NetworkInfoStructOutput] & { - response: AngelCoreStruct.NetworkInfoStructOutput; - } - >; - - queryVaultDetails( - _stratagyName: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [AngelCoreStruct.YieldVaultStructOutput] & { - response: AngelCoreStruct.YieldVaultStructOutput; - } - >; - - queryVaultList( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[AngelCoreStruct.YieldVaultStructOutput[]]>; - - queryVaultListDep( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[AngelCoreStruct.YieldVaultStructOutput[]]>; - - testQuery(overrides?: CallOverrides): Promise<[string[]]>; - - testQueryStruct( - overrides?: CallOverrides - ): Promise<[AngelCoreStruct.YieldVaultStructOutput[]]>; - - updateConfig( - curDetails: RegistrarMessages.UpdateConfigRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateFees( - curDetails: RegistrarMessages.UpdateFeeRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateNetworkConnections( - networkInfo: AngelCoreStruct.NetworkInfoStruct, - action: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateOwner( - newOwner: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - vaultAdd( - curDetails: RegistrarMessages.VaultAddRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - vaultRemove( - _stratagyName: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - vaultUpdate( - _stratagyName: PromiseOrValue, - curApproved: PromiseOrValue, - curRestrictedfrom: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; - - queryConfig( - overrides?: CallOverrides - ): Promise; - - queryFee( - name: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryNetworkConnection( - chainId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultDetails( - _stratagyName: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultList( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultListDep( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - testQuery(overrides?: CallOverrides): Promise; - - testQueryStruct( - overrides?: CallOverrides - ): Promise; - - updateConfig( - curDetails: RegistrarMessages.UpdateConfigRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateFees( - curDetails: RegistrarMessages.UpdateFeeRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateNetworkConnections( - networkInfo: AngelCoreStruct.NetworkInfoStruct, - action: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateOwner( - newOwner: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - vaultAdd( - curDetails: RegistrarMessages.VaultAddRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - vaultRemove( - _stratagyName: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - vaultUpdate( - _stratagyName: PromiseOrValue, - curApproved: PromiseOrValue, - curRestrictedfrom: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - callStatic: { - queryConfig( - overrides?: CallOverrides - ): Promise; - - queryFee( - name: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryNetworkConnection( - chainId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultDetails( - _stratagyName: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultList( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultListDep( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - testQuery(overrides?: CallOverrides): Promise; - - testQueryStruct( - overrides?: CallOverrides - ): Promise; - - updateConfig( - curDetails: RegistrarMessages.UpdateConfigRequestStruct, - overrides?: CallOverrides - ): Promise; - - updateFees( - curDetails: RegistrarMessages.UpdateFeeRequestStruct, - overrides?: CallOverrides - ): Promise; - - updateNetworkConnections( - networkInfo: AngelCoreStruct.NetworkInfoStruct, - action: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - updateOwner( - newOwner: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - vaultAdd( - curDetails: RegistrarMessages.VaultAddRequestStruct, - overrides?: CallOverrides - ): Promise; - - vaultRemove( - _stratagyName: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - vaultUpdate( - _stratagyName: PromiseOrValue, - curApproved: PromiseOrValue, - curRestrictedfrom: PromiseOrValue[], - overrides?: CallOverrides - ): Promise; - }; - - filters: {}; - - estimateGas: { - queryConfig(overrides?: CallOverrides): Promise; - - queryFee( - name: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryNetworkConnection( - chainId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultDetails( - _stratagyName: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultList( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultListDep( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - testQuery(overrides?: CallOverrides): Promise; - - testQueryStruct(overrides?: CallOverrides): Promise; - - updateConfig( - curDetails: RegistrarMessages.UpdateConfigRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateFees( - curDetails: RegistrarMessages.UpdateFeeRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateNetworkConnections( - networkInfo: AngelCoreStruct.NetworkInfoStruct, - action: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateOwner( - newOwner: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - vaultAdd( - curDetails: RegistrarMessages.VaultAddRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - vaultRemove( - _stratagyName: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - vaultUpdate( - _stratagyName: PromiseOrValue, - curApproved: PromiseOrValue, - curRestrictedfrom: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; - - populateTransaction: { - queryConfig(overrides?: CallOverrides): Promise; - - queryFee( - name: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryNetworkConnection( - chainId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultDetails( - _stratagyName: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultList( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultListDep( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - testQuery(overrides?: CallOverrides): Promise; - - testQueryStruct(overrides?: CallOverrides): Promise; - - updateConfig( - curDetails: RegistrarMessages.UpdateConfigRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateFees( - curDetails: RegistrarMessages.UpdateFeeRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateNetworkConnections( - networkInfo: AngelCoreStruct.NetworkInfoStruct, - action: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - updateOwner( - newOwner: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - vaultAdd( - curDetails: RegistrarMessages.VaultAddRequestStruct, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - vaultRemove( - _stratagyName: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - vaultUpdate( - _stratagyName: PromiseOrValue, - curApproved: PromiseOrValue, - curRestrictedfrom: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; -} diff --git a/typechain-types/contracts/core/registrar/interface/ILocalRegistrar.ts b/typechain-types/contracts/core/registrar/interfaces/ILocalRegistrar.ts similarity index 100% rename from typechain-types/contracts/core/registrar/interface/ILocalRegistrar.ts rename to typechain-types/contracts/core/registrar/interfaces/ILocalRegistrar.ts diff --git a/typechain-types/contracts/core/registrar/interfaces/IRegistrar.ts b/typechain-types/contracts/core/registrar/interfaces/IRegistrar.ts new file mode 100644 index 000000000..d68479a6f --- /dev/null +++ b/typechain-types/contracts/core/registrar/interfaces/IRegistrar.ts @@ -0,0 +1,1524 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ +import type { + BaseContract, + BigNumber, + BigNumberish, + BytesLike, + CallOverrides, + ContractTransaction, + Overrides, + PopulatedTransaction, + Signer, + utils, +} from "ethers"; +import type { + FunctionFragment, + Result, + EventFragment, +} from "@ethersproject/abi"; +import type { Listener, Provider } from "@ethersproject/providers"; +import type { + TypedEventFilter, + TypedEvent, + TypedListener, + OnEvent, + PromiseOrValue, +} from "../../../../common"; + +export declare namespace LocalRegistrarLib { + export type AngelProtocolParamsStruct = { + protocolTaxRate: PromiseOrValue; + protocolTaxBasis: PromiseOrValue; + protocolTaxCollector: PromiseOrValue; + routerAddr: PromiseOrValue; + refundAddr: PromiseOrValue; + }; + + export type AngelProtocolParamsStructOutput = [ + number, + number, + string, + string, + string + ] & { + protocolTaxRate: number; + protocolTaxBasis: number; + protocolTaxCollector: string; + routerAddr: string; + refundAddr: string; + }; + + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, + boolean, + number, + number + ] & { + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; + + export type VaultParamsStruct = { + Type: PromiseOrValue; + vaultAddr: PromiseOrValue; + }; + + export type VaultParamsStructOutput = [number, string] & { + Type: number; + vaultAddr: string; + }; + + export type StrategyParamsStruct = { + approvalState: PromiseOrValue; + Locked: LocalRegistrarLib.VaultParamsStruct; + Liquid: LocalRegistrarLib.VaultParamsStruct; + }; + + export type StrategyParamsStructOutput = [ + number, + LocalRegistrarLib.VaultParamsStructOutput, + LocalRegistrarLib.VaultParamsStructOutput + ] & { + approvalState: number; + Locked: LocalRegistrarLib.VaultParamsStructOutput; + Liquid: LocalRegistrarLib.VaultParamsStructOutput; + }; +} + +export declare namespace AngelCoreStruct { + export type SplitDetailsStruct = { + max: PromiseOrValue; + min: PromiseOrValue; + defaultSplit: PromiseOrValue; + }; + + export type SplitDetailsStructOutput = [BigNumber, BigNumber, BigNumber] & { + max: BigNumber; + min: BigNumber; + defaultSplit: BigNumber; + }; + + export type NetworkInfoStruct = { + name: PromiseOrValue; + chainId: PromiseOrValue; + router: PromiseOrValue; + axelarGateway: PromiseOrValue; + ibcChannel: PromiseOrValue; + transferChannel: PromiseOrValue; + gasReceiver: PromiseOrValue; + gasLimit: PromiseOrValue; + }; + + export type NetworkInfoStructOutput = [ + string, + BigNumber, + string, + string, + string, + string, + string, + BigNumber + ] & { + name: string; + chainId: BigNumber; + router: string; + axelarGateway: string; + ibcChannel: string; + transferChannel: string; + gasReceiver: string; + gasLimit: BigNumber; + }; +} + +export declare namespace RegistrarStorage { + export type ConfigStruct = { + applicationsReview: PromiseOrValue; + indexFundContract: PromiseOrValue; + accountsContract: PromiseOrValue; + treasury: PromiseOrValue; + subdaoGovContract: PromiseOrValue; + subdaoTokenContract: PromiseOrValue; + subdaoBondingTokenContract: PromiseOrValue; + subdaoCw900Contract: PromiseOrValue; + subdaoDistributorContract: PromiseOrValue; + subdaoEmitter: PromiseOrValue; + donationMatchContract: PromiseOrValue; + donationMatchCharitesContract: PromiseOrValue; + donationMatchEmitter: PromiseOrValue; + splitToLiquid: AngelCoreStruct.SplitDetailsStruct; + haloToken: PromiseOrValue; + haloTokenLpContract: PromiseOrValue; + govContract: PromiseOrValue; + collectorShare: PromiseOrValue; + charitySharesContract: PromiseOrValue; + fundraisingContract: PromiseOrValue; + swapsRouter: PromiseOrValue; + multisigFactory: PromiseOrValue; + multisigEmitter: PromiseOrValue; + charityProposal: PromiseOrValue; + lockedWithdrawal: PromiseOrValue; + proxyAdmin: PromiseOrValue; + usdcAddress: PromiseOrValue; + wethAddress: PromiseOrValue; + cw900lvAddress: PromiseOrValue; + }; + + export type ConfigStructOutput = [ + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + AngelCoreStruct.SplitDetailsStructOutput, + string, + string, + string, + BigNumber, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string + ] & { + applicationsReview: string; + indexFundContract: string; + accountsContract: string; + treasury: string; + subdaoGovContract: string; + subdaoTokenContract: string; + subdaoBondingTokenContract: string; + subdaoCw900Contract: string; + subdaoDistributorContract: string; + subdaoEmitter: string; + donationMatchContract: string; + donationMatchCharitesContract: string; + donationMatchEmitter: string; + splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; + haloToken: string; + haloTokenLpContract: string; + govContract: string; + collectorShare: BigNumber; + charitySharesContract: string; + fundraisingContract: string; + swapsRouter: string; + multisigFactory: string; + multisigEmitter: string; + charityProposal: string; + lockedWithdrawal: string; + proxyAdmin: string; + usdcAddress: string; + wethAddress: string; + cw900lvAddress: string; + }; +} + +export declare namespace RegistrarMessages { + export type UpdateConfigRequestStruct = { + accountsContract: PromiseOrValue; + approved_charities: PromiseOrValue[]; + splitMax: PromiseOrValue; + splitMin: PromiseOrValue; + splitDefault: PromiseOrValue; + collectorShare: PromiseOrValue; + indexFundContract: PromiseOrValue; + govContract: PromiseOrValue; + treasury: PromiseOrValue; + donationMatchCharitesContract: PromiseOrValue; + donationMatchEmitter: PromiseOrValue; + haloToken: PromiseOrValue; + haloTokenLpContract: PromiseOrValue; + charitySharesContract: PromiseOrValue; + fundraisingContract: PromiseOrValue; + applicationsReview: PromiseOrValue; + swapsRouter: PromiseOrValue; + multisigFactory: PromiseOrValue; + multisigEmitter: PromiseOrValue; + charityProposal: PromiseOrValue; + lockedWithdrawal: PromiseOrValue; + proxyAdmin: PromiseOrValue; + usdcAddress: PromiseOrValue; + wethAddress: PromiseOrValue; + subdaoGovContract: PromiseOrValue; + subdaoTokenContract: PromiseOrValue; + subdaoBondingTokenContract: PromiseOrValue; + subdaoCw900Contract: PromiseOrValue; + subdaoDistributorContract: PromiseOrValue; + subdaoEmitter: PromiseOrValue; + donationMatchContract: PromiseOrValue; + cw900lvAddress: PromiseOrValue; + }; + + export type UpdateConfigRequestStructOutput = [ + string, + string[], + BigNumber, + BigNumber, + BigNumber, + BigNumber, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string, + string + ] & { + accountsContract: string; + approved_charities: string[]; + splitMax: BigNumber; + splitMin: BigNumber; + splitDefault: BigNumber; + collectorShare: BigNumber; + indexFundContract: string; + govContract: string; + treasury: string; + donationMatchCharitesContract: string; + donationMatchEmitter: string; + haloToken: string; + haloTokenLpContract: string; + charitySharesContract: string; + fundraisingContract: string; + applicationsReview: string; + swapsRouter: string; + multisigFactory: string; + multisigEmitter: string; + charityProposal: string; + lockedWithdrawal: string; + proxyAdmin: string; + usdcAddress: string; + wethAddress: string; + subdaoGovContract: string; + subdaoTokenContract: string; + subdaoBondingTokenContract: string; + subdaoCw900Contract: string; + subdaoDistributorContract: string; + subdaoEmitter: string; + donationMatchContract: string; + cw900lvAddress: string; + }; + + export type UpdateFeeRequestStruct = { + keys: PromiseOrValue[]; + values: PromiseOrValue[]; + }; + + export type UpdateFeeRequestStructOutput = [string[], BigNumber[]] & { + keys: string[]; + values: BigNumber[]; + }; + + export type VaultAddRequestStruct = { + network: PromiseOrValue; + stratagyName: PromiseOrValue; + inputDenom: PromiseOrValue; + yieldToken: PromiseOrValue; + restrictedFrom: PromiseOrValue[]; + acctType: PromiseOrValue; + vaultType: PromiseOrValue; + }; + + export type VaultAddRequestStructOutput = [ + BigNumber, + string, + string, + string, + number[], + number, + number + ] & { + network: BigNumber; + stratagyName: string; + inputDenom: string; + yieldToken: string; + restrictedFrom: number[]; + acctType: number; + vaultType: number; + }; +} + +export interface IRegistrarInterface extends utils.Interface { + functions: { + "getAccountsContractAddressByChain(string)": FunctionFragment; + "getAngelProtocolParams()": FunctionFragment; + "getGasByToken(address)": FunctionFragment; + "getRebalanceParams()": FunctionFragment; + "getStrategyApprovalState(bytes4)": FunctionFragment; + "getStrategyParamsById(bytes4)": FunctionFragment; + "isTokenAccepted(address)": FunctionFragment; + "owner()": FunctionFragment; + "queryAllStrategies()": FunctionFragment; + "queryConfig()": FunctionFragment; + "queryFee(string)": FunctionFragment; + "queryNetworkConnection(uint256)": FunctionFragment; + "setAccountsContractAddressByChain(string,string)": FunctionFragment; + "setAngelProtocolParams((uint32,uint32,address,address,address))": FunctionFragment; + "setGasByToken(address,uint256)": FunctionFragment; + "setRebalanceParams((bool,uint32,uint32,bool,uint32,uint32))": FunctionFragment; + "setStrategyApprovalState(bytes4,uint8)": FunctionFragment; + "setStrategyParams(bytes4,address,address,uint8)": FunctionFragment; + "setTokenAccepted(address,bool)": FunctionFragment; + "testQuery()": FunctionFragment; + "updateConfig((address,string[],uint256,uint256,uint256,uint256,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address))": FunctionFragment; + "updateFees((string[],uint256[]))": FunctionFragment; + "updateNetworkConnections((string,uint256,address,address,string,string,address,uint256),string)": FunctionFragment; + "updateOwner(address)": FunctionFragment; + "vaultAdd((uint256,string,address,address,uint8[],uint8,uint8))": FunctionFragment; + "vaultRemove(string)": FunctionFragment; + "vaultUpdate(string,bool,uint8[])": FunctionFragment; + }; + + getFunction( + nameOrSignatureOrTopic: + | "getAccountsContractAddressByChain" + | "getAngelProtocolParams" + | "getGasByToken" + | "getRebalanceParams" + | "getStrategyApprovalState" + | "getStrategyParamsById" + | "isTokenAccepted" + | "owner" + | "queryAllStrategies" + | "queryConfig" + | "queryFee" + | "queryNetworkConnection" + | "setAccountsContractAddressByChain" + | "setAngelProtocolParams" + | "setGasByToken" + | "setRebalanceParams" + | "setStrategyApprovalState" + | "setStrategyParams" + | "setTokenAccepted" + | "testQuery" + | "updateConfig" + | "updateFees" + | "updateNetworkConnections" + | "updateOwner" + | "vaultAdd" + | "vaultRemove" + | "vaultUpdate" + ): FunctionFragment; + + encodeFunctionData( + functionFragment: "getAccountsContractAddressByChain", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getAngelProtocolParams", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getGasByToken", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getRebalanceParams", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getStrategyApprovalState", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getStrategyParamsById", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "isTokenAccepted", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "queryAllStrategies", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "queryConfig", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "queryFee", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "queryNetworkConnection", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setAccountsContractAddressByChain", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setAngelProtocolParams", + values: [LocalRegistrarLib.AngelProtocolParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "setGasByToken", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setRebalanceParams", + values: [LocalRegistrarLib.RebalanceParamsStruct] + ): string; + encodeFunctionData( + functionFragment: "setStrategyApprovalState", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setStrategyParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] + ): string; + encodeFunctionData( + functionFragment: "setTokenAccepted", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "testQuery", values?: undefined): string; + encodeFunctionData( + functionFragment: "updateConfig", + values: [RegistrarMessages.UpdateConfigRequestStruct] + ): string; + encodeFunctionData( + functionFragment: "updateFees", + values: [RegistrarMessages.UpdateFeeRequestStruct] + ): string; + encodeFunctionData( + functionFragment: "updateNetworkConnections", + values: [AngelCoreStruct.NetworkInfoStruct, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "updateOwner", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "vaultAdd", + values: [RegistrarMessages.VaultAddRequestStruct] + ): string; + encodeFunctionData( + functionFragment: "vaultRemove", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "vaultUpdate", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue[] + ] + ): string; + + decodeFunctionResult( + functionFragment: "getAccountsContractAddressByChain", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAngelProtocolParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getGasByToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getRebalanceParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getStrategyApprovalState", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getStrategyParamsById", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isTokenAccepted", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "queryAllStrategies", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "queryConfig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "queryFee", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "queryNetworkConnection", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAccountsContractAddressByChain", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setAngelProtocolParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setGasByToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setRebalanceParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setStrategyApprovalState", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setStrategyParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setTokenAccepted", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "testQuery", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "updateConfig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "updateFees", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "updateNetworkConnections", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateOwner", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "vaultAdd", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "vaultRemove", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "vaultUpdate", + data: BytesLike + ): Result; + + events: { + "AccountsContractStorageChanged(string,string)": EventFragment; + "AngelProtocolParamsChanged(tuple)": EventFragment; + "GasFeeUpdated(address,uint256)": EventFragment; + "RebalanceParamsChanged(tuple)": EventFragment; + "StrategyApprovalChanged(bytes4,uint8)": EventFragment; + "StrategyParamsChanged(bytes4,address,address,uint8)": EventFragment; + "TokenAcceptanceChanged(address,bool)": EventFragment; + }; + + getEvent( + nameOrSignatureOrTopic: "AccountsContractStorageChanged" + ): EventFragment; + getEvent(nameOrSignatureOrTopic: "AngelProtocolParamsChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "GasFeeUpdated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RebalanceParamsChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "StrategyApprovalChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "StrategyParamsChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "TokenAcceptanceChanged"): EventFragment; +} + +export interface AccountsContractStorageChangedEventObject { + chainName: string; + accountsContractAddress: string; +} +export type AccountsContractStorageChangedEvent = TypedEvent< + [string, string], + AccountsContractStorageChangedEventObject +>; + +export type AccountsContractStorageChangedEventFilter = + TypedEventFilter; + +export interface AngelProtocolParamsChangedEventObject { + newAngelProtocolParams: LocalRegistrarLib.AngelProtocolParamsStructOutput; +} +export type AngelProtocolParamsChangedEvent = TypedEvent< + [LocalRegistrarLib.AngelProtocolParamsStructOutput], + AngelProtocolParamsChangedEventObject +>; + +export type AngelProtocolParamsChangedEventFilter = + TypedEventFilter; + +export interface GasFeeUpdatedEventObject { + _tokenAddr: string; + _gasFee: BigNumber; +} +export type GasFeeUpdatedEvent = TypedEvent< + [string, BigNumber], + GasFeeUpdatedEventObject +>; + +export type GasFeeUpdatedEventFilter = TypedEventFilter; + +export interface RebalanceParamsChangedEventObject { + newRebalanceParams: LocalRegistrarLib.RebalanceParamsStructOutput; +} +export type RebalanceParamsChangedEvent = TypedEvent< + [LocalRegistrarLib.RebalanceParamsStructOutput], + RebalanceParamsChangedEventObject +>; + +export type RebalanceParamsChangedEventFilter = + TypedEventFilter; + +export interface StrategyApprovalChangedEventObject { + _strategyId: string; + _approvalState: number; +} +export type StrategyApprovalChangedEvent = TypedEvent< + [string, number], + StrategyApprovalChangedEventObject +>; + +export type StrategyApprovalChangedEventFilter = + TypedEventFilter; + +export interface StrategyParamsChangedEventObject { + _strategyId: string; + _lockAddr: string; + _liqAddr: string; + _approvalState: number; +} +export type StrategyParamsChangedEvent = TypedEvent< + [string, string, string, number], + StrategyParamsChangedEventObject +>; + +export type StrategyParamsChangedEventFilter = + TypedEventFilter; + +export interface TokenAcceptanceChangedEventObject { + tokenAddr: string; + isAccepted: boolean; +} +export type TokenAcceptanceChangedEvent = TypedEvent< + [string, boolean], + TokenAcceptanceChangedEventObject +>; + +export type TokenAcceptanceChangedEventFilter = + TypedEventFilter; + +export interface IRegistrar extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + interface: IRegistrarInterface; + + queryFilter( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>; + + listeners( + eventFilter?: TypedEventFilter + ): Array>; + listeners(eventName?: string): Array; + removeAllListeners( + eventFilter: TypedEventFilter + ): this; + removeAllListeners(eventName?: string): this; + off: OnEvent; + on: OnEvent; + once: OnEvent; + removeListener: OnEvent; + + functions: { + getAccountsContractAddressByChain( + _targetChain: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + getAngelProtocolParams( + overrides?: CallOverrides + ): Promise<[LocalRegistrarLib.AngelProtocolParamsStructOutput]>; + + getGasByToken( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getRebalanceParams( + overrides?: CallOverrides + ): Promise<[LocalRegistrarLib.RebalanceParamsStructOutput]>; + + getStrategyApprovalState( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number]>; + + getStrategyParamsById( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[LocalRegistrarLib.StrategyParamsStructOutput]>; + + isTokenAccepted( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + queryAllStrategies( + overrides?: CallOverrides + ): Promise<[string[]] & { allStrategies: string[] }>; + + queryConfig( + overrides?: CallOverrides + ): Promise<[RegistrarStorage.ConfigStructOutput]>; + + queryFee( + name: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber] & { response: BigNumber }>; + + queryNetworkConnection( + chainId: PromiseOrValue, + overrides?: CallOverrides + ): Promise< + [AngelCoreStruct.NetworkInfoStructOutput] & { + response: AngelCoreStruct.NetworkInfoStructOutput; + } + >; + + setAccountsContractAddressByChain( + _chainName: PromiseOrValue, + _accountsContractAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setAngelProtocolParams( + _angelProtocolParams: LocalRegistrarLib.AngelProtocolParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setGasByToken( + _tokenAddr: PromiseOrValue, + _gasFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRebalanceParams( + _rebalanceParams: LocalRegistrarLib.RebalanceParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setStrategyApprovalState( + _strategyId: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setStrategyParams( + _strategyId: PromiseOrValue, + _liqAddr: PromiseOrValue, + _lockAddr: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setTokenAccepted( + _tokenAddr: PromiseOrValue, + _isAccepted: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testQuery(overrides?: CallOverrides): Promise<[string[]]>; + + updateConfig( + details: RegistrarMessages.UpdateConfigRequestStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateFees( + details: RegistrarMessages.UpdateFeeRequestStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateNetworkConnections( + networkInfo: AngelCoreStruct.NetworkInfoStruct, + action: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateOwner( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vaultAdd( + details: RegistrarMessages.VaultAddRequestStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vaultRemove( + _stratagyName: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vaultUpdate( + _stratagyName: PromiseOrValue, + approved: PromiseOrValue, + restrictedfrom: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + getAccountsContractAddressByChain( + _targetChain: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAngelProtocolParams( + overrides?: CallOverrides + ): Promise; + + getGasByToken( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getRebalanceParams( + overrides?: CallOverrides + ): Promise; + + getStrategyApprovalState( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getStrategyParamsById( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isTokenAccepted( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + queryAllStrategies(overrides?: CallOverrides): Promise; + + queryConfig( + overrides?: CallOverrides + ): Promise; + + queryFee( + name: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + queryNetworkConnection( + chainId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setAccountsContractAddressByChain( + _chainName: PromiseOrValue, + _accountsContractAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setAngelProtocolParams( + _angelProtocolParams: LocalRegistrarLib.AngelProtocolParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setGasByToken( + _tokenAddr: PromiseOrValue, + _gasFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRebalanceParams( + _rebalanceParams: LocalRegistrarLib.RebalanceParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setStrategyApprovalState( + _strategyId: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setStrategyParams( + _strategyId: PromiseOrValue, + _liqAddr: PromiseOrValue, + _lockAddr: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setTokenAccepted( + _tokenAddr: PromiseOrValue, + _isAccepted: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testQuery(overrides?: CallOverrides): Promise; + + updateConfig( + details: RegistrarMessages.UpdateConfigRequestStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateFees( + details: RegistrarMessages.UpdateFeeRequestStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateNetworkConnections( + networkInfo: AngelCoreStruct.NetworkInfoStruct, + action: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateOwner( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vaultAdd( + details: RegistrarMessages.VaultAddRequestStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vaultRemove( + _stratagyName: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vaultUpdate( + _stratagyName: PromiseOrValue, + approved: PromiseOrValue, + restrictedfrom: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + callStatic: { + getAccountsContractAddressByChain( + _targetChain: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAngelProtocolParams( + overrides?: CallOverrides + ): Promise; + + getGasByToken( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getRebalanceParams( + overrides?: CallOverrides + ): Promise; + + getStrategyApprovalState( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getStrategyParamsById( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isTokenAccepted( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + queryAllStrategies(overrides?: CallOverrides): Promise; + + queryConfig( + overrides?: CallOverrides + ): Promise; + + queryFee( + name: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + queryNetworkConnection( + chainId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setAccountsContractAddressByChain( + _chainName: PromiseOrValue, + _accountsContractAddress: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setAngelProtocolParams( + _angelProtocolParams: LocalRegistrarLib.AngelProtocolParamsStruct, + overrides?: CallOverrides + ): Promise; + + setGasByToken( + _tokenAddr: PromiseOrValue, + _gasFee: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setRebalanceParams( + _rebalanceParams: LocalRegistrarLib.RebalanceParamsStruct, + overrides?: CallOverrides + ): Promise; + + setStrategyApprovalState( + _strategyId: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setStrategyParams( + _strategyId: PromiseOrValue, + _liqAddr: PromiseOrValue, + _lockAddr: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setTokenAccepted( + _tokenAddr: PromiseOrValue, + _isAccepted: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + testQuery(overrides?: CallOverrides): Promise; + + updateConfig( + details: RegistrarMessages.UpdateConfigRequestStruct, + overrides?: CallOverrides + ): Promise; + + updateFees( + details: RegistrarMessages.UpdateFeeRequestStruct, + overrides?: CallOverrides + ): Promise; + + updateNetworkConnections( + networkInfo: AngelCoreStruct.NetworkInfoStruct, + action: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + updateOwner( + newOwner: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + vaultAdd( + details: RegistrarMessages.VaultAddRequestStruct, + overrides?: CallOverrides + ): Promise; + + vaultRemove( + _stratagyName: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + vaultUpdate( + _stratagyName: PromiseOrValue, + approved: PromiseOrValue, + restrictedfrom: PromiseOrValue[], + overrides?: CallOverrides + ): Promise; + }; + + filters: { + "AccountsContractStorageChanged(string,string)"( + chainName?: PromiseOrValue | null, + accountsContractAddress?: PromiseOrValue | null + ): AccountsContractStorageChangedEventFilter; + AccountsContractStorageChanged( + chainName?: PromiseOrValue | null, + accountsContractAddress?: PromiseOrValue | null + ): AccountsContractStorageChangedEventFilter; + + "AngelProtocolParamsChanged(tuple)"( + newAngelProtocolParams?: null + ): AngelProtocolParamsChangedEventFilter; + AngelProtocolParamsChanged( + newAngelProtocolParams?: null + ): AngelProtocolParamsChangedEventFilter; + + "GasFeeUpdated(address,uint256)"( + _tokenAddr?: PromiseOrValue | null, + _gasFee?: null + ): GasFeeUpdatedEventFilter; + GasFeeUpdated( + _tokenAddr?: PromiseOrValue | null, + _gasFee?: null + ): GasFeeUpdatedEventFilter; + + "RebalanceParamsChanged(tuple)"( + newRebalanceParams?: null + ): RebalanceParamsChangedEventFilter; + RebalanceParamsChanged( + newRebalanceParams?: null + ): RebalanceParamsChangedEventFilter; + + "StrategyApprovalChanged(bytes4,uint8)"( + _strategyId?: PromiseOrValue | null, + _approvalState?: null + ): StrategyApprovalChangedEventFilter; + StrategyApprovalChanged( + _strategyId?: PromiseOrValue | null, + _approvalState?: null + ): StrategyApprovalChangedEventFilter; + + "StrategyParamsChanged(bytes4,address,address,uint8)"( + _strategyId?: PromiseOrValue | null, + _lockAddr?: PromiseOrValue | null, + _liqAddr?: PromiseOrValue | null, + _approvalState?: null + ): StrategyParamsChangedEventFilter; + StrategyParamsChanged( + _strategyId?: PromiseOrValue | null, + _lockAddr?: PromiseOrValue | null, + _liqAddr?: PromiseOrValue | null, + _approvalState?: null + ): StrategyParamsChangedEventFilter; + + "TokenAcceptanceChanged(address,bool)"( + tokenAddr?: PromiseOrValue | null, + isAccepted?: null + ): TokenAcceptanceChangedEventFilter; + TokenAcceptanceChanged( + tokenAddr?: PromiseOrValue | null, + isAccepted?: null + ): TokenAcceptanceChangedEventFilter; + }; + + estimateGas: { + getAccountsContractAddressByChain( + _targetChain: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAngelProtocolParams(overrides?: CallOverrides): Promise; + + getGasByToken( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getRebalanceParams(overrides?: CallOverrides): Promise; + + getStrategyApprovalState( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getStrategyParamsById( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isTokenAccepted( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + queryAllStrategies(overrides?: CallOverrides): Promise; + + queryConfig(overrides?: CallOverrides): Promise; + + queryFee( + name: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + queryNetworkConnection( + chainId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setAccountsContractAddressByChain( + _chainName: PromiseOrValue, + _accountsContractAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setAngelProtocolParams( + _angelProtocolParams: LocalRegistrarLib.AngelProtocolParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setGasByToken( + _tokenAddr: PromiseOrValue, + _gasFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRebalanceParams( + _rebalanceParams: LocalRegistrarLib.RebalanceParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setStrategyApprovalState( + _strategyId: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setStrategyParams( + _strategyId: PromiseOrValue, + _liqAddr: PromiseOrValue, + _lockAddr: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setTokenAccepted( + _tokenAddr: PromiseOrValue, + _isAccepted: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testQuery(overrides?: CallOverrides): Promise; + + updateConfig( + details: RegistrarMessages.UpdateConfigRequestStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateFees( + details: RegistrarMessages.UpdateFeeRequestStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateNetworkConnections( + networkInfo: AngelCoreStruct.NetworkInfoStruct, + action: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateOwner( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vaultAdd( + details: RegistrarMessages.VaultAddRequestStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vaultRemove( + _stratagyName: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vaultUpdate( + _stratagyName: PromiseOrValue, + approved: PromiseOrValue, + restrictedfrom: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; + + populateTransaction: { + getAccountsContractAddressByChain( + _targetChain: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAngelProtocolParams( + overrides?: CallOverrides + ): Promise; + + getGasByToken( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getRebalanceParams( + overrides?: CallOverrides + ): Promise; + + getStrategyApprovalState( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getStrategyParamsById( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + isTokenAccepted( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + queryAllStrategies( + overrides?: CallOverrides + ): Promise; + + queryConfig(overrides?: CallOverrides): Promise; + + queryFee( + name: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + queryNetworkConnection( + chainId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setAccountsContractAddressByChain( + _chainName: PromiseOrValue, + _accountsContractAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setAngelProtocolParams( + _angelProtocolParams: LocalRegistrarLib.AngelProtocolParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setGasByToken( + _tokenAddr: PromiseOrValue, + _gasFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRebalanceParams( + _rebalanceParams: LocalRegistrarLib.RebalanceParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setStrategyApprovalState( + _strategyId: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setStrategyParams( + _strategyId: PromiseOrValue, + _liqAddr: PromiseOrValue, + _lockAddr: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setTokenAccepted( + _tokenAddr: PromiseOrValue, + _isAccepted: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + testQuery(overrides?: CallOverrides): Promise; + + updateConfig( + details: RegistrarMessages.UpdateConfigRequestStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateFees( + details: RegistrarMessages.UpdateFeeRequestStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateNetworkConnections( + networkInfo: AngelCoreStruct.NetworkInfoStruct, + action: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + updateOwner( + newOwner: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vaultAdd( + details: RegistrarMessages.VaultAddRequestStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vaultRemove( + _stratagyName: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + vaultUpdate( + _stratagyName: PromiseOrValue, + approved: PromiseOrValue, + restrictedfrom: PromiseOrValue[], + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + }; +} diff --git a/typechain-types/contracts/core/registrar/interface/index.ts b/typechain-types/contracts/core/registrar/interfaces/index.ts similarity index 100% rename from typechain-types/contracts/core/registrar/interface/index.ts rename to typechain-types/contracts/core/registrar/interfaces/index.ts diff --git a/typechain-types/contracts/core/registrar/lib/RegistrarEventsLib.ts b/typechain-types/contracts/core/registrar/lib/RegistrarEventsLib.ts index 8a43fc2f0..37c73df20 100644 --- a/typechain-types/contracts/core/registrar/lib/RegistrarEventsLib.ts +++ b/typechain-types/contracts/core/registrar/lib/RegistrarEventsLib.ts @@ -19,42 +19,11 @@ import type { } from "../../../../common"; export declare namespace AngelCoreStruct { - export type YieldVaultStruct = { - addr: PromiseOrValue; - network: PromiseOrValue; - inputDenom: PromiseOrValue; - yieldToken: PromiseOrValue; - approved: PromiseOrValue; - restrictedFrom: PromiseOrValue[]; - acctType: PromiseOrValue; - vaultType: PromiseOrValue; - }; - - export type YieldVaultStructOutput = [ - string, - BigNumber, - string, - string, - boolean, - number[], - number, - number - ] & { - addr: string; - network: BigNumber; - inputDenom: string; - yieldToken: string; - approved: boolean; - restrictedFrom: number[]; - acctType: number; - vaultType: number; - }; - export type NetworkInfoStruct = { name: PromiseOrValue; chainId: PromiseOrValue; router: PromiseOrValue; - axelerGateway: PromiseOrValue; + axelarGateway: PromiseOrValue; ibcChannel: PromiseOrValue; transferChannel: PromiseOrValue; gasReceiver: PromiseOrValue; @@ -74,7 +43,7 @@ export declare namespace AngelCoreStruct { name: string; chainId: BigNumber; router: string; - axelerGateway: string; + axelarGateway: string; ibcChannel: string; transferChannel: string; gasReceiver: string; @@ -92,60 +61,30 @@ export declare namespace AngelCoreStruct { min: BigNumber; defaultSplit: BigNumber; }; - - export type AcceptedTokensStruct = { cw20: PromiseOrValue[] }; - - export type AcceptedTokensStructOutput = [string[]] & { cw20: string[] }; - - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; } export declare namespace RegistrarStorage { export type ConfigStruct = { - owner: PromiseOrValue; applicationsReview: PromiseOrValue; indexFundContract: PromiseOrValue; accountsContract: PromiseOrValue; treasury: PromiseOrValue; - subdaoGovCode: PromiseOrValue; - subdaoCw20TokenCode: PromiseOrValue; - subdaoBondingTokenCode: PromiseOrValue; - subdaoCw900Code: PromiseOrValue; - subdaoDistributorCode: PromiseOrValue; + subdaoGovContract: PromiseOrValue; + subdaoTokenContract: PromiseOrValue; + subdaoBondingTokenContract: PromiseOrValue; + subdaoCw900Contract: PromiseOrValue; + subdaoDistributorContract: PromiseOrValue; subdaoEmitter: PromiseOrValue; - donationMatchCode: PromiseOrValue; + donationMatchContract: PromiseOrValue; donationMatchCharitesContract: PromiseOrValue; donationMatchEmitter: PromiseOrValue; splitToLiquid: AngelCoreStruct.SplitDetailsStruct; haloToken: PromiseOrValue; haloTokenLpContract: PromiseOrValue; govContract: PromiseOrValue; - collectorAddr: PromiseOrValue; collectorShare: PromiseOrValue; charitySharesContract: PromiseOrValue; - acceptedTokens: AngelCoreStruct.AcceptedTokensStruct; fundraisingContract: PromiseOrValue; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; swapsRouter: PromiseOrValue; multisigFactory: PromiseOrValue; multisigEmitter: PromiseOrValue; @@ -171,17 +110,13 @@ export declare namespace RegistrarStorage { string, string, string, - string, AngelCoreStruct.SplitDetailsStructOutput, string, string, string, - string, BigNumber, string, - AngelCoreStruct.AcceptedTokensStructOutput, string, - AngelCoreStruct.RebalanceDetailsStructOutput, string, string, string, @@ -192,30 +127,26 @@ export declare namespace RegistrarStorage { string, string ] & { - owner: string; applicationsReview: string; indexFundContract: string; accountsContract: string; treasury: string; - subdaoGovCode: string; - subdaoCw20TokenCode: string; - subdaoBondingTokenCode: string; - subdaoCw900Code: string; - subdaoDistributorCode: string; + subdaoGovContract: string; + subdaoTokenContract: string; + subdaoBondingTokenContract: string; + subdaoCw900Contract: string; + subdaoDistributorContract: string; subdaoEmitter: string; - donationMatchCode: string; + donationMatchContract: string; donationMatchCharitesContract: string; donationMatchEmitter: string; splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; haloToken: string; haloTokenLpContract: string; govContract: string; - collectorAddr: string; collectorShare: BigNumber; charitySharesContract: string; - acceptedTokens: AngelCoreStruct.AcceptedTokensStructOutput; fundraisingContract: string; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; swapsRouter: string; multisigFactory: string; multisigEmitter: string; @@ -244,37 +175,20 @@ export interface RegistrarEventsLibInterface extends utils.Interface { functions: {}; events: { - "AddVault(string,tuple)": EventFragment; "DeleteNetworkConnection(uint256)": EventFragment; "PostNetworkConnection(uint256,tuple)": EventFragment; - "RemoveVault(string)": EventFragment; "UpdateRegistrarConfig(tuple)": EventFragment; "UpdateRegistrarFees(tuple)": EventFragment; "UpdateRegistrarOwner(address)": EventFragment; - "UpdateVault(string,bool,uint8[])": EventFragment; }; - getEvent(nameOrSignatureOrTopic: "AddVault"): EventFragment; getEvent(nameOrSignatureOrTopic: "DeleteNetworkConnection"): EventFragment; getEvent(nameOrSignatureOrTopic: "PostNetworkConnection"): EventFragment; - getEvent(nameOrSignatureOrTopic: "RemoveVault"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateRegistrarConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateRegistrarFees"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateRegistrarOwner"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateVault"): EventFragment; } -export interface AddVaultEventObject { - strategyName: string; - vault: AngelCoreStruct.YieldVaultStructOutput; -} -export type AddVaultEvent = TypedEvent< - [string, AngelCoreStruct.YieldVaultStructOutput], - AddVaultEventObject ->; - -export type AddVaultEventFilter = TypedEventFilter; - export interface DeleteNetworkConnectionEventObject { chainId: BigNumber; } @@ -298,13 +212,6 @@ export type PostNetworkConnectionEvent = TypedEvent< export type PostNetworkConnectionEventFilter = TypedEventFilter; -export interface RemoveVaultEventObject { - strategyName: string; -} -export type RemoveVaultEvent = TypedEvent<[string], RemoveVaultEventObject>; - -export type RemoveVaultEventFilter = TypedEventFilter; - export interface UpdateRegistrarConfigEventObject { details: RegistrarStorage.ConfigStructOutput; } @@ -338,18 +245,6 @@ export type UpdateRegistrarOwnerEvent = TypedEvent< export type UpdateRegistrarOwnerEventFilter = TypedEventFilter; -export interface UpdateVaultEventObject { - strategyName: string; - approved: boolean; - endowmentTypes: number[]; -} -export type UpdateVaultEvent = TypedEvent< - [string, boolean, number[]], - UpdateVaultEventObject ->; - -export type UpdateVaultEventFilter = TypedEventFilter; - export interface RegistrarEventsLib extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -381,12 +276,6 @@ export interface RegistrarEventsLib extends BaseContract { callStatic: {}; filters: { - "AddVault(string,tuple)"( - strategyName?: null, - vault?: null - ): AddVaultEventFilter; - AddVault(strategyName?: null, vault?: null): AddVaultEventFilter; - "DeleteNetworkConnection(uint256)"( chainId?: null ): DeleteNetworkConnectionEventFilter; @@ -401,9 +290,6 @@ export interface RegistrarEventsLib extends BaseContract { networkInfo?: null ): PostNetworkConnectionEventFilter; - "RemoveVault(string)"(strategyName?: null): RemoveVaultEventFilter; - RemoveVault(strategyName?: null): RemoveVaultEventFilter; - "UpdateRegistrarConfig(tuple)"( details?: null ): UpdateRegistrarConfigEventFilter; @@ -418,17 +304,6 @@ export interface RegistrarEventsLib extends BaseContract { newOwner?: null ): UpdateRegistrarOwnerEventFilter; UpdateRegistrarOwner(newOwner?: null): UpdateRegistrarOwnerEventFilter; - - "UpdateVault(string,bool,uint8[])"( - strategyName?: null, - approved?: null, - endowmentTypes?: null - ): UpdateVaultEventFilter; - UpdateVault( - strategyName?: null, - approved?: null, - endowmentTypes?: null - ): UpdateVaultEventFilter; }; estimateGas: {}; diff --git a/typechain-types/contracts/core/registrar/registrar.sol/Registrar.ts b/typechain-types/contracts/core/registrar/registrar.sol/Registrar.ts index b75b95805..9b5fcbab4 100644 --- a/typechain-types/contracts/core/registrar/registrar.sol/Registrar.ts +++ b/typechain-types/contracts/core/registrar/registrar.sol/Registrar.ts @@ -27,43 +27,87 @@ import type { PromiseOrValue, } from "../../../../common"; -export declare namespace AngelCoreStruct { - export type YieldVaultStruct = { - addr: PromiseOrValue; - network: PromiseOrValue; - inputDenom: PromiseOrValue; - yieldToken: PromiseOrValue; - approved: PromiseOrValue; - restrictedFrom: PromiseOrValue[]; - acctType: PromiseOrValue; - vaultType: PromiseOrValue; +export declare namespace LocalRegistrarLib { + export type AngelProtocolParamsStruct = { + protocolTaxRate: PromiseOrValue; + protocolTaxBasis: PromiseOrValue; + protocolTaxCollector: PromiseOrValue; + routerAddr: PromiseOrValue; + refundAddr: PromiseOrValue; }; - export type YieldVaultStructOutput = [ - string, - BigNumber, + export type AngelProtocolParamsStructOutput = [ + number, + number, string, string, + string + ] & { + protocolTaxRate: number; + protocolTaxBasis: number; + protocolTaxCollector: string; + routerAddr: string; + refundAddr: string; + }; + + export type RebalanceParamsStruct = { + rebalanceLiquidProfits: PromiseOrValue; + lockedRebalanceToLiquid: PromiseOrValue; + interestDistribution: PromiseOrValue; + lockedPrincipleToLiquid: PromiseOrValue; + principleDistribution: PromiseOrValue; + basis: PromiseOrValue; + }; + + export type RebalanceParamsStructOutput = [ + boolean, + number, + number, boolean, - number[], number, number ] & { - addr: string; - network: BigNumber; - inputDenom: string; - yieldToken: string; - approved: boolean; - restrictedFrom: number[]; - acctType: number; - vaultType: number; + rebalanceLiquidProfits: boolean; + lockedRebalanceToLiquid: number; + interestDistribution: number; + lockedPrincipleToLiquid: boolean; + principleDistribution: number; + basis: number; + }; + + export type VaultParamsStruct = { + Type: PromiseOrValue; + vaultAddr: PromiseOrValue; + }; + + export type VaultParamsStructOutput = [number, string] & { + Type: number; + vaultAddr: string; + }; + + export type StrategyParamsStruct = { + approvalState: PromiseOrValue; + Locked: LocalRegistrarLib.VaultParamsStruct; + Liquid: LocalRegistrarLib.VaultParamsStruct; }; + export type StrategyParamsStructOutput = [ + number, + LocalRegistrarLib.VaultParamsStructOutput, + LocalRegistrarLib.VaultParamsStructOutput + ] & { + approvalState: number; + Locked: LocalRegistrarLib.VaultParamsStructOutput; + Liquid: LocalRegistrarLib.VaultParamsStructOutput; + }; +} + +export declare namespace AngelCoreStruct { export type NetworkInfoStruct = { name: PromiseOrValue; chainId: PromiseOrValue; router: PromiseOrValue; - axelerGateway: PromiseOrValue; + axelarGateway: PromiseOrValue; ibcChannel: PromiseOrValue; transferChannel: PromiseOrValue; gasReceiver: PromiseOrValue; @@ -83,7 +127,7 @@ export declare namespace AngelCoreStruct { name: string; chainId: BigNumber; router: string; - axelerGateway: string; + axelarGateway: string; ibcChannel: string; transferChannel: string; gasReceiver: string; @@ -101,60 +145,30 @@ export declare namespace AngelCoreStruct { min: BigNumber; defaultSplit: BigNumber; }; - - export type AcceptedTokensStruct = { cw20: PromiseOrValue[] }; - - export type AcceptedTokensStructOutput = [string[]] & { cw20: string[] }; - - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; } export declare namespace RegistrarStorage { export type ConfigStruct = { - owner: PromiseOrValue; applicationsReview: PromiseOrValue; indexFundContract: PromiseOrValue; accountsContract: PromiseOrValue; treasury: PromiseOrValue; - subdaoGovCode: PromiseOrValue; - subdaoCw20TokenCode: PromiseOrValue; - subdaoBondingTokenCode: PromiseOrValue; - subdaoCw900Code: PromiseOrValue; - subdaoDistributorCode: PromiseOrValue; + subdaoGovContract: PromiseOrValue; + subdaoTokenContract: PromiseOrValue; + subdaoBondingTokenContract: PromiseOrValue; + subdaoCw900Contract: PromiseOrValue; + subdaoDistributorContract: PromiseOrValue; subdaoEmitter: PromiseOrValue; - donationMatchCode: PromiseOrValue; + donationMatchContract: PromiseOrValue; donationMatchCharitesContract: PromiseOrValue; donationMatchEmitter: PromiseOrValue; splitToLiquid: AngelCoreStruct.SplitDetailsStruct; haloToken: PromiseOrValue; haloTokenLpContract: PromiseOrValue; govContract: PromiseOrValue; - collectorAddr: PromiseOrValue; collectorShare: PromiseOrValue; charitySharesContract: PromiseOrValue; - acceptedTokens: AngelCoreStruct.AcceptedTokensStruct; fundraisingContract: PromiseOrValue; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; swapsRouter: PromiseOrValue; multisigFactory: PromiseOrValue; multisigEmitter: PromiseOrValue; @@ -180,17 +194,13 @@ export declare namespace RegistrarStorage { string, string, string, - string, AngelCoreStruct.SplitDetailsStructOutput, string, string, string, - string, BigNumber, string, - AngelCoreStruct.AcceptedTokensStructOutput, string, - AngelCoreStruct.RebalanceDetailsStructOutput, string, string, string, @@ -201,30 +211,26 @@ export declare namespace RegistrarStorage { string, string ] & { - owner: string; applicationsReview: string; indexFundContract: string; accountsContract: string; treasury: string; - subdaoGovCode: string; - subdaoCw20TokenCode: string; - subdaoBondingTokenCode: string; - subdaoCw900Code: string; - subdaoDistributorCode: string; + subdaoGovContract: string; + subdaoTokenContract: string; + subdaoBondingTokenContract: string; + subdaoCw900Contract: string; + subdaoDistributorContract: string; subdaoEmitter: string; - donationMatchCode: string; + donationMatchContract: string; donationMatchCharitesContract: string; donationMatchEmitter: string; splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; haloToken: string; haloTokenLpContract: string; govContract: string; - collectorAddr: string; collectorShare: BigNumber; charitySharesContract: string; - acceptedTokens: AngelCoreStruct.AcceptedTokensStructOutput; fundraisingContract: string; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; swapsRouter: string; multisigFactory: string; multisigEmitter: string; @@ -250,49 +256,33 @@ export declare namespace RegistrarMessages { export type InstantiateRequestStruct = { treasury: PromiseOrValue; - taxRate: PromiseOrValue; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; splitToLiquid: AngelCoreStruct.SplitDetailsStruct; - acceptedTokens: AngelCoreStruct.AcceptedTokensStruct; router: PromiseOrValue; - axelerGateway: PromiseOrValue; + axelarGateway: PromiseOrValue; + axelarGasRecv: PromiseOrValue; }; export type InstantiateRequestStructOutput = [ string, - BigNumber, - AngelCoreStruct.RebalanceDetailsStructOutput, AngelCoreStruct.SplitDetailsStructOutput, - AngelCoreStruct.AcceptedTokensStructOutput, + string, string, string ] & { treasury: string; - taxRate: BigNumber; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; - acceptedTokens: AngelCoreStruct.AcceptedTokensStructOutput; router: string; - axelerGateway: string; + axelarGateway: string; + axelarGasRecv: string; }; export type UpdateConfigRequestStruct = { accountsContract: PromiseOrValue; - taxRate: PromiseOrValue; - rebalance: AngelCoreStruct.RebalanceDetailsStruct; approved_charities: PromiseOrValue[]; splitMax: PromiseOrValue; splitMin: PromiseOrValue; splitDefault: PromiseOrValue; collectorShare: PromiseOrValue; - acceptedTokens: AngelCoreStruct.AcceptedTokensStruct; - subdaoGovCode: PromiseOrValue; - subdaoCw20TokenCode: PromiseOrValue; - subdaoBondingTokenCode: PromiseOrValue; - subdaoCw900Code: PromiseOrValue; - subdaoDistributorCode: PromiseOrValue; - subdaoEmitter: PromiseOrValue; - donationMatchCode: PromiseOrValue; indexFundContract: PromiseOrValue; govContract: PromiseOrValue; treasury: PromiseOrValue; @@ -311,19 +301,23 @@ export declare namespace RegistrarMessages { proxyAdmin: PromiseOrValue; usdcAddress: PromiseOrValue; wethAddress: PromiseOrValue; + subdaoGovContract: PromiseOrValue; + subdaoTokenContract: PromiseOrValue; + subdaoBondingTokenContract: PromiseOrValue; + subdaoCw900Contract: PromiseOrValue; + subdaoDistributorContract: PromiseOrValue; + subdaoEmitter: PromiseOrValue; + donationMatchContract: PromiseOrValue; cw900lvAddress: PromiseOrValue; }; export type UpdateConfigRequestStructOutput = [ string, - BigNumber, - AngelCoreStruct.RebalanceDetailsStructOutput, string[], BigNumber, BigNumber, BigNumber, BigNumber, - AngelCoreStruct.AcceptedTokensStructOutput, string, string, string, @@ -352,21 +346,11 @@ export declare namespace RegistrarMessages { string ] & { accountsContract: string; - taxRate: BigNumber; - rebalance: AngelCoreStruct.RebalanceDetailsStructOutput; approved_charities: string[]; splitMax: BigNumber; splitMin: BigNumber; splitDefault: BigNumber; collectorShare: BigNumber; - acceptedTokens: AngelCoreStruct.AcceptedTokensStructOutput; - subdaoGovCode: string; - subdaoCw20TokenCode: string; - subdaoBondingTokenCode: string; - subdaoCw900Code: string; - subdaoDistributorCode: string; - subdaoEmitter: string; - donationMatchCode: string; indexFundContract: string; govContract: string; treasury: string; @@ -385,78 +369,144 @@ export declare namespace RegistrarMessages { proxyAdmin: string; usdcAddress: string; wethAddress: string; + subdaoGovContract: string; + subdaoTokenContract: string; + subdaoBondingTokenContract: string; + subdaoCw900Contract: string; + subdaoDistributorContract: string; + subdaoEmitter: string; + donationMatchContract: string; cw900lvAddress: string; }; +} - export type VaultAddRequestStruct = { - network: PromiseOrValue; - stratagyName: PromiseOrValue; - inputDenom: PromiseOrValue; - yieldToken: PromiseOrValue; - restrictedFrom: PromiseOrValue[]; - acctType: PromiseOrValue; - vaultType: PromiseOrValue; +export declare namespace APGoldfinchConfigLib { + export type CRVParamsStruct = { + allowedSlippage: PromiseOrValue; }; - export type VaultAddRequestStructOutput = [ - BigNumber, - string, - string, - string, - number[], - number, - number - ] & { - network: BigNumber; - stratagyName: string; - inputDenom: string; - yieldToken: string; - restrictedFrom: number[]; - acctType: number; - vaultType: number; + export type CRVParamsStructOutput = [BigNumber] & { + allowedSlippage: BigNumber; }; + + export type APGoldfinchConfigStruct = { + crvParams: APGoldfinchConfigLib.CRVParamsStruct; + }; + + export type APGoldfinchConfigStructOutput = [ + APGoldfinchConfigLib.CRVParamsStructOutput + ] & { crvParams: APGoldfinchConfigLib.CRVParamsStructOutput }; } export interface RegistrarInterface extends utils.Interface { functions: { - "initialize((address,uint256,(bool,bool,uint256,bool,uint256),(uint256,uint256,uint256),(address[]),address,address))": FunctionFragment; + "getAPGoldfinchParams()": FunctionFragment; + "getAccountsContractAddressByChain(string)": FunctionFragment; + "getAngelProtocolParams()": FunctionFragment; + "getGasByToken(address)": FunctionFragment; + "getRebalanceParams()": FunctionFragment; + "getStrategyApprovalState(bytes4)": FunctionFragment; + "getStrategyParamsById(bytes4)": FunctionFragment; + "initialize((address,(uint256,uint256,uint256),address,address,address))": FunctionFragment; + "initialize()": FunctionFragment; + "isTokenAccepted(address)": FunctionFragment; + "owner()": FunctionFragment; + "queryAllStrategies()": FunctionFragment; "queryConfig()": FunctionFragment; "queryFee(string)": FunctionFragment; "queryNetworkConnection(uint256)": FunctionFragment; - "queryVaultDetails(string)": FunctionFragment; - "queryVaultList(uint256,uint8,uint8,uint8,uint8,uint256,uint256)": FunctionFragment; - "queryVaultListDep(uint256,uint8,uint8,uint8,uint8,uint256,uint256)": FunctionFragment; - "updateConfig((address,uint256,(bool,bool,uint256,bool,uint256),string[],uint256,uint256,uint256,uint256,(address[]),address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address))": FunctionFragment; + "renounceOwnership()": FunctionFragment; + "setAPGoldfinchParams(((uint256)))": FunctionFragment; + "setAccountsContractAddressByChain(string,string)": FunctionFragment; + "setAngelProtocolParams((uint32,uint32,address,address,address))": FunctionFragment; + "setGasByToken(address,uint256)": FunctionFragment; + "setRebalanceParams((bool,uint32,uint32,bool,uint32,uint32))": FunctionFragment; + "setStrategyApprovalState(bytes4,uint8)": FunctionFragment; + "setStrategyParams(bytes4,address,address,uint8)": FunctionFragment; + "setTokenAccepted(address,bool)": FunctionFragment; + "transferOwnership(address)": FunctionFragment; + "updateConfig((address,string[],uint256,uint256,uint256,uint256,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address,address))": FunctionFragment; "updateFees((string[],uint256[]))": FunctionFragment; "updateNetworkConnections((string,uint256,address,address,string,string,address,uint256),string)": FunctionFragment; - "updateOwner(address)": FunctionFragment; - "vaultAdd((uint256,string,address,address,uint8[],uint8,uint8))": FunctionFragment; - "vaultRemove(string)": FunctionFragment; - "vaultUpdate(string,bool,uint8[])": FunctionFragment; }; getFunction( nameOrSignatureOrTopic: - | "initialize" + | "getAPGoldfinchParams" + | "getAccountsContractAddressByChain" + | "getAngelProtocolParams" + | "getGasByToken" + | "getRebalanceParams" + | "getStrategyApprovalState" + | "getStrategyParamsById" + | "initialize((address,(uint256,uint256,uint256),address,address,address))" + | "initialize()" + | "isTokenAccepted" + | "owner" + | "queryAllStrategies" | "queryConfig" | "queryFee" | "queryNetworkConnection" - | "queryVaultDetails" - | "queryVaultList" - | "queryVaultListDep" + | "renounceOwnership" + | "setAPGoldfinchParams" + | "setAccountsContractAddressByChain" + | "setAngelProtocolParams" + | "setGasByToken" + | "setRebalanceParams" + | "setStrategyApprovalState" + | "setStrategyParams" + | "setTokenAccepted" + | "transferOwnership" | "updateConfig" | "updateFees" | "updateNetworkConnections" - | "updateOwner" - | "vaultAdd" - | "vaultRemove" - | "vaultUpdate" ): FunctionFragment; encodeFunctionData( - functionFragment: "initialize", + functionFragment: "getAPGoldfinchParams", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getAccountsContractAddressByChain", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getAngelProtocolParams", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getGasByToken", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getRebalanceParams", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "getStrategyApprovalState", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "getStrategyParamsById", + values: [PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "initialize((address,(uint256,uint256,uint256),address,address,address))", values: [RegistrarMessages.InstantiateRequestStruct] ): string; + encodeFunctionData( + functionFragment: "initialize()", + values?: undefined + ): string; + encodeFunctionData( + functionFragment: "isTokenAccepted", + values: [PromiseOrValue] + ): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "queryAllStrategies", + values?: undefined + ): string; encodeFunctionData( functionFragment: "queryConfig", values?: undefined @@ -470,67 +520,108 @@ export interface RegistrarInterface extends utils.Interface { values: [PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "queryVaultDetails", - values: [PromiseOrValue] + functionFragment: "renounceOwnership", + values?: undefined ): string; encodeFunctionData( - functionFragment: "queryVaultList", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] + functionFragment: "setAPGoldfinchParams", + values: [APGoldfinchConfigLib.APGoldfinchConfigStruct] ): string; encodeFunctionData( - functionFragment: "queryVaultListDep", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] + functionFragment: "setAccountsContractAddressByChain", + values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "updateConfig", - values: [RegistrarMessages.UpdateConfigRequestStruct] + functionFragment: "setAngelProtocolParams", + values: [LocalRegistrarLib.AngelProtocolParamsStruct] ): string; encodeFunctionData( - functionFragment: "updateFees", - values: [RegistrarMessages.UpdateFeeRequestStruct] + functionFragment: "setGasByToken", + values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "updateNetworkConnections", - values: [AngelCoreStruct.NetworkInfoStruct, PromiseOrValue] + functionFragment: "setRebalanceParams", + values: [LocalRegistrarLib.RebalanceParamsStruct] ): string; encodeFunctionData( - functionFragment: "updateOwner", - values: [PromiseOrValue] + functionFragment: "setStrategyApprovalState", + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: "setStrategyParams", + values: [ + PromiseOrValue, + PromiseOrValue, + PromiseOrValue, + PromiseOrValue + ] ): string; encodeFunctionData( - functionFragment: "vaultAdd", - values: [RegistrarMessages.VaultAddRequestStruct] + functionFragment: "setTokenAccepted", + values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "vaultRemove", + functionFragment: "transferOwnership", values: [PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "vaultUpdate", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue[] - ] + functionFragment: "updateConfig", + values: [RegistrarMessages.UpdateConfigRequestStruct] + ): string; + encodeFunctionData( + functionFragment: "updateFees", + values: [RegistrarMessages.UpdateFeeRequestStruct] + ): string; + encodeFunctionData( + functionFragment: "updateNetworkConnections", + values: [AngelCoreStruct.NetworkInfoStruct, PromiseOrValue] ): string; - decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "getAPGoldfinchParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAccountsContractAddressByChain", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getAngelProtocolParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getGasByToken", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getRebalanceParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getStrategyApprovalState", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "getStrategyParamsById", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "initialize((address,(uint256,uint256,uint256),address,address,address))", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "initialize()", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "isTokenAccepted", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "queryAllStrategies", + data: BytesLike + ): Result; decodeFunctionResult( functionFragment: "queryConfig", data: BytesLike @@ -541,71 +632,110 @@ export interface RegistrarInterface extends utils.Interface { data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "queryVaultDetails", + functionFragment: "renounceOwnership", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "queryVaultList", + functionFragment: "setAPGoldfinchParams", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "queryVaultListDep", + functionFragment: "setAccountsContractAddressByChain", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "updateConfig", + functionFragment: "setAngelProtocolParams", data: BytesLike ): Result; - decodeFunctionResult(functionFragment: "updateFees", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "updateNetworkConnections", + functionFragment: "setGasByToken", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "updateOwner", + functionFragment: "setRebalanceParams", data: BytesLike ): Result; - decodeFunctionResult(functionFragment: "vaultAdd", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "vaultRemove", + functionFragment: "setStrategyApprovalState", data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "vaultUpdate", + functionFragment: "setStrategyParams", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "setTokenAccepted", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "transferOwnership", + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: "updateConfig", + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: "updateFees", data: BytesLike): Result; + decodeFunctionResult( + functionFragment: "updateNetworkConnections", data: BytesLike ): Result; events: { - "AddVault(string,tuple)": EventFragment; + "AccountsContractStorageChanged(string,string)": EventFragment; + "AngelProtocolParamsChanged(tuple)": EventFragment; "DeleteNetworkConnection(uint256)": EventFragment; + "GasFeeUpdated(address,uint256)": EventFragment; + "Initialized(uint8)": EventFragment; + "OwnershipTransferred(address,address)": EventFragment; "PostNetworkConnection(uint256,tuple)": EventFragment; - "RemoveVault(string)": EventFragment; + "RebalanceParamsChanged(tuple)": EventFragment; + "StrategyApprovalChanged(bytes4,uint8)": EventFragment; + "StrategyParamsChanged(bytes4,address,address,uint8)": EventFragment; + "TokenAcceptanceChanged(address,bool)": EventFragment; "UpdateRegistrarConfig(tuple)": EventFragment; "UpdateRegistrarFees(tuple)": EventFragment; - "UpdateRegistrarOwner(address)": EventFragment; - "UpdateVault(string,bool,uint8[])": EventFragment; }; - getEvent(nameOrSignatureOrTopic: "AddVault"): EventFragment; + getEvent( + nameOrSignatureOrTopic: "AccountsContractStorageChanged" + ): EventFragment; + getEvent(nameOrSignatureOrTopic: "AngelProtocolParamsChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "DeleteNetworkConnection"): EventFragment; + getEvent(nameOrSignatureOrTopic: "GasFeeUpdated"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; + getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment; getEvent(nameOrSignatureOrTopic: "PostNetworkConnection"): EventFragment; - getEvent(nameOrSignatureOrTopic: "RemoveVault"): EventFragment; + getEvent(nameOrSignatureOrTopic: "RebalanceParamsChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "StrategyApprovalChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "StrategyParamsChanged"): EventFragment; + getEvent(nameOrSignatureOrTopic: "TokenAcceptanceChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateRegistrarConfig"): EventFragment; getEvent(nameOrSignatureOrTopic: "UpdateRegistrarFees"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateRegistrarOwner"): EventFragment; - getEvent(nameOrSignatureOrTopic: "UpdateVault"): EventFragment; } -export interface AddVaultEventObject { - strategyName: string; - vault: AngelCoreStruct.YieldVaultStructOutput; +export interface AccountsContractStorageChangedEventObject { + chainName: string; + accountsContractAddress: string; } -export type AddVaultEvent = TypedEvent< - [string, AngelCoreStruct.YieldVaultStructOutput], - AddVaultEventObject +export type AccountsContractStorageChangedEvent = TypedEvent< + [string, string], + AccountsContractStorageChangedEventObject >; -export type AddVaultEventFilter = TypedEventFilter; +export type AccountsContractStorageChangedEventFilter = + TypedEventFilter; + +export interface AngelProtocolParamsChangedEventObject { + newAngelProtocolParams: LocalRegistrarLib.AngelProtocolParamsStructOutput; +} +export type AngelProtocolParamsChangedEvent = TypedEvent< + [LocalRegistrarLib.AngelProtocolParamsStructOutput], + AngelProtocolParamsChangedEventObject +>; + +export type AngelProtocolParamsChangedEventFilter = + TypedEventFilter; export interface DeleteNetworkConnectionEventObject { chainId: BigNumber; @@ -618,6 +748,36 @@ export type DeleteNetworkConnectionEvent = TypedEvent< export type DeleteNetworkConnectionEventFilter = TypedEventFilter; +export interface GasFeeUpdatedEventObject { + _tokenAddr: string; + _gasFee: BigNumber; +} +export type GasFeeUpdatedEvent = TypedEvent< + [string, BigNumber], + GasFeeUpdatedEventObject +>; + +export type GasFeeUpdatedEventFilter = TypedEventFilter; + +export interface InitializedEventObject { + version: number; +} +export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; + +export type InitializedEventFilter = TypedEventFilter; + +export interface OwnershipTransferredEventObject { + previousOwner: string; + newOwner: string; +} +export type OwnershipTransferredEvent = TypedEvent< + [string, string], + OwnershipTransferredEventObject +>; + +export type OwnershipTransferredEventFilter = + TypedEventFilter; + export interface PostNetworkConnectionEventObject { chainId: BigNumber; networkInfo: AngelCoreStruct.NetworkInfoStructOutput; @@ -630,12 +790,54 @@ export type PostNetworkConnectionEvent = TypedEvent< export type PostNetworkConnectionEventFilter = TypedEventFilter; -export interface RemoveVaultEventObject { - strategyName: string; +export interface RebalanceParamsChangedEventObject { + newRebalanceParams: LocalRegistrarLib.RebalanceParamsStructOutput; +} +export type RebalanceParamsChangedEvent = TypedEvent< + [LocalRegistrarLib.RebalanceParamsStructOutput], + RebalanceParamsChangedEventObject +>; + +export type RebalanceParamsChangedEventFilter = + TypedEventFilter; + +export interface StrategyApprovalChangedEventObject { + _strategyId: string; + _approvalState: number; +} +export type StrategyApprovalChangedEvent = TypedEvent< + [string, number], + StrategyApprovalChangedEventObject +>; + +export type StrategyApprovalChangedEventFilter = + TypedEventFilter; + +export interface StrategyParamsChangedEventObject { + _strategyId: string; + _lockAddr: string; + _liqAddr: string; + _approvalState: number; } -export type RemoveVaultEvent = TypedEvent<[string], RemoveVaultEventObject>; +export type StrategyParamsChangedEvent = TypedEvent< + [string, string, string, number], + StrategyParamsChangedEventObject +>; + +export type StrategyParamsChangedEventFilter = + TypedEventFilter; + +export interface TokenAcceptanceChangedEventObject { + tokenAddr: string; + isAccepted: boolean; +} +export type TokenAcceptanceChangedEvent = TypedEvent< + [string, boolean], + TokenAcceptanceChangedEventObject +>; -export type RemoveVaultEventFilter = TypedEventFilter; +export type TokenAcceptanceChangedEventFilter = + TypedEventFilter; export interface UpdateRegistrarConfigEventObject { details: RegistrarStorage.ConfigStructOutput; @@ -659,29 +861,6 @@ export type UpdateRegistrarFeesEvent = TypedEvent< export type UpdateRegistrarFeesEventFilter = TypedEventFilter; -export interface UpdateRegistrarOwnerEventObject { - newOwner: string; -} -export type UpdateRegistrarOwnerEvent = TypedEvent< - [string], - UpdateRegistrarOwnerEventObject ->; - -export type UpdateRegistrarOwnerEventFilter = - TypedEventFilter; - -export interface UpdateVaultEventObject { - strategyName: string; - approved: boolean; - endowmentTypes: number[]; -} -export type UpdateVaultEvent = TypedEvent< - [string, boolean, number[]], - UpdateVaultEventObject ->; - -export type UpdateVaultEventFilter = TypedEventFilter; - export interface Registrar extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -709,11 +888,58 @@ export interface Registrar extends BaseContract { removeListener: OnEvent; functions: { - initialize( - curDetails: RegistrarMessages.InstantiateRequestStruct, + getAPGoldfinchParams( + overrides?: CallOverrides + ): Promise<[APGoldfinchConfigLib.APGoldfinchConfigStructOutput]>; + + getAccountsContractAddressByChain( + _targetChain: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[string]>; + + getAngelProtocolParams( + overrides?: CallOverrides + ): Promise<[LocalRegistrarLib.AngelProtocolParamsStructOutput]>; + + getGasByToken( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[BigNumber]>; + + getRebalanceParams( + overrides?: CallOverrides + ): Promise<[LocalRegistrarLib.RebalanceParamsStructOutput]>; + + getStrategyApprovalState( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[number]>; + + getStrategyParamsById( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[LocalRegistrarLib.StrategyParamsStructOutput]>; + + "initialize((address,(uint256,uint256,uint256),address,address,address))"( + details: RegistrarMessages.InstantiateRequestStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + "initialize()"( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + isTokenAccepted( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise<[boolean]>; + + owner(overrides?: CallOverrides): Promise<[string]>; + + queryAllStrategies( + overrides?: CallOverrides + ): Promise<[string[]] & { allStrategies: string[] }>; + queryConfig( overrides?: CallOverrides ): Promise<[RegistrarStorage.ConfigStructOutput]>; @@ -732,81 +958,129 @@ export interface Registrar extends BaseContract { } >; - queryVaultDetails( - _stratagyName: PromiseOrValue, - overrides?: CallOverrides - ): Promise< - [AngelCoreStruct.YieldVaultStructOutput] & { - response: AngelCoreStruct.YieldVaultStructOutput; - } - >; + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; - queryVaultList( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[AngelCoreStruct.YieldVaultStructOutput[]]>; - - queryVaultListDep( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[AngelCoreStruct.YieldVaultStructOutput[]]>; + setAPGoldfinchParams( + _apGoldfinch: APGoldfinchConfigLib.APGoldfinchConfigStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; - updateConfig( - curDetails: RegistrarMessages.UpdateConfigRequestStruct, + setAccountsContractAddressByChain( + _chainName: PromiseOrValue, + _accountsContractAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateFees( - curDetails: RegistrarMessages.UpdateFeeRequestStruct, + setAngelProtocolParams( + _angelProtocolParams: LocalRegistrarLib.AngelProtocolParamsStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateNetworkConnections( - networkInfo: AngelCoreStruct.NetworkInfoStruct, - action: PromiseOrValue, + setGasByToken( + _tokenAddr: PromiseOrValue, + _gasFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRebalanceParams( + _rebalanceParams: LocalRegistrarLib.RebalanceParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setStrategyApprovalState( + _strategyId: PromiseOrValue, + _approvalState: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateOwner( + setStrategyParams( + _strategyId: PromiseOrValue, + _lockAddr: PromiseOrValue, + _liqAddr: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setTokenAccepted( + _tokenAddr: PromiseOrValue, + _isAccepted: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - vaultAdd( - curDetails: RegistrarMessages.VaultAddRequestStruct, + updateConfig( + details: RegistrarMessages.UpdateConfigRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - vaultRemove( - _stratagyName: PromiseOrValue, + updateFees( + details: RegistrarMessages.UpdateFeeRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - vaultUpdate( - _stratagyName: PromiseOrValue, - curApproved: PromiseOrValue, - curRestrictedfrom: PromiseOrValue[], + updateNetworkConnections( + networkInfo: AngelCoreStruct.NetworkInfoStruct, + action: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; - initialize( - curDetails: RegistrarMessages.InstantiateRequestStruct, + getAPGoldfinchParams( + overrides?: CallOverrides + ): Promise; + + getAccountsContractAddressByChain( + _targetChain: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAngelProtocolParams( + overrides?: CallOverrides + ): Promise; + + getGasByToken( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getRebalanceParams( + overrides?: CallOverrides + ): Promise; + + getStrategyApprovalState( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getStrategyParamsById( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + "initialize((address,(uint256,uint256,uint256),address,address,address))"( + details: RegistrarMessages.InstantiateRequestStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + "initialize()"( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + isTokenAccepted( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + queryAllStrategies(overrides?: CallOverrides): Promise; + queryConfig( overrides?: CallOverrides ): Promise; @@ -821,77 +1095,127 @@ export interface Registrar extends BaseContract { overrides?: CallOverrides ): Promise; - queryVaultDetails( - _stratagyName: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultList( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - queryVaultListDep( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides - ): Promise; + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; - updateConfig( - curDetails: RegistrarMessages.UpdateConfigRequestStruct, + setAPGoldfinchParams( + _apGoldfinch: APGoldfinchConfigLib.APGoldfinchConfigStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateFees( - curDetails: RegistrarMessages.UpdateFeeRequestStruct, + setAccountsContractAddressByChain( + _chainName: PromiseOrValue, + _accountsContractAddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateNetworkConnections( - networkInfo: AngelCoreStruct.NetworkInfoStruct, - action: PromiseOrValue, + setAngelProtocolParams( + _angelProtocolParams: LocalRegistrarLib.AngelProtocolParamsStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateOwner( + setGasByToken( + _tokenAddr: PromiseOrValue, + _gasFee: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setRebalanceParams( + _rebalanceParams: LocalRegistrarLib.RebalanceParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setStrategyApprovalState( + _strategyId: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setStrategyParams( + _strategyId: PromiseOrValue, + _lockAddr: PromiseOrValue, + _liqAddr: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setTokenAccepted( + _tokenAddr: PromiseOrValue, + _isAccepted: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - vaultAdd( - curDetails: RegistrarMessages.VaultAddRequestStruct, + updateConfig( + details: RegistrarMessages.UpdateConfigRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - vaultRemove( - _stratagyName: PromiseOrValue, + updateFees( + details: RegistrarMessages.UpdateFeeRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - vaultUpdate( - _stratagyName: PromiseOrValue, - curApproved: PromiseOrValue, - curRestrictedfrom: PromiseOrValue[], + updateNetworkConnections( + networkInfo: AngelCoreStruct.NetworkInfoStruct, + action: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { - initialize( - curDetails: RegistrarMessages.InstantiateRequestStruct, + getAPGoldfinchParams( + overrides?: CallOverrides + ): Promise; + + getAccountsContractAddressByChain( + _targetChain: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAngelProtocolParams( + overrides?: CallOverrides + ): Promise; + + getGasByToken( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getRebalanceParams( + overrides?: CallOverrides + ): Promise; + + getStrategyApprovalState( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getStrategyParamsById( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + "initialize((address,(uint256,uint256,uint256),address,address,address))"( + details: RegistrarMessages.InstantiateRequestStruct, overrides?: CallOverrides ): Promise; + "initialize()"(overrides?: CallOverrides): Promise; + + isTokenAccepted( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + queryAllStrategies(overrides?: CallOverrides): Promise; + queryConfig( overrides?: CallOverrides ): Promise; @@ -906,84 +1230,120 @@ export interface Registrar extends BaseContract { overrides?: CallOverrides ): Promise; - queryVaultDetails( - _stratagyName: PromiseOrValue, + renounceOwnership(overrides?: CallOverrides): Promise; + + setAPGoldfinchParams( + _apGoldfinch: APGoldfinchConfigLib.APGoldfinchConfigStruct, overrides?: CallOverrides - ): Promise; - - queryVaultList( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, + ): Promise; + + setAccountsContractAddressByChain( + _chainName: PromiseOrValue, + _accountsContractAddress: PromiseOrValue, overrides?: CallOverrides - ): Promise; - - queryVaultListDep( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, + ): Promise; + + setAngelProtocolParams( + _angelProtocolParams: LocalRegistrarLib.AngelProtocolParamsStruct, overrides?: CallOverrides - ): Promise; + ): Promise; - updateConfig( - curDetails: RegistrarMessages.UpdateConfigRequestStruct, + setGasByToken( + _tokenAddr: PromiseOrValue, + _gasFee: PromiseOrValue, overrides?: CallOverrides ): Promise; - updateFees( - curDetails: RegistrarMessages.UpdateFeeRequestStruct, + setRebalanceParams( + _rebalanceParams: LocalRegistrarLib.RebalanceParamsStruct, overrides?: CallOverrides ): Promise; - updateNetworkConnections( - networkInfo: AngelCoreStruct.NetworkInfoStruct, - action: PromiseOrValue, + setStrategyApprovalState( + _strategyId: PromiseOrValue, + _approvalState: PromiseOrValue, overrides?: CallOverrides ): Promise; - updateOwner( + setStrategyParams( + _strategyId: PromiseOrValue, + _lockAddr: PromiseOrValue, + _liqAddr: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + setTokenAccepted( + _tokenAddr: PromiseOrValue, + _isAccepted: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + transferOwnership( newOwner: PromiseOrValue, overrides?: CallOverrides ): Promise; - vaultAdd( - curDetails: RegistrarMessages.VaultAddRequestStruct, + updateConfig( + details: RegistrarMessages.UpdateConfigRequestStruct, overrides?: CallOverrides ): Promise; - vaultRemove( - _stratagyName: PromiseOrValue, + updateFees( + details: RegistrarMessages.UpdateFeeRequestStruct, overrides?: CallOverrides ): Promise; - vaultUpdate( - _stratagyName: PromiseOrValue, - curApproved: PromiseOrValue, - curRestrictedfrom: PromiseOrValue[], + updateNetworkConnections( + networkInfo: AngelCoreStruct.NetworkInfoStruct, + action: PromiseOrValue, overrides?: CallOverrides ): Promise; }; filters: { - "AddVault(string,tuple)"( - strategyName?: null, - vault?: null - ): AddVaultEventFilter; - AddVault(strategyName?: null, vault?: null): AddVaultEventFilter; + "AccountsContractStorageChanged(string,string)"( + chainName?: PromiseOrValue | null, + accountsContractAddress?: PromiseOrValue | null + ): AccountsContractStorageChangedEventFilter; + AccountsContractStorageChanged( + chainName?: PromiseOrValue | null, + accountsContractAddress?: PromiseOrValue | null + ): AccountsContractStorageChangedEventFilter; + + "AngelProtocolParamsChanged(tuple)"( + newAngelProtocolParams?: null + ): AngelProtocolParamsChangedEventFilter; + AngelProtocolParamsChanged( + newAngelProtocolParams?: null + ): AngelProtocolParamsChangedEventFilter; "DeleteNetworkConnection(uint256)"( chainId?: null ): DeleteNetworkConnectionEventFilter; DeleteNetworkConnection(chainId?: null): DeleteNetworkConnectionEventFilter; + "GasFeeUpdated(address,uint256)"( + _tokenAddr?: PromiseOrValue | null, + _gasFee?: null + ): GasFeeUpdatedEventFilter; + GasFeeUpdated( + _tokenAddr?: PromiseOrValue | null, + _gasFee?: null + ): GasFeeUpdatedEventFilter; + + "Initialized(uint8)"(version?: null): InitializedEventFilter; + Initialized(version?: null): InitializedEventFilter; + + "OwnershipTransferred(address,address)"( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + OwnershipTransferred( + previousOwner?: PromiseOrValue | null, + newOwner?: PromiseOrValue | null + ): OwnershipTransferredEventFilter; + "PostNetworkConnection(uint256,tuple)"( chainId?: null, networkInfo?: null @@ -993,8 +1353,43 @@ export interface Registrar extends BaseContract { networkInfo?: null ): PostNetworkConnectionEventFilter; - "RemoveVault(string)"(strategyName?: null): RemoveVaultEventFilter; - RemoveVault(strategyName?: null): RemoveVaultEventFilter; + "RebalanceParamsChanged(tuple)"( + newRebalanceParams?: null + ): RebalanceParamsChangedEventFilter; + RebalanceParamsChanged( + newRebalanceParams?: null + ): RebalanceParamsChangedEventFilter; + + "StrategyApprovalChanged(bytes4,uint8)"( + _strategyId?: PromiseOrValue | null, + _approvalState?: null + ): StrategyApprovalChangedEventFilter; + StrategyApprovalChanged( + _strategyId?: PromiseOrValue | null, + _approvalState?: null + ): StrategyApprovalChangedEventFilter; + + "StrategyParamsChanged(bytes4,address,address,uint8)"( + _strategyId?: PromiseOrValue | null, + _lockAddr?: PromiseOrValue | null, + _liqAddr?: PromiseOrValue | null, + _approvalState?: null + ): StrategyParamsChangedEventFilter; + StrategyParamsChanged( + _strategyId?: PromiseOrValue | null, + _lockAddr?: PromiseOrValue | null, + _liqAddr?: PromiseOrValue | null, + _approvalState?: null + ): StrategyParamsChangedEventFilter; + + "TokenAcceptanceChanged(address,bool)"( + tokenAddr?: PromiseOrValue | null, + isAccepted?: null + ): TokenAcceptanceChangedEventFilter; + TokenAcceptanceChanged( + tokenAddr?: PromiseOrValue | null, + isAccepted?: null + ): TokenAcceptanceChangedEventFilter; "UpdateRegistrarConfig(tuple)"( details?: null @@ -1005,30 +1400,53 @@ export interface Registrar extends BaseContract { details?: null ): UpdateRegistrarFeesEventFilter; UpdateRegistrarFees(details?: null): UpdateRegistrarFeesEventFilter; - - "UpdateRegistrarOwner(address)"( - newOwner?: null - ): UpdateRegistrarOwnerEventFilter; - UpdateRegistrarOwner(newOwner?: null): UpdateRegistrarOwnerEventFilter; - - "UpdateVault(string,bool,uint8[])"( - strategyName?: null, - approved?: null, - endowmentTypes?: null - ): UpdateVaultEventFilter; - UpdateVault( - strategyName?: null, - approved?: null, - endowmentTypes?: null - ): UpdateVaultEventFilter; }; estimateGas: { - initialize( - curDetails: RegistrarMessages.InstantiateRequestStruct, + getAPGoldfinchParams(overrides?: CallOverrides): Promise; + + getAccountsContractAddressByChain( + _targetChain: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAngelProtocolParams(overrides?: CallOverrides): Promise; + + getGasByToken( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getRebalanceParams(overrides?: CallOverrides): Promise; + + getStrategyApprovalState( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getStrategyParamsById( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + "initialize((address,(uint256,uint256,uint256),address,address,address))"( + details: RegistrarMessages.InstantiateRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + "initialize()"( + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + isTokenAccepted( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + queryAllStrategies(overrides?: CallOverrides): Promise; + queryConfig(overrides?: CallOverrides): Promise; queryFee( @@ -1041,78 +1459,132 @@ export interface Registrar extends BaseContract { overrides?: CallOverrides ): Promise; - queryVaultDetails( - _stratagyName: PromiseOrValue, - overrides?: CallOverrides + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - queryVaultList( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides + setAPGoldfinchParams( + _apGoldfinch: APGoldfinchConfigLib.APGoldfinchConfigStruct, + overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - queryVaultListDep( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides + setAccountsContractAddressByChain( + _chainName: PromiseOrValue, + _accountsContractAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateConfig( - curDetails: RegistrarMessages.UpdateConfigRequestStruct, + setAngelProtocolParams( + _angelProtocolParams: LocalRegistrarLib.AngelProtocolParamsStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateFees( - curDetails: RegistrarMessages.UpdateFeeRequestStruct, + setGasByToken( + _tokenAddr: PromiseOrValue, + _gasFee: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateNetworkConnections( - networkInfo: AngelCoreStruct.NetworkInfoStruct, - action: PromiseOrValue, + setRebalanceParams( + _rebalanceParams: LocalRegistrarLib.RebalanceParamsStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setStrategyApprovalState( + _strategyId: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setStrategyParams( + _strategyId: PromiseOrValue, + _lockAddr: PromiseOrValue, + _liqAddr: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setTokenAccepted( + _tokenAddr: PromiseOrValue, + _isAccepted: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateOwner( + transferOwnership( newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - vaultAdd( - curDetails: RegistrarMessages.VaultAddRequestStruct, + updateConfig( + details: RegistrarMessages.UpdateConfigRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - vaultRemove( - _stratagyName: PromiseOrValue, + updateFees( + details: RegistrarMessages.UpdateFeeRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - vaultUpdate( - _stratagyName: PromiseOrValue, - curApproved: PromiseOrValue, - curRestrictedfrom: PromiseOrValue[], + updateNetworkConnections( + networkInfo: AngelCoreStruct.NetworkInfoStruct, + action: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { - initialize( - curDetails: RegistrarMessages.InstantiateRequestStruct, + getAPGoldfinchParams( + overrides?: CallOverrides + ): Promise; + + getAccountsContractAddressByChain( + _targetChain: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getAngelProtocolParams( + overrides?: CallOverrides + ): Promise; + + getGasByToken( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getRebalanceParams( + overrides?: CallOverrides + ): Promise; + + getStrategyApprovalState( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + getStrategyParamsById( + _strategyId: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + "initialize((address,(uint256,uint256,uint256),address,address,address))"( + details: RegistrarMessages.InstantiateRequestStruct, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + "initialize()"( overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + isTokenAccepted( + _tokenAddr: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + queryAllStrategies( + overrides?: CallOverrides + ): Promise; + queryConfig(overrides?: CallOverrides): Promise; queryFee( @@ -1125,68 +1597,75 @@ export interface Registrar extends BaseContract { overrides?: CallOverrides ): Promise; - queryVaultDetails( - _stratagyName: PromiseOrValue, - overrides?: CallOverrides + renounceOwnership( + overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - queryVaultList( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides + setAPGoldfinchParams( + _apGoldfinch: APGoldfinchConfigLib.APGoldfinchConfigStruct, + overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - queryVaultListDep( - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - startAfter: PromiseOrValue, - limit: PromiseOrValue, - overrides?: CallOverrides + setAccountsContractAddressByChain( + _chainName: PromiseOrValue, + _accountsContractAddress: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateConfig( - curDetails: RegistrarMessages.UpdateConfigRequestStruct, + setAngelProtocolParams( + _angelProtocolParams: LocalRegistrarLib.AngelProtocolParamsStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateFees( - curDetails: RegistrarMessages.UpdateFeeRequestStruct, + setGasByToken( + _tokenAddr: PromiseOrValue, + _gasFee: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateNetworkConnections( - networkInfo: AngelCoreStruct.NetworkInfoStruct, - action: PromiseOrValue, + setRebalanceParams( + _rebalanceParams: LocalRegistrarLib.RebalanceParamsStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - updateOwner( + setStrategyApprovalState( + _strategyId: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setStrategyParams( + _strategyId: PromiseOrValue, + _lockAddr: PromiseOrValue, + _liqAddr: PromiseOrValue, + _approvalState: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + setTokenAccepted( + _tokenAddr: PromiseOrValue, + _isAccepted: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + + transferOwnership( newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - vaultAdd( - curDetails: RegistrarMessages.VaultAddRequestStruct, + updateConfig( + details: RegistrarMessages.UpdateConfigRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - vaultRemove( - _stratagyName: PromiseOrValue, + updateFees( + details: RegistrarMessages.UpdateFeeRequestStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - vaultUpdate( - _stratagyName: PromiseOrValue, - curApproved: PromiseOrValue, - curRestrictedfrom: PromiseOrValue[], + updateNetworkConnections( + networkInfo: AngelCoreStruct.NetworkInfoStruct, + action: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/registrar/registrar.sol/RegistrarLib.ts b/typechain-types/contracts/core/registrar/registrar.sol/RegistrarLib.ts deleted file mode 100644 index bdbb0905b..000000000 --- a/typechain-types/contracts/core/registrar/registrar.sol/RegistrarLib.ts +++ /dev/null @@ -1,169 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import type { FunctionFragment, Result } from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; -import type { - TypedEventFilter, - TypedEvent, - TypedListener, - OnEvent, - PromiseOrValue, -} from "../../../../common"; - -export declare namespace AngelCoreStruct { - export type YieldVaultStruct = { - addr: PromiseOrValue; - network: PromiseOrValue; - inputDenom: PromiseOrValue; - yieldToken: PromiseOrValue; - approved: PromiseOrValue; - restrictedFrom: PromiseOrValue[]; - acctType: PromiseOrValue; - vaultType: PromiseOrValue; - }; - - export type YieldVaultStructOutput = [ - string, - BigNumber, - string, - string, - boolean, - number[], - number, - number - ] & { - addr: string; - network: BigNumber; - inputDenom: string; - yieldToken: string; - approved: boolean; - restrictedFrom: number[]; - acctType: number; - vaultType: number; - }; -} - -export interface RegistrarLibInterface extends utils.Interface { - functions: { - "filterVault((string,uint256,address,address,bool,AngelCoreStruct.EndowmentType[],uint8,uint8),uint256,uint8,uint8,uint8,uint8)": FunctionFragment; - }; - - getFunction(nameOrSignatureOrTopic: "filterVault"): FunctionFragment; - - encodeFunctionData( - functionFragment: "filterVault", - values: [ - AngelCoreStruct.YieldVaultStruct, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - - decodeFunctionResult( - functionFragment: "filterVault", - data: BytesLike - ): Result; - - events: {}; -} - -export interface RegistrarLib extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: RegistrarLibInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - filterVault( - data: AngelCoreStruct.YieldVaultStruct, - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[boolean]>; - }; - - filterVault( - data: AngelCoreStruct.YieldVaultStruct, - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - callStatic: { - filterVault( - data: AngelCoreStruct.YieldVaultStruct, - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - }; - - filters: {}; - - estimateGas: { - filterVault( - data: AngelCoreStruct.YieldVaultStruct, - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - }; - - populateTransaction: { - filterVault( - data: AngelCoreStruct.YieldVaultStruct, - network: PromiseOrValue, - endowmentType: PromiseOrValue, - accountType: PromiseOrValue, - vaultType: PromiseOrValue, - approved: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - }; -} diff --git a/typechain-types/contracts/core/registrar/registrar.sol/index.ts b/typechain-types/contracts/core/registrar/registrar.sol/index.ts index a51d99357..24353109c 100644 --- a/typechain-types/contracts/core/registrar/registrar.sol/index.ts +++ b/typechain-types/contracts/core/registrar/registrar.sol/index.ts @@ -2,4 +2,3 @@ /* tslint:disable */ /* eslint-disable */ export type { Registrar } from "./Registrar"; -export type { RegistrarLib } from "./RegistrarLib"; diff --git a/typechain-types/contracts/core/router/IRouter.ts b/typechain-types/contracts/core/router/IRouter.ts index 48703a27f..c705ff64e 100644 --- a/typechain-types/contracts/core/router/IRouter.ts +++ b/typechain-types/contracts/core/router/IRouter.ts @@ -36,6 +36,7 @@ export declare namespace IRouter { token: PromiseOrValue; lockAmt: PromiseOrValue; liqAmt: PromiseOrValue; + status: PromiseOrValue; }; export type VaultActionDataStructOutput = [ @@ -45,7 +46,8 @@ export declare namespace IRouter { number[], string, BigNumber, - BigNumber + BigNumber, + number ] & { destinationChain: string; strategyId: string; @@ -54,6 +56,7 @@ export declare namespace IRouter { token: string; lockAmt: BigNumber; liqAmt: BigNumber; + status: number; }; } diff --git a/typechain-types/contracts/core/router/Router.ts b/typechain-types/contracts/core/router/Router.ts index 3f4d185e1..52987512d 100644 --- a/typechain-types/contracts/core/router/Router.ts +++ b/typechain-types/contracts/core/router/Router.ts @@ -36,6 +36,7 @@ export declare namespace IRouter { token: PromiseOrValue; lockAmt: PromiseOrValue; liqAmt: PromiseOrValue; + status: PromiseOrValue; }; export type VaultActionDataStructOutput = [ @@ -45,7 +46,8 @@ export declare namespace IRouter { number[], string, BigNumber, - BigNumber + BigNumber, + number ] & { destinationChain: string; strategyId: string; @@ -54,13 +56,14 @@ export declare namespace IRouter { token: string; lockAmt: BigNumber; liqAmt: BigNumber; + status: number; }; } export interface RouterInterface extends utils.Interface { functions: { "chain()": FunctionFragment; - "deposit((string,bytes4,bytes4,uint32[],address,uint256,uint256),string,uint256)": FunctionFragment; + "deposit((string,bytes4,bytes4,uint32[],address,uint256,uint256,uint8),string,uint256)": FunctionFragment; "execute(bytes32,string,string,bytes)": FunctionFragment; "executeLocal(string,string,bytes)": FunctionFragment; "executeWithToken(bytes32,string,string,bytes,string,uint256)": FunctionFragment; diff --git a/typechain-types/contracts/core/struct.sol/AngelCoreStruct.ts b/typechain-types/contracts/core/struct.sol/AngelCoreStruct.ts index 610064091..c9710ac47 100644 --- a/typechain-types/contracts/core/struct.sol/AngelCoreStruct.ts +++ b/typechain-types/contracts/core/struct.sol/AngelCoreStruct.ts @@ -41,29 +41,15 @@ export declare namespace AngelCoreStruct { liquidPercentage: BigNumber[]; }; - export type GenericBalanceStruct = { - coinNativeAmount: PromiseOrValue; - Cw20CoinVerified_amount: PromiseOrValue[]; - Cw20CoinVerified_addr: PromiseOrValue[]; - }; - - export type GenericBalanceStructOutput = [ - BigNumber, - BigNumber[], - string[] - ] & { - coinNativeAmount: BigNumber; - Cw20CoinVerified_amount: BigNumber[]; - Cw20CoinVerified_addr: string[]; - }; - export type BeneficiaryDataStruct = { - id: PromiseOrValue; + endowId: PromiseOrValue; + fundId: PromiseOrValue; addr: PromiseOrValue; }; - export type BeneficiaryDataStructOutput = [BigNumber, string] & { - id: BigNumber; + export type BeneficiaryDataStructOutput = [number, BigNumber, string] & { + endowId: number; + fundId: BigNumber; addr: string; }; @@ -117,74 +103,34 @@ export declare namespace AngelCoreStruct { liquid: string[]; liquidAmount: BigNumber[]; }; - - export type RebalanceDetailsStruct = { - rebalanceLiquidInvestedProfits: PromiseOrValue; - lockedInterestsToLiquid: PromiseOrValue; - interest_distribution: PromiseOrValue; - lockedPrincipleToLiquid: PromiseOrValue; - principle_distribution: PromiseOrValue; - }; - - export type RebalanceDetailsStructOutput = [ - boolean, - boolean, - BigNumber, - boolean, - BigNumber - ] & { - rebalanceLiquidInvestedProfits: boolean; - lockedInterestsToLiquid: boolean; - interest_distribution: BigNumber; - lockedPrincipleToLiquid: boolean; - principle_distribution: BigNumber; - }; } export interface AngelCoreStructInterface extends utils.Interface { functions: { "accountStrategiesDefaut()": FunctionFragment; - "addTokenMem((uint256,uint256[],address[]),address,uint256)": FunctionFragment; "beneficiaryDefault()": FunctionFragment; "checkSplits((uint256,uint256,uint256),uint256,uint256,bool)": FunctionFragment; - "cw20Valid(address[],address)": FunctionFragment; - "deductTokens(address[],uint256[],address,uint256)": FunctionFragment; + "deductTokens(uint256,uint256)": FunctionFragment; "donationsReceivedDefault()": FunctionFragment; - "genericBalanceDefault()": FunctionFragment; "getTokenAmount(address[],uint256[],address)": FunctionFragment; "oneOffVaultsDefault()": FunctionFragment; - "rebalanceDetailsDefaut()": FunctionFragment; - "subTokenMem((uint256,uint256[],address[]),address,uint256)": FunctionFragment; }; getFunction( nameOrSignatureOrTopic: | "accountStrategiesDefaut" - | "addTokenMem" | "beneficiaryDefault" | "checkSplits" - | "cw20Valid" | "deductTokens" | "donationsReceivedDefault" - | "genericBalanceDefault" | "getTokenAmount" | "oneOffVaultsDefault" - | "rebalanceDetailsDefaut" - | "subTokenMem" ): FunctionFragment; encodeFunctionData( functionFragment: "accountStrategiesDefaut", values?: undefined ): string; - encodeFunctionData( - functionFragment: "addTokenMem", - values: [ - AngelCoreStruct.GenericBalanceStruct, - PromiseOrValue, - PromiseOrValue - ] - ): string; encodeFunctionData( functionFragment: "beneficiaryDefault", values?: undefined @@ -198,27 +144,14 @@ export interface AngelCoreStructInterface extends utils.Interface { PromiseOrValue ] ): string; - encodeFunctionData( - functionFragment: "cw20Valid", - values: [PromiseOrValue[], PromiseOrValue] - ): string; encodeFunctionData( functionFragment: "deductTokens", - values: [ - PromiseOrValue[], - PromiseOrValue[], - PromiseOrValue, - PromiseOrValue - ] + values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "donationsReceivedDefault", values?: undefined ): string; - encodeFunctionData( - functionFragment: "genericBalanceDefault", - values?: undefined - ): string; encodeFunctionData( functionFragment: "getTokenAmount", values: [ @@ -231,27 +164,11 @@ export interface AngelCoreStructInterface extends utils.Interface { functionFragment: "oneOffVaultsDefault", values?: undefined ): string; - encodeFunctionData( - functionFragment: "rebalanceDetailsDefaut", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "subTokenMem", - values: [ - AngelCoreStruct.GenericBalanceStruct, - PromiseOrValue, - PromiseOrValue - ] - ): string; decodeFunctionResult( functionFragment: "accountStrategiesDefaut", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "addTokenMem", - data: BytesLike - ): Result; decodeFunctionResult( functionFragment: "beneficiaryDefault", data: BytesLike @@ -260,7 +177,6 @@ export interface AngelCoreStructInterface extends utils.Interface { functionFragment: "checkSplits", data: BytesLike ): Result; - decodeFunctionResult(functionFragment: "cw20Valid", data: BytesLike): Result; decodeFunctionResult( functionFragment: "deductTokens", data: BytesLike @@ -269,10 +185,6 @@ export interface AngelCoreStructInterface extends utils.Interface { functionFragment: "donationsReceivedDefault", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "genericBalanceDefault", - data: BytesLike - ): Result; decodeFunctionResult( functionFragment: "getTokenAmount", data: BytesLike @@ -281,14 +193,6 @@ export interface AngelCoreStructInterface extends utils.Interface { functionFragment: "oneOffVaultsDefault", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "rebalanceDetailsDefaut", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "subTokenMem", - data: BytesLike - ): Result; events: {}; } @@ -324,119 +228,70 @@ export interface AngelCoreStruct extends BaseContract { overrides?: CallOverrides ): Promise<[AngelCoreStruct.AccountStrategiesStructOutput]>; - addTokenMem( - curTemp: AngelCoreStruct.GenericBalanceStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[AngelCoreStruct.GenericBalanceStructOutput]>; - beneficiaryDefault( overrides?: CallOverrides ): Promise<[AngelCoreStruct.BeneficiaryStructOutput]>; checkSplits( - registrarSplits: AngelCoreStruct.SplitDetailsStruct, + splits: AngelCoreStruct.SplitDetailsStruct, userLocked: PromiseOrValue, userLiquid: PromiseOrValue, userOverride: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber]>; - cw20Valid( - cw20: PromiseOrValue[], - token: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[boolean]>; - deductTokens( - curAddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - curDeducttokenfor: PromiseOrValue, - curDeductamount: PromiseOrValue, + amount: PromiseOrValue, + deductamount: PromiseOrValue, overrides?: CallOverrides - ): Promise<[BigNumber[]]>; + ): Promise<[BigNumber]>; donationsReceivedDefault( overrides?: CallOverrides ): Promise<[AngelCoreStruct.DonationsReceivedStructOutput]>; - genericBalanceDefault( - overrides?: CallOverrides - ): Promise<[AngelCoreStruct.GenericBalanceStructOutput]>; - getTokenAmount( - curAddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - curTokenaddress: PromiseOrValue, + addresses: PromiseOrValue[], + amounts: PromiseOrValue[], + token: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; oneOffVaultsDefault( overrides?: CallOverrides ): Promise<[AngelCoreStruct.OneOffVaultsStructOutput]>; - - rebalanceDetailsDefaut( - overrides?: CallOverrides - ): Promise<[AngelCoreStruct.RebalanceDetailsStructOutput]>; - - subTokenMem( - curTemp: AngelCoreStruct.GenericBalanceStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[AngelCoreStruct.GenericBalanceStructOutput]>; }; accountStrategiesDefaut( overrides?: CallOverrides ): Promise; - addTokenMem( - curTemp: AngelCoreStruct.GenericBalanceStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - beneficiaryDefault( overrides?: CallOverrides ): Promise; checkSplits( - registrarSplits: AngelCoreStruct.SplitDetailsStruct, + splits: AngelCoreStruct.SplitDetailsStruct, userLocked: PromiseOrValue, userLiquid: PromiseOrValue, userOverride: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber]>; - cw20Valid( - cw20: PromiseOrValue[], - token: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - deductTokens( - curAddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - curDeducttokenfor: PromiseOrValue, - curDeductamount: PromiseOrValue, + amount: PromiseOrValue, + deductamount: PromiseOrValue, overrides?: CallOverrides - ): Promise; + ): Promise; donationsReceivedDefault( overrides?: CallOverrides ): Promise; - genericBalanceDefault( - overrides?: CallOverrides - ): Promise; - getTokenAmount( - curAddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - curTokenaddress: PromiseOrValue, + addresses: PromiseOrValue[], + amounts: PromiseOrValue[], + token: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -444,84 +299,43 @@ export interface AngelCoreStruct extends BaseContract { overrides?: CallOverrides ): Promise; - rebalanceDetailsDefaut( - overrides?: CallOverrides - ): Promise; - - subTokenMem( - curTemp: AngelCoreStruct.GenericBalanceStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - callStatic: { accountStrategiesDefaut( overrides?: CallOverrides ): Promise; - addTokenMem( - curTemp: AngelCoreStruct.GenericBalanceStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - beneficiaryDefault( overrides?: CallOverrides ): Promise; checkSplits( - registrarSplits: AngelCoreStruct.SplitDetailsStruct, + splits: AngelCoreStruct.SplitDetailsStruct, userLocked: PromiseOrValue, userLiquid: PromiseOrValue, userOverride: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber]>; - cw20Valid( - cw20: PromiseOrValue[], - token: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - deductTokens( - curAddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - curDeducttokenfor: PromiseOrValue, - curDeductamount: PromiseOrValue, + amount: PromiseOrValue, + deductamount: PromiseOrValue, overrides?: CallOverrides - ): Promise; + ): Promise; donationsReceivedDefault( overrides?: CallOverrides ): Promise; - genericBalanceDefault( - overrides?: CallOverrides - ): Promise; - getTokenAmount( - curAddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - curTokenaddress: PromiseOrValue, + addresses: PromiseOrValue[], + amounts: PromiseOrValue[], + token: PromiseOrValue, overrides?: CallOverrides ): Promise; oneOffVaultsDefault( overrides?: CallOverrides ): Promise; - - rebalanceDetailsDefaut( - overrides?: CallOverrides - ): Promise; - - subTokenMem( - curTemp: AngelCoreStruct.GenericBalanceStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: CallOverrides - ): Promise; }; filters: {}; @@ -529,58 +343,32 @@ export interface AngelCoreStruct extends BaseContract { estimateGas: { accountStrategiesDefaut(overrides?: CallOverrides): Promise; - addTokenMem( - curTemp: AngelCoreStruct.GenericBalanceStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - beneficiaryDefault(overrides?: CallOverrides): Promise; checkSplits( - registrarSplits: AngelCoreStruct.SplitDetailsStruct, + splits: AngelCoreStruct.SplitDetailsStruct, userLocked: PromiseOrValue, userLiquid: PromiseOrValue, userOverride: PromiseOrValue, overrides?: CallOverrides ): Promise; - cw20Valid( - cw20: PromiseOrValue[], - token: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - deductTokens( - curAddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - curDeducttokenfor: PromiseOrValue, - curDeductamount: PromiseOrValue, + amount: PromiseOrValue, + deductamount: PromiseOrValue, overrides?: CallOverrides ): Promise; donationsReceivedDefault(overrides?: CallOverrides): Promise; - genericBalanceDefault(overrides?: CallOverrides): Promise; - getTokenAmount( - curAddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - curTokenaddress: PromiseOrValue, + addresses: PromiseOrValue[], + amounts: PromiseOrValue[], + token: PromiseOrValue, overrides?: CallOverrides ): Promise; oneOffVaultsDefault(overrides?: CallOverrides): Promise; - - rebalanceDetailsDefaut(overrides?: CallOverrides): Promise; - - subTokenMem( - curTemp: AngelCoreStruct.GenericBalanceStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: CallOverrides - ): Promise; }; populateTransaction: { @@ -588,36 +376,21 @@ export interface AngelCoreStruct extends BaseContract { overrides?: CallOverrides ): Promise; - addTokenMem( - curTemp: AngelCoreStruct.GenericBalanceStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - beneficiaryDefault( overrides?: CallOverrides ): Promise; checkSplits( - registrarSplits: AngelCoreStruct.SplitDetailsStruct, + splits: AngelCoreStruct.SplitDetailsStruct, userLocked: PromiseOrValue, userLiquid: PromiseOrValue, userOverride: PromiseOrValue, overrides?: CallOverrides ): Promise; - cw20Valid( - cw20: PromiseOrValue[], - token: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - deductTokens( - curAddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - curDeducttokenfor: PromiseOrValue, - curDeductamount: PromiseOrValue, + amount: PromiseOrValue, + deductamount: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -625,30 +398,15 @@ export interface AngelCoreStruct extends BaseContract { overrides?: CallOverrides ): Promise; - genericBalanceDefault( - overrides?: CallOverrides - ): Promise; - getTokenAmount( - curAddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - curTokenaddress: PromiseOrValue, + addresses: PromiseOrValue[], + amounts: PromiseOrValue[], + token: PromiseOrValue, overrides?: CallOverrides ): Promise; oneOffVaultsDefault( overrides?: CallOverrides ): Promise; - - rebalanceDetailsDefaut( - overrides?: CallOverrides - ): Promise; - - subTokenMem( - curTemp: AngelCoreStruct.GenericBalanceStruct, - curTokenaddress: PromiseOrValue, - curAmount: PromiseOrValue, - overrides?: CallOverrides - ): Promise; }; } diff --git a/typechain-types/contracts/core/swap-router/index.ts b/typechain-types/contracts/core/swap-router/index.ts index ed0f13305..5727cecaf 100644 --- a/typechain-types/contracts/core/swap-router/index.ts +++ b/typechain-types/contracts/core/swap-router/index.ts @@ -1,7 +1,7 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import type * as interface from "./Interface"; -export type { interface }; +import type * as interfaces from "./interfaces"; +export type { interfaces }; import type * as swappingSol from "./swapping.sol"; export type { swappingSol }; diff --git a/typechain-types/contracts/core/swap-router/Interface/ISwappingV3.ts b/typechain-types/contracts/core/swap-router/interfaces/ISwappingV3.ts similarity index 77% rename from typechain-types/contracts/core/swap-router/Interface/ISwappingV3.ts rename to typechain-types/contracts/core/swap-router/interfaces/ISwappingV3.ts index 3125e2959..973cb82aa 100644 --- a/typechain-types/contracts/core/swap-router/Interface/ISwappingV3.ts +++ b/typechain-types/contracts/core/swap-router/interfaces/ISwappingV3.ts @@ -26,7 +26,7 @@ import type { export interface ISwappingV3Interface extends utils.Interface { functions: { - "executeSwapOperations(address[],address,uint256[],uint256)": FunctionFragment; + "executeSwapOperations(address,address,uint256,uint256)": FunctionFragment; "swapEthToAnyToken(address)": FunctionFragment; "swapEthToToken()": FunctionFragment; "swapTokenToUsdc(address,uint256)": FunctionFragment; @@ -43,9 +43,9 @@ export interface ISwappingV3Interface extends utils.Interface { encodeFunctionData( functionFragment: "executeSwapOperations", values: [ - PromiseOrValue[], PromiseOrValue, - PromiseOrValue[], + PromiseOrValue, + PromiseOrValue, PromiseOrValue ] ): string; @@ -110,10 +110,10 @@ export interface ISwappingV3 extends BaseContract { functions: { executeSwapOperations( - curTokenin: PromiseOrValue[], - curTokenout: PromiseOrValue, - curAmountin: PromiseOrValue[], - curAmountout: PromiseOrValue, + tokenIn: PromiseOrValue, + tokenOut: PromiseOrValue, + amountIn: PromiseOrValue, + amountOut: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -127,17 +127,17 @@ export interface ISwappingV3 extends BaseContract { ): Promise; swapTokenToUsdc( - curTokena: PromiseOrValue, - curAmountin: PromiseOrValue, + tokena: PromiseOrValue, + amountin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; executeSwapOperations( - curTokenin: PromiseOrValue[], - curTokenout: PromiseOrValue, - curAmountin: PromiseOrValue[], - curAmountout: PromiseOrValue, + tokenIn: PromiseOrValue, + tokenOut: PromiseOrValue, + amountIn: PromiseOrValue, + amountOut: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -151,17 +151,17 @@ export interface ISwappingV3 extends BaseContract { ): Promise; swapTokenToUsdc( - curTokena: PromiseOrValue, - curAmountin: PromiseOrValue, + tokena: PromiseOrValue, + amountin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { executeSwapOperations( - curTokenin: PromiseOrValue[], - curTokenout: PromiseOrValue, - curAmountin: PromiseOrValue[], - curAmountout: PromiseOrValue, + tokenIn: PromiseOrValue, + tokenOut: PromiseOrValue, + amountIn: PromiseOrValue, + amountOut: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -173,8 +173,8 @@ export interface ISwappingV3 extends BaseContract { swapEthToToken(overrides?: CallOverrides): Promise; swapTokenToUsdc( - curTokena: PromiseOrValue, - curAmountin: PromiseOrValue, + tokena: PromiseOrValue, + amountin: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -183,10 +183,10 @@ export interface ISwappingV3 extends BaseContract { estimateGas: { executeSwapOperations( - curTokenin: PromiseOrValue[], - curTokenout: PromiseOrValue, - curAmountin: PromiseOrValue[], - curAmountout: PromiseOrValue, + tokenIn: PromiseOrValue, + tokenOut: PromiseOrValue, + amountIn: PromiseOrValue, + amountOut: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -200,18 +200,18 @@ export interface ISwappingV3 extends BaseContract { ): Promise; swapTokenToUsdc( - curTokena: PromiseOrValue, - curAmountin: PromiseOrValue, + tokena: PromiseOrValue, + amountin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { executeSwapOperations( - curTokenin: PromiseOrValue[], - curTokenout: PromiseOrValue, - curAmountin: PromiseOrValue[], - curAmountout: PromiseOrValue, + tokenIn: PromiseOrValue, + tokenOut: PromiseOrValue, + amountIn: PromiseOrValue, + amountOut: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -225,8 +225,8 @@ export interface ISwappingV3 extends BaseContract { ): Promise; swapTokenToUsdc( - curTokena: PromiseOrValue, - curAmountin: PromiseOrValue, + tokena: PromiseOrValue, + amountin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/core/swap-router/Interface/Ipool.sol/IPool.ts b/typechain-types/contracts/core/swap-router/interfaces/Ipool.sol/IPool.ts similarity index 100% rename from typechain-types/contracts/core/swap-router/Interface/Ipool.sol/IPool.ts rename to typechain-types/contracts/core/swap-router/interfaces/Ipool.sol/IPool.ts diff --git a/typechain-types/contracts/core/swap-router/Interface/Ipool.sol/index.ts b/typechain-types/contracts/core/swap-router/interfaces/Ipool.sol/index.ts similarity index 100% rename from typechain-types/contracts/core/swap-router/Interface/Ipool.sol/index.ts rename to typechain-types/contracts/core/swap-router/interfaces/Ipool.sol/index.ts diff --git a/typechain-types/contracts/core/swap-router/Interface/index.ts b/typechain-types/contracts/core/swap-router/interfaces/index.ts similarity index 100% rename from typechain-types/contracts/core/swap-router/Interface/index.ts rename to typechain-types/contracts/core/swap-router/interfaces/index.ts diff --git a/typechain-types/contracts/core/swap-router/swapping.sol/SwapRouter.ts b/typechain-types/contracts/core/swap-router/swapping.sol/SwapRouter.ts index 0bf09e0e5..686a31d1d 100644 --- a/typechain-types/contracts/core/swap-router/swapping.sol/SwapRouter.ts +++ b/typechain-types/contracts/core/swap-router/swapping.sol/SwapRouter.ts @@ -42,7 +42,7 @@ export declare namespace SwapRouterMessages { export interface SwapRouterInterface extends utils.Interface { functions: { - "executeSwapOperations(address[],address,uint256[],uint256)": FunctionFragment; + "executeSwapOperations(address,address,uint256,uint256)": FunctionFragment; "intiSwapRouter((address,address,address,address))": FunctionFragment; "swapEthToAnyToken(address)": FunctionFragment; "swapEthToToken()": FunctionFragment; @@ -61,9 +61,9 @@ export interface SwapRouterInterface extends utils.Interface { encodeFunctionData( functionFragment: "executeSwapOperations", values: [ - PromiseOrValue[], PromiseOrValue, - PromiseOrValue[], + PromiseOrValue, + PromiseOrValue, PromiseOrValue ] ): string; @@ -136,15 +136,15 @@ export interface SwapRouter extends BaseContract { functions: { executeSwapOperations( - curTokenin: PromiseOrValue[], - curTokenout: PromiseOrValue, - curAmountin: PromiseOrValue[], - curAmountout: PromiseOrValue, + tokenIn: PromiseOrValue, + tokenOut: PromiseOrValue, + amountIn: PromiseOrValue, + amountOut: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; intiSwapRouter( - curDetails: SwapRouterMessages.InstantiateMsgStruct, + details: SwapRouterMessages.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -158,22 +158,22 @@ export interface SwapRouter extends BaseContract { ): Promise; swapTokenToUsdc( - curTokena: PromiseOrValue, - curAmountin: PromiseOrValue, + tokena: PromiseOrValue, + amountin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; executeSwapOperations( - curTokenin: PromiseOrValue[], - curTokenout: PromiseOrValue, - curAmountin: PromiseOrValue[], - curAmountout: PromiseOrValue, + tokenIn: PromiseOrValue, + tokenOut: PromiseOrValue, + amountIn: PromiseOrValue, + amountOut: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; intiSwapRouter( - curDetails: SwapRouterMessages.InstantiateMsgStruct, + details: SwapRouterMessages.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -187,22 +187,22 @@ export interface SwapRouter extends BaseContract { ): Promise; swapTokenToUsdc( - curTokena: PromiseOrValue, - curAmountin: PromiseOrValue, + tokena: PromiseOrValue, + amountin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { executeSwapOperations( - curTokenin: PromiseOrValue[], - curTokenout: PromiseOrValue, - curAmountin: PromiseOrValue[], - curAmountout: PromiseOrValue, + tokenIn: PromiseOrValue, + tokenOut: PromiseOrValue, + amountIn: PromiseOrValue, + amountOut: PromiseOrValue, overrides?: CallOverrides ): Promise; intiSwapRouter( - curDetails: SwapRouterMessages.InstantiateMsgStruct, + details: SwapRouterMessages.InstantiateMsgStruct, overrides?: CallOverrides ): Promise; @@ -214,8 +214,8 @@ export interface SwapRouter extends BaseContract { swapEthToToken(overrides?: CallOverrides): Promise; swapTokenToUsdc( - curTokena: PromiseOrValue, - curAmountin: PromiseOrValue, + tokena: PromiseOrValue, + amountin: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -224,15 +224,15 @@ export interface SwapRouter extends BaseContract { estimateGas: { executeSwapOperations( - curTokenin: PromiseOrValue[], - curTokenout: PromiseOrValue, - curAmountin: PromiseOrValue[], - curAmountout: PromiseOrValue, + tokenIn: PromiseOrValue, + tokenOut: PromiseOrValue, + amountIn: PromiseOrValue, + amountOut: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; intiSwapRouter( - curDetails: SwapRouterMessages.InstantiateMsgStruct, + details: SwapRouterMessages.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -246,23 +246,23 @@ export interface SwapRouter extends BaseContract { ): Promise; swapTokenToUsdc( - curTokena: PromiseOrValue, - curAmountin: PromiseOrValue, + tokena: PromiseOrValue, + amountin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { executeSwapOperations( - curTokenin: PromiseOrValue[], - curTokenout: PromiseOrValue, - curAmountin: PromiseOrValue[], - curAmountout: PromiseOrValue, + tokenIn: PromiseOrValue, + tokenOut: PromiseOrValue, + amountIn: PromiseOrValue, + amountOut: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; intiSwapRouter( - curDetails: SwapRouterMessages.InstantiateMsgStruct, + details: SwapRouterMessages.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -276,8 +276,8 @@ export interface SwapRouter extends BaseContract { ): Promise; swapTokenToUsdc( - curTokena: PromiseOrValue, - curAmountin: PromiseOrValue, + tokena: PromiseOrValue, + amountin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/halo/airdrop/Airdrop.ts b/typechain-types/contracts/halo/airdrop/Airdrop.ts index c511b8be8..a611c19a5 100644 --- a/typechain-types/contracts/halo/airdrop/Airdrop.ts +++ b/typechain-types/contracts/halo/airdrop/Airdrop.ts @@ -246,7 +246,7 @@ export interface Airdrop extends BaseContract { ): Promise; initialize( - curDetails: AirdropMessage.InstantiateMsgStruct, + details: AirdropMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -285,7 +285,7 @@ export interface Airdrop extends BaseContract { ): Promise; initialize( - curDetails: AirdropMessage.InstantiateMsgStruct, + details: AirdropMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -324,7 +324,7 @@ export interface Airdrop extends BaseContract { ): Promise; initialize( - curDetails: AirdropMessage.InstantiateMsgStruct, + details: AirdropMessage.InstantiateMsgStruct, overrides?: CallOverrides ): Promise; @@ -403,7 +403,7 @@ export interface Airdrop extends BaseContract { ): Promise; initialize( - curDetails: AirdropMessage.InstantiateMsgStruct, + details: AirdropMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -441,7 +441,7 @@ export interface Airdrop extends BaseContract { ): Promise; initialize( - curDetails: AirdropMessage.InstantiateMsgStruct, + details: AirdropMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/halo/collector/Collector.ts b/typechain-types/contracts/halo/collector/Collector.ts index cb39f44b7..9b0a036f9 100644 --- a/typechain-types/contracts/halo/collector/Collector.ts +++ b/typechain-types/contracts/halo/collector/Collector.ts @@ -231,7 +231,7 @@ export interface Collector extends BaseContract { functions: { initialize( - curDetails: CollectorMessage.InstantiateMsgStruct, + details: CollectorMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -253,7 +253,7 @@ export interface Collector extends BaseContract { }; initialize( - curDetails: CollectorMessage.InstantiateMsgStruct, + details: CollectorMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -275,7 +275,7 @@ export interface Collector extends BaseContract { callStatic: { initialize( - curDetails: CollectorMessage.InstantiateMsgStruct, + details: CollectorMessage.InstantiateMsgStruct, overrides?: CallOverrides ): Promise; @@ -311,7 +311,7 @@ export interface Collector extends BaseContract { estimateGas: { initialize( - curDetails: CollectorMessage.InstantiateMsgStruct, + details: CollectorMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -332,7 +332,7 @@ export interface Collector extends BaseContract { populateTransaction: { initialize( - curDetails: CollectorMessage.InstantiateMsgStruct, + details: CollectorMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/halo/community/Community.ts b/typechain-types/contracts/halo/community/Community.ts index 88a59311c..70d7a131b 100644 --- a/typechain-types/contracts/halo/community/Community.ts +++ b/typechain-types/contracts/halo/community/Community.ts @@ -179,7 +179,7 @@ export interface Community extends BaseContract { functions: { initialize( - curDetails: CommunityMessage.InstantiateMsgStruct, + details: CommunityMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -201,7 +201,7 @@ export interface Community extends BaseContract { }; initialize( - curDetails: CommunityMessage.InstantiateMsgStruct, + details: CommunityMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -223,7 +223,7 @@ export interface Community extends BaseContract { callStatic: { initialize( - curDetails: CommunityMessage.InstantiateMsgStruct, + details: CommunityMessage.InstantiateMsgStruct, overrides?: CallOverrides ): Promise; @@ -262,7 +262,7 @@ export interface Community extends BaseContract { estimateGas: { initialize( - curDetails: CommunityMessage.InstantiateMsgStruct, + details: CommunityMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -283,7 +283,7 @@ export interface Community extends BaseContract { populateTransaction: { initialize( - curDetails: CommunityMessage.InstantiateMsgStruct, + details: CommunityMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/halo/distributor/Distributor.ts b/typechain-types/contracts/halo/distributor/Distributor.ts index 4b206a458..2aaaef3ef 100644 --- a/typechain-types/contracts/halo/distributor/Distributor.ts +++ b/typechain-types/contracts/halo/distributor/Distributor.ts @@ -31,14 +31,14 @@ export declare namespace DistributorStorage { export type ConfigStruct = { timelockContract: PromiseOrValue; haloToken: PromiseOrValue; - whitelist: PromiseOrValue[]; + allowlist: PromiseOrValue[]; spendLimit: PromiseOrValue; }; export type ConfigStructOutput = [string, string, string[], BigNumber] & { timelockContract: string; haloToken: string; - whitelist: string[]; + allowlist: string[]; spendLimit: BigNumber; }; } @@ -47,7 +47,7 @@ export declare namespace DistributorMessage { export type InstantiateMsgStruct = { timelockContract: PromiseOrValue; haloToken: PromiseOrValue; - whitelist: PromiseOrValue[]; + allowlist: PromiseOrValue[]; spendLimit: PromiseOrValue; }; @@ -59,14 +59,14 @@ export declare namespace DistributorMessage { ] & { timelockContract: string; haloToken: string; - whitelist: string[]; + allowlist: string[]; spendLimit: BigNumber; }; export type ConfigResponseStruct = { timelockContract: PromiseOrValue; haloToken: PromiseOrValue; - whitelist: PromiseOrValue[]; + allowlist: PromiseOrValue[]; spendLimit: PromiseOrValue; }; @@ -78,7 +78,7 @@ export declare namespace DistributorMessage { ] & { timelockContract: string; haloToken: string; - whitelist: string[]; + allowlist: string[]; spendLimit: BigNumber; }; } @@ -247,7 +247,7 @@ export interface Distributor extends BaseContract { ): Promise; initialize( - curDetails: DistributorMessage.InstantiateMsgStruct, + details: DistributorMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -279,7 +279,7 @@ export interface Distributor extends BaseContract { ): Promise; initialize( - curDetails: DistributorMessage.InstantiateMsgStruct, + details: DistributorMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -311,7 +311,7 @@ export interface Distributor extends BaseContract { ): Promise; initialize( - curDetails: DistributorMessage.InstantiateMsgStruct, + details: DistributorMessage.InstantiateMsgStruct, overrides?: CallOverrides ): Promise; @@ -375,7 +375,7 @@ export interface Distributor extends BaseContract { ): Promise; initialize( - curDetails: DistributorMessage.InstantiateMsgStruct, + details: DistributorMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -406,7 +406,7 @@ export interface Distributor extends BaseContract { ): Promise; initialize( - curDetails: DistributorMessage.InstantiateMsgStruct, + details: DistributorMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/halo/gov-hodler/GovHodler.ts b/typechain-types/contracts/halo/gov-hodler/GovHodler.ts index 43e4c8bf0..bd3cba511 100644 --- a/typechain-types/contracts/halo/gov-hodler/GovHodler.ts +++ b/typechain-types/contracts/halo/gov-hodler/GovHodler.ts @@ -164,7 +164,7 @@ export interface GovHodler extends BaseContract { ): Promise; initialiaze( - curDetails: GovHodlerMessage.InstantiateMsgStruct, + details: GovHodlerMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -181,7 +181,7 @@ export interface GovHodler extends BaseContract { ): Promise; initialiaze( - curDetails: GovHodlerMessage.InstantiateMsgStruct, + details: GovHodlerMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -198,7 +198,7 @@ export interface GovHodler extends BaseContract { ): Promise; initialiaze( - curDetails: GovHodlerMessage.InstantiateMsgStruct, + details: GovHodlerMessage.InstantiateMsgStruct, overrides?: CallOverrides ): Promise; @@ -235,7 +235,7 @@ export interface GovHodler extends BaseContract { ): Promise; initialiaze( - curDetails: GovHodlerMessage.InstantiateMsgStruct, + details: GovHodlerMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -253,7 +253,7 @@ export interface GovHodler extends BaseContract { ): Promise; initialiaze( - curDetails: GovHodlerMessage.InstantiateMsgStruct, + details: GovHodlerMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/halo/gov/Gov.ts b/typechain-types/contracts/halo/gov/Gov.ts index 474cc5372..cec039ae9 100644 --- a/typechain-types/contracts/halo/gov/Gov.ts +++ b/typechain-types/contracts/halo/gov/Gov.ts @@ -773,8 +773,8 @@ export interface Gov extends BaseContract { ): Promise<[BigNumber]>; initialize( - curToken: PromiseOrValue, - curTimelock: PromiseOrValue, + token: PromiseOrValue, + timelock: PromiseOrValue, initialVotingDelay: PromiseOrValue, initialVotingPeriod: PromiseOrValue, initialProposalThreshold: PromiseOrValue, @@ -1004,8 +1004,8 @@ export interface Gov extends BaseContract { ): Promise; initialize( - curToken: PromiseOrValue, - curTimelock: PromiseOrValue, + token: PromiseOrValue, + timelock: PromiseOrValue, initialVotingDelay: PromiseOrValue, initialVotingPeriod: PromiseOrValue, initialProposalThreshold: PromiseOrValue, @@ -1235,8 +1235,8 @@ export interface Gov extends BaseContract { ): Promise; initialize( - curToken: PromiseOrValue, - curTimelock: PromiseOrValue, + token: PromiseOrValue, + timelock: PromiseOrValue, initialVotingDelay: PromiseOrValue, initialVotingPeriod: PromiseOrValue, initialProposalThreshold: PromiseOrValue, @@ -1584,8 +1584,8 @@ export interface Gov extends BaseContract { ): Promise; initialize( - curToken: PromiseOrValue, - curTimelock: PromiseOrValue, + token: PromiseOrValue, + timelock: PromiseOrValue, initialVotingDelay: PromiseOrValue, initialVotingPeriod: PromiseOrValue, initialProposalThreshold: PromiseOrValue, @@ -1812,8 +1812,8 @@ export interface Gov extends BaseContract { ): Promise; initialize( - curToken: PromiseOrValue, - curTimelock: PromiseOrValue, + token: PromiseOrValue, + timelock: PromiseOrValue, initialVotingDelay: PromiseOrValue, initialVotingPeriod: PromiseOrValue, initialProposalThreshold: PromiseOrValue, diff --git a/typechain-types/contracts/halo/staking/Staking.sol/IStakingHalo.ts b/typechain-types/contracts/halo/staking/Staking.sol/IStakingHalo.ts index 4d72e37a0..3d93748b2 100644 --- a/typechain-types/contracts/halo/staking/Staking.sol/IStakingHalo.ts +++ b/typechain-types/contracts/halo/staking/Staking.sol/IStakingHalo.ts @@ -214,7 +214,7 @@ export interface IStakingHalo extends BaseContract { ): Promise; updateInterestRate( - curInterestRate: PromiseOrValue, + interestRate: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -267,7 +267,7 @@ export interface IStakingHalo extends BaseContract { ): Promise; updateInterestRate( - curInterestRate: PromiseOrValue, + interestRate: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -320,7 +320,7 @@ export interface IStakingHalo extends BaseContract { ): Promise; updateInterestRate( - curInterestRate: PromiseOrValue, + interestRate: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -376,7 +376,7 @@ export interface IStakingHalo extends BaseContract { ): Promise; updateInterestRate( - curInterestRate: PromiseOrValue, + interestRate: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -430,7 +430,7 @@ export interface IStakingHalo extends BaseContract { ): Promise; updateInterestRate( - curInterestRate: PromiseOrValue, + interestRate: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/halo/staking/Staking.sol/Staking.ts b/typechain-types/contracts/halo/staking/Staking.sol/Staking.ts index be0c1c6ea..fa35c3032 100644 --- a/typechain-types/contracts/halo/staking/Staking.sol/Staking.ts +++ b/typechain-types/contracts/halo/staking/Staking.sol/Staking.ts @@ -542,7 +542,7 @@ export interface Staking extends BaseContract { ): Promise; updateInterestRate( - curInterestRate: PromiseOrValue, + interestRate: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -678,7 +678,7 @@ export interface Staking extends BaseContract { ): Promise; updateInterestRate( - curInterestRate: PromiseOrValue, + interestRate: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -808,7 +808,7 @@ export interface Staking extends BaseContract { ): Promise; updateInterestRate( - curInterestRate: PromiseOrValue, + interestRate: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -1005,7 +1005,7 @@ export interface Staking extends BaseContract { ): Promise; updateInterestRate( - curInterestRate: PromiseOrValue, + interestRate: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -1134,7 +1134,7 @@ export interface Staking extends BaseContract { ): Promise; updateInterestRate( - curInterestRate: PromiseOrValue, + interestRate: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/halo/vesting/Vesting.ts b/typechain-types/contracts/halo/vesting/Vesting.ts index 41fb5e1e2..39d464680 100644 --- a/typechain-types/contracts/halo/vesting/Vesting.ts +++ b/typechain-types/contracts/halo/vesting/Vesting.ts @@ -246,12 +246,12 @@ export interface Vesting extends BaseContract { haloToken(overrides?: CallOverrides): Promise<[string]>; initialize( - curDetails: VestingMessage.InstantiateMsgStruct, + details: VestingMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; modifyVestingDuration( - curVestingduration: PromiseOrValue, + vestingduration: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -302,12 +302,12 @@ export interface Vesting extends BaseContract { haloToken(overrides?: CallOverrides): Promise; initialize( - curDetails: VestingMessage.InstantiateMsgStruct, + details: VestingMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; modifyVestingDuration( - curVestingduration: PromiseOrValue, + vestingduration: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -358,12 +358,12 @@ export interface Vesting extends BaseContract { haloToken(overrides?: CallOverrides): Promise; initialize( - curDetails: VestingMessage.InstantiateMsgStruct, + details: VestingMessage.InstantiateMsgStruct, overrides?: CallOverrides ): Promise; modifyVestingDuration( - curVestingduration: PromiseOrValue, + vestingduration: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -453,12 +453,12 @@ export interface Vesting extends BaseContract { haloToken(overrides?: CallOverrides): Promise; initialize( - curDetails: VestingMessage.InstantiateMsgStruct, + details: VestingMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; modifyVestingDuration( - curVestingduration: PromiseOrValue, + vestingduration: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -503,12 +503,12 @@ export interface Vesting extends BaseContract { haloToken(overrides?: CallOverrides): Promise; initialize( - curDetails: VestingMessage.InstantiateMsgStruct, + details: VestingMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; modifyVestingDuration( - curVestingduration: PromiseOrValue, + vestingduration: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/integrations/goldfinch/GoldfinchVault.ts b/typechain-types/contracts/integrations/goldfinch/GoldfinchVault.ts index 5510c34b3..fa926c46f 100644 --- a/typechain-types/contracts/integrations/goldfinch/GoldfinchVault.ts +++ b/typechain-types/contracts/integrations/goldfinch/GoldfinchVault.ts @@ -28,6 +28,18 @@ import type { PromiseOrValue, } from "../../../common"; +export declare namespace IRouter { + export type RedemptionResponseStruct = { + amount: PromiseOrValue; + status: PromiseOrValue; + }; + + export type RedemptionResponseStructOutput = [BigNumber, number] & { + amount: BigNumber; + status: number; + }; +} + export interface GoldfinchVaultInterface extends utils.Interface { functions: { "FIDU()": FunctionFragment; @@ -342,7 +354,7 @@ export interface GoldfinchVault extends BaseContract { token: PromiseOrValue, amt: PromiseOrValue, overrides?: CallOverrides - ): Promise; + ): Promise; redeemAll( accountId: PromiseOrValue, diff --git a/typechain-types/contracts/integrations/goldfinch/ICurveLP.ts b/typechain-types/contracts/integrations/goldfinch/ICurveLP.sol/IveLP.ts similarity index 98% rename from typechain-types/contracts/integrations/goldfinch/ICurveLP.ts rename to typechain-types/contracts/integrations/goldfinch/ICurveLP.sol/IveLP.ts index 41f6ed04c..b71e97372 100644 --- a/typechain-types/contracts/integrations/goldfinch/ICurveLP.ts +++ b/typechain-types/contracts/integrations/goldfinch/ICurveLP.sol/IveLP.ts @@ -21,9 +21,9 @@ import type { TypedListener, OnEvent, PromiseOrValue, -} from "../../../common"; +} from "../../../../common"; -export interface ICurveLPInterface extends utils.Interface { +export interface IveLPInterface extends utils.Interface { functions: { "add_liquidity(uint256[2],uint256,bool,address)": FunctionFragment; "balances(uint256)": FunctionFragment; @@ -133,12 +133,12 @@ export interface ICurveLPInterface extends utils.Interface { events: {}; } -export interface ICurveLP extends BaseContract { +export interface IveLP extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; - interface: ICurveLPInterface; + interface: IveLPInterface; queryFilter( event: TypedEventFilter, diff --git a/typechain-types/contracts/normalized_endowment/locked-withdraw/interface/index.ts b/typechain-types/contracts/integrations/goldfinch/ICurveLP.sol/index.ts similarity index 60% rename from typechain-types/contracts/normalized_endowment/locked-withdraw/interface/index.ts rename to typechain-types/contracts/integrations/goldfinch/ICurveLP.sol/index.ts index 2fb1be4ff..45b61cda3 100644 --- a/typechain-types/contracts/normalized_endowment/locked-withdraw/interface/index.ts +++ b/typechain-types/contracts/integrations/goldfinch/ICurveLP.sol/index.ts @@ -1,4 +1,4 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -export type { ILockedWithdraw } from "./ILockedWithdraw"; +export type { IveLP } from "./IveLP"; diff --git a/typechain-types/contracts/integrations/goldfinch/IStakingRewards.ts b/typechain-types/contracts/integrations/goldfinch/IStakingRewards.ts index 44df8de9f..91c7dc2a1 100644 --- a/typechain-types/contracts/integrations/goldfinch/IStakingRewards.ts +++ b/typechain-types/contracts/integrations/goldfinch/IStakingRewards.ts @@ -84,7 +84,7 @@ export interface IStakingRewardsInterface extends utils.Interface { functions: { "accumulatedRewardsPerToken()": FunctionFragment; "addToStake(uint256,uint256)": FunctionFragment; - "depositToCurveAndStakeFrom(address,uint256,uint256)": FunctionFragment; + "depositToveAndStakeFrom(address,uint256,uint256)": FunctionFragment; "getPosition(uint256)": FunctionFragment; "getReward(uint256)": FunctionFragment; "kick(uint256)": FunctionFragment; @@ -98,7 +98,7 @@ export interface IStakingRewardsInterface extends utils.Interface { nameOrSignatureOrTopic: | "accumulatedRewardsPerToken" | "addToStake" - | "depositToCurveAndStakeFrom" + | "depositToveAndStakeFrom" | "getPosition" | "getReward" | "kick" @@ -117,7 +117,7 @@ export interface IStakingRewardsInterface extends utils.Interface { values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "depositToCurveAndStakeFrom", + functionFragment: "depositToveAndStakeFrom", values: [ PromiseOrValue, PromiseOrValue, @@ -159,7 +159,7 @@ export interface IStakingRewardsInterface extends utils.Interface { ): Result; decodeFunctionResult(functionFragment: "addToStake", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "depositToCurveAndStakeFrom", + functionFragment: "depositToveAndStakeFrom", data: BytesLike ): Result; decodeFunctionResult( @@ -217,7 +217,7 @@ export interface IStakingRewards extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - depositToCurveAndStakeFrom( + depositToveAndStakeFrom( nftRecipient: PromiseOrValue, fiduAmount: PromiseOrValue, usdcAmount: PromiseOrValue, @@ -271,7 +271,7 @@ export interface IStakingRewards extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - depositToCurveAndStakeFrom( + depositToveAndStakeFrom( nftRecipient: PromiseOrValue, fiduAmount: PromiseOrValue, usdcAmount: PromiseOrValue, @@ -321,7 +321,7 @@ export interface IStakingRewards extends BaseContract { overrides?: CallOverrides ): Promise; - depositToCurveAndStakeFrom( + depositToveAndStakeFrom( nftRecipient: PromiseOrValue, fiduAmount: PromiseOrValue, usdcAmount: PromiseOrValue, @@ -374,7 +374,7 @@ export interface IStakingRewards extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - depositToCurveAndStakeFrom( + depositToveAndStakeFrom( nftRecipient: PromiseOrValue, fiduAmount: PromiseOrValue, usdcAmount: PromiseOrValue, @@ -427,7 +427,7 @@ export interface IStakingRewards extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - depositToCurveAndStakeFrom( + depositToveAndStakeFrom( nftRecipient: PromiseOrValue, fiduAmount: PromiseOrValue, usdcAmount: PromiseOrValue, diff --git a/typechain-types/contracts/integrations/goldfinch/index.ts b/typechain-types/contracts/integrations/goldfinch/index.ts index 3e87c2d34..5907de44b 100644 --- a/typechain-types/contracts/integrations/goldfinch/index.ts +++ b/typechain-types/contracts/integrations/goldfinch/index.ts @@ -1,10 +1,11 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ +import type * as iCurveLpSol from "./ICurveLP.sol"; +export type { iCurveLpSol }; import type * as test from "./test"; export type { test }; export type { GFITrader } from "./GFITrader"; export type { GoldfinchVault } from "./GoldfinchVault"; -export type { ICurveLP } from "./ICurveLP"; export type { IRegistrarGoldfinch } from "./IRegistrarGoldfinch"; export type { IStakingRewards } from "./IStakingRewards"; diff --git a/typechain-types/contracts/integrations/goldfinch/test/DummyStakingRewards.ts b/typechain-types/contracts/integrations/goldfinch/test/DummyStakingRewards.ts index 925317538..9732899c7 100644 --- a/typechain-types/contracts/integrations/goldfinch/test/DummyStakingRewards.ts +++ b/typechain-types/contracts/integrations/goldfinch/test/DummyStakingRewards.ts @@ -91,7 +91,7 @@ export interface DummyStakingRewardsInterface extends utils.Interface { "approve(address,uint256)": FunctionFragment; "balanceByTokenId(uint256)": FunctionFragment; "balanceOf(address)": FunctionFragment; - "depositToCurveAndStakeFrom(address,uint256,uint256)": FunctionFragment; + "depositToveAndStakeFrom(address,uint256,uint256)": FunctionFragment; "getApproved(uint256)": FunctionFragment; "getPosition(uint256)": FunctionFragment; "getReward(uint256)": FunctionFragment; @@ -123,7 +123,7 @@ export interface DummyStakingRewardsInterface extends utils.Interface { | "approve" | "balanceByTokenId" | "balanceOf" - | "depositToCurveAndStakeFrom" + | "depositToveAndStakeFrom" | "getApproved" | "getPosition" | "getReward" @@ -169,7 +169,7 @@ export interface DummyStakingRewardsInterface extends utils.Interface { values: [PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "depositToCurveAndStakeFrom", + functionFragment: "depositToveAndStakeFrom", values: [ PromiseOrValue, PromiseOrValue, @@ -284,7 +284,7 @@ export interface DummyStakingRewardsInterface extends utils.Interface { ): Result; decodeFunctionResult(functionFragment: "balanceOf", data: BytesLike): Result; decodeFunctionResult( - functionFragment: "depositToCurveAndStakeFrom", + functionFragment: "depositToveAndStakeFrom", data: BytesLike ): Result; decodeFunctionResult( @@ -447,7 +447,7 @@ export interface DummyStakingRewards extends BaseContract { overrides?: CallOverrides ): Promise<[BigNumber]>; - depositToCurveAndStakeFrom( + depositToveAndStakeFrom( nftRecipient: PromiseOrValue, fiduAmount: PromiseOrValue, usdcAmount: PromiseOrValue, @@ -593,7 +593,7 @@ export interface DummyStakingRewards extends BaseContract { overrides?: CallOverrides ): Promise; - depositToCurveAndStakeFrom( + depositToveAndStakeFrom( nftRecipient: PromiseOrValue, fiduAmount: PromiseOrValue, usdcAmount: PromiseOrValue, @@ -739,7 +739,7 @@ export interface DummyStakingRewards extends BaseContract { overrides?: CallOverrides ): Promise; - depositToCurveAndStakeFrom( + depositToveAndStakeFrom( nftRecipient: PromiseOrValue, fiduAmount: PromiseOrValue, usdcAmount: PromiseOrValue, @@ -921,7 +921,7 @@ export interface DummyStakingRewards extends BaseContract { overrides?: CallOverrides ): Promise; - depositToCurveAndStakeFrom( + depositToveAndStakeFrom( nftRecipient: PromiseOrValue, fiduAmount: PromiseOrValue, usdcAmount: PromiseOrValue, @@ -1070,7 +1070,7 @@ export interface DummyStakingRewards extends BaseContract { overrides?: CallOverrides ): Promise; - depositToCurveAndStakeFrom( + depositToveAndStakeFrom( nftRecipient: PromiseOrValue, fiduAmount: PromiseOrValue, usdcAmount: PromiseOrValue, diff --git a/typechain-types/contracts/interfaces/IVault.ts b/typechain-types/contracts/interfaces/IVault.ts index 3a1e6ec7a..16e82f378 100644 --- a/typechain-types/contracts/interfaces/IVault.ts +++ b/typechain-types/contracts/interfaces/IVault.ts @@ -28,6 +28,18 @@ import type { PromiseOrValue, } from "../../common"; +export declare namespace IRouter { + export type RedemptionResponseStruct = { + amount: PromiseOrValue; + status: PromiseOrValue; + }; + + export type RedemptionResponseStructOutput = [BigNumber, number] & { + amount: BigNumber; + status: number; + }; +} + export interface IVaultInterface extends utils.Interface { functions: { "deposit(uint32,address,uint256)": FunctionFragment; @@ -228,7 +240,7 @@ export interface IVault extends BaseContract { token: PromiseOrValue, amt: PromiseOrValue, overrides?: CallOverrides - ): Promise; + ): Promise; redeemAll( accountId: PromiseOrValue, diff --git a/typechain-types/contracts/interfaces/IVaultLiquid.ts b/typechain-types/contracts/interfaces/IVaultLiquid.ts index 5acc6d4f1..41d77a134 100644 --- a/typechain-types/contracts/interfaces/IVaultLiquid.ts +++ b/typechain-types/contracts/interfaces/IVaultLiquid.ts @@ -28,6 +28,18 @@ import type { PromiseOrValue, } from "../../common"; +export declare namespace IRouter { + export type RedemptionResponseStruct = { + amount: PromiseOrValue; + status: PromiseOrValue; + }; + + export type RedemptionResponseStructOutput = [BigNumber, number] & { + amount: BigNumber; + status: number; + }; +} + export interface IVaultLiquidInterface extends utils.Interface { functions: { "deposit(uint32,address,uint256)": FunctionFragment; @@ -228,7 +240,7 @@ export interface IVaultLiquid extends BaseContract { token: PromiseOrValue, amt: PromiseOrValue, overrides?: CallOverrides - ): Promise; + ): Promise; redeemAll( accountId: PromiseOrValue, diff --git a/typechain-types/contracts/interfaces/IVaultLocked.ts b/typechain-types/contracts/interfaces/IVaultLocked.ts index 4e9ef1fec..00a2ed7c8 100644 --- a/typechain-types/contracts/interfaces/IVaultLocked.ts +++ b/typechain-types/contracts/interfaces/IVaultLocked.ts @@ -28,6 +28,18 @@ import type { PromiseOrValue, } from "../../common"; +export declare namespace IRouter { + export type RedemptionResponseStruct = { + amount: PromiseOrValue; + status: PromiseOrValue; + }; + + export type RedemptionResponseStructOutput = [BigNumber, number] & { + amount: BigNumber; + status: number; + }; +} + export interface IVaultLockedInterface extends utils.Interface { functions: { "deposit(uint32,address,uint256)": FunctionFragment; @@ -228,7 +240,7 @@ export interface IVaultLocked extends BaseContract { token: PromiseOrValue, amt: PromiseOrValue, overrides?: CallOverrides - ): Promise; + ): Promise; redeemAll( accountId: PromiseOrValue, diff --git a/typechain-types/contracts/lib/Strings/string.sol/StringArray.ts b/typechain-types/contracts/lib/Strings/string.sol/StringArray.ts index 9efda5968..fdbf7b8e3 100644 --- a/typechain-types/contracts/lib/Strings/string.sol/StringArray.ts +++ b/typechain-types/contracts/lib/Strings/string.sol/StringArray.ts @@ -91,7 +91,7 @@ export interface StringArray extends BaseContract { functions: { addressToString( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise<[string]>; @@ -109,7 +109,7 @@ export interface StringArray extends BaseContract { }; addressToString( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -127,7 +127,7 @@ export interface StringArray extends BaseContract { callStatic: { addressToString( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -148,7 +148,7 @@ export interface StringArray extends BaseContract { estimateGas: { addressToString( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -167,7 +167,7 @@ export interface StringArray extends BaseContract { populateTransaction: { addressToString( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; diff --git a/typechain-types/contracts/mock/DummyGateway.ts b/typechain-types/contracts/mock/DummyGateway.ts index 966db1bcd..81afd2135 100644 --- a/typechain-types/contracts/mock/DummyGateway.ts +++ b/typechain-types/contracts/mock/DummyGateway.ts @@ -616,8 +616,8 @@ export interface DummyGateway extends BaseContract { arg1: PromiseOrValue, arg2: PromiseOrValue, arg3: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; + overrides?: CallOverrides + ): Promise<[boolean]>; validateContractCallAndMint( commandId: PromiseOrValue, @@ -626,8 +626,8 @@ export interface DummyGateway extends BaseContract { arg3: PromiseOrValue, arg4: PromiseOrValue, arg5: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; + overrides?: CallOverrides + ): Promise<[boolean]>; }; adminEpoch(overrides?: CallOverrides): Promise; @@ -752,8 +752,8 @@ export interface DummyGateway extends BaseContract { arg1: PromiseOrValue, arg2: PromiseOrValue, arg3: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; + overrides?: CallOverrides + ): Promise; validateContractCallAndMint( commandId: PromiseOrValue, @@ -762,8 +762,8 @@ export interface DummyGateway extends BaseContract { arg3: PromiseOrValue, arg4: PromiseOrValue, arg5: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; + overrides?: CallOverrides + ): Promise; callStatic: { adminEpoch(overrides?: CallOverrides): Promise; @@ -1155,7 +1155,7 @@ export interface DummyGateway extends BaseContract { arg1: PromiseOrValue, arg2: PromiseOrValue, arg3: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } + overrides?: CallOverrides ): Promise; validateContractCallAndMint( @@ -1165,7 +1165,7 @@ export interface DummyGateway extends BaseContract { arg3: PromiseOrValue, arg4: PromiseOrValue, arg5: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } + overrides?: CallOverrides ): Promise; }; @@ -1292,7 +1292,7 @@ export interface DummyGateway extends BaseContract { arg1: PromiseOrValue, arg2: PromiseOrValue, arg3: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } + overrides?: CallOverrides ): Promise; validateContractCallAndMint( @@ -1302,7 +1302,7 @@ export interface DummyGateway extends BaseContract { arg3: PromiseOrValue, arg4: PromiseOrValue, arg5: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } + overrides?: CallOverrides ): Promise; }; } diff --git a/typechain-types/contracts/multisigs/APTeamMultiSig.ts b/typechain-types/contracts/multisigs/APTeamMultiSig.ts index 0fc3b90e3..1150bd3bd 100644 --- a/typechain-types/contracts/multisigs/APTeamMultiSig.ts +++ b/typechain-types/contracts/multisigs/APTeamMultiSig.ts @@ -445,12 +445,12 @@ export interface APTeamMultiSig extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise<[BigNumber]>; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -478,7 +478,7 @@ export interface APTeamMultiSig extends BaseContract { getConfirmations( transactionId: PromiseOrValue, overrides?: CallOverrides - ): Promise<[string[]] & { curConfirmations: string[] }>; + ): Promise<[string[]] & { ownerConfirmations: string[] }>; getOwners(overrides?: CallOverrides): Promise<[string[]]>; @@ -494,12 +494,12 @@ export interface APTeamMultiSig extends BaseContract { pending: PromiseOrValue, executed: PromiseOrValue, overrides?: CallOverrides - ): Promise<[BigNumber[]] & { curTransactionids: BigNumber[] }>; + ): Promise<[BigNumber[]] & { transactionIds: BigNumber[] }>; initialize( - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -519,13 +519,13 @@ export interface APTeamMultiSig extends BaseContract { ): Promise<[string]>; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -574,12 +574,12 @@ export interface APTeamMultiSig extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -626,9 +626,9 @@ export interface APTeamMultiSig extends BaseContract { ): Promise; initialize( - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -648,13 +648,13 @@ export interface APTeamMultiSig extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -703,12 +703,12 @@ export interface APTeamMultiSig extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: CallOverrides ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -755,9 +755,9 @@ export interface APTeamMultiSig extends BaseContract { ): Promise; initialize( - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -777,13 +777,13 @@ export interface APTeamMultiSig extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: CallOverrides ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -905,12 +905,12 @@ export interface APTeamMultiSig extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -957,9 +957,9 @@ export interface APTeamMultiSig extends BaseContract { ): Promise; initialize( - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -979,13 +979,13 @@ export interface APTeamMultiSig extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1025,12 +1025,12 @@ export interface APTeamMultiSig extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1077,9 +1077,9 @@ export interface APTeamMultiSig extends BaseContract { ): Promise; initialize( - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1099,13 +1099,13 @@ export interface APTeamMultiSig extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/multisigs/ApplicationsMultiSig.ts b/typechain-types/contracts/multisigs/ApplicationsMultiSig.ts index 6410b39c9..efb1b3269 100644 --- a/typechain-types/contracts/multisigs/ApplicationsMultiSig.ts +++ b/typechain-types/contracts/multisigs/ApplicationsMultiSig.ts @@ -445,12 +445,12 @@ export interface ApplicationsMultiSig extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise<[BigNumber]>; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -478,7 +478,7 @@ export interface ApplicationsMultiSig extends BaseContract { getConfirmations( transactionId: PromiseOrValue, overrides?: CallOverrides - ): Promise<[string[]] & { curConfirmations: string[] }>; + ): Promise<[string[]] & { ownerConfirmations: string[] }>; getOwners(overrides?: CallOverrides): Promise<[string[]]>; @@ -494,12 +494,12 @@ export interface ApplicationsMultiSig extends BaseContract { pending: PromiseOrValue, executed: PromiseOrValue, overrides?: CallOverrides - ): Promise<[BigNumber[]] & { curTransactionids: BigNumber[] }>; + ): Promise<[BigNumber[]] & { transactionIds: BigNumber[] }>; initialize( - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -519,13 +519,13 @@ export interface ApplicationsMultiSig extends BaseContract { ): Promise<[string]>; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -574,12 +574,12 @@ export interface ApplicationsMultiSig extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -626,9 +626,9 @@ export interface ApplicationsMultiSig extends BaseContract { ): Promise; initialize( - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -648,13 +648,13 @@ export interface ApplicationsMultiSig extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -703,12 +703,12 @@ export interface ApplicationsMultiSig extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: CallOverrides ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -755,9 +755,9 @@ export interface ApplicationsMultiSig extends BaseContract { ): Promise; initialize( - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -777,13 +777,13 @@ export interface ApplicationsMultiSig extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: CallOverrides ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -905,12 +905,12 @@ export interface ApplicationsMultiSig extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -957,9 +957,9 @@ export interface ApplicationsMultiSig extends BaseContract { ): Promise; initialize( - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -979,13 +979,13 @@ export interface ApplicationsMultiSig extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1025,12 +1025,12 @@ export interface ApplicationsMultiSig extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1077,9 +1077,9 @@ export interface ApplicationsMultiSig extends BaseContract { ): Promise; initialize( - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1099,13 +1099,13 @@ export interface ApplicationsMultiSig extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/multisigs/MultiSigGeneric.ts b/typechain-types/contracts/multisigs/MultiSigGeneric.ts index 2adef20e5..d44f14a9c 100644 --- a/typechain-types/contracts/multisigs/MultiSigGeneric.ts +++ b/typechain-types/contracts/multisigs/MultiSigGeneric.ts @@ -445,12 +445,12 @@ export interface MultiSigGeneric extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise<[BigNumber]>; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -478,7 +478,7 @@ export interface MultiSigGeneric extends BaseContract { getConfirmations( transactionId: PromiseOrValue, overrides?: CallOverrides - ): Promise<[string[]] & { curConfirmations: string[] }>; + ): Promise<[string[]] & { ownerConfirmations: string[] }>; getOwners(overrides?: CallOverrides): Promise<[string[]]>; @@ -494,12 +494,12 @@ export interface MultiSigGeneric extends BaseContract { pending: PromiseOrValue, executed: PromiseOrValue, overrides?: CallOverrides - ): Promise<[BigNumber[]] & { curTransactionids: BigNumber[] }>; + ): Promise<[BigNumber[]] & { transactionIds: BigNumber[] }>; initialize( - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -519,13 +519,13 @@ export interface MultiSigGeneric extends BaseContract { ): Promise<[string]>; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -574,12 +574,12 @@ export interface MultiSigGeneric extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -626,9 +626,9 @@ export interface MultiSigGeneric extends BaseContract { ): Promise; initialize( - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -648,13 +648,13 @@ export interface MultiSigGeneric extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -703,12 +703,12 @@ export interface MultiSigGeneric extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: CallOverrides ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -755,9 +755,9 @@ export interface MultiSigGeneric extends BaseContract { ): Promise; initialize( - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -777,13 +777,13 @@ export interface MultiSigGeneric extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: CallOverrides ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -905,12 +905,12 @@ export interface MultiSigGeneric extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -957,9 +957,9 @@ export interface MultiSigGeneric extends BaseContract { ): Promise; initialize( - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -979,13 +979,13 @@ export interface MultiSigGeneric extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1025,12 +1025,12 @@ export interface MultiSigGeneric extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1077,9 +1077,9 @@ export interface MultiSigGeneric extends BaseContract { ): Promise; initialize( - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1099,13 +1099,13 @@ export interface MultiSigGeneric extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/multisigs/charity_applications/CharityApplication.sol/CharityApplication.ts b/typechain-types/contracts/multisigs/charity_applications/CharityApplication.sol/CharityApplication.ts index 08558398d..9ec3872d8 100644 --- a/typechain-types/contracts/multisigs/charity_applications/CharityApplication.sol/CharityApplication.ts +++ b/typechain-types/contracts/multisigs/charity_applications/CharityApplication.sol/CharityApplication.ts @@ -60,24 +60,22 @@ export declare namespace AngelCoreStruct { export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -89,28 +87,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -118,7 +116,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -126,17 +124,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -181,47 +179,37 @@ export declare namespace AngelCoreStruct { }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -247,21 +235,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -292,28 +278,28 @@ export declare namespace AccountMessages { name: PromiseOrValue; categories: AngelCoreStruct.CategoriesStruct; tier: PromiseOrValue; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; logo: PromiseOrValue; image: PromiseOrValue; - cw4_members: PromiseOrValue[]; + members: PromiseOrValue[]; kycDonorsOnly: PromiseOrValue; threshold: PromiseOrValue; - cw3MaxVotingPeriod: AngelCoreStruct.DurationStruct; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; + maxVotingPeriod: AngelCoreStruct.DurationStruct; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; splitMax: PromiseOrValue; splitMin: PromiseOrValue; splitDefault: PromiseOrValue; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; withdrawFee: AngelCoreStruct.EndowmentFeeStruct; depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; dao: AngelCoreStruct.DaoSetupStruct; createDao: PromiseOrValue; proposalLink: PromiseOrValue; settingsController: AngelCoreStruct.SettingsControllerStruct; parent: PromiseOrValue; - maturityWhitelist: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; ignoreUserSplits: PromiseOrValue; splitToLiquid: AngelCoreStruct.SplitDetailsStruct; referralId: PromiseOrValue; @@ -347,7 +333,7 @@ export declare namespace AccountMessages { boolean, BigNumber, AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, + number, string[], boolean, AngelCoreStruct.SplitDetailsStructOutput, @@ -360,28 +346,28 @@ export declare namespace AccountMessages { name: string; categories: AngelCoreStruct.CategoriesStructOutput; tier: BigNumber; - endow_type: number; + endowType: number; logo: string; image: string; - cw4_members: string[]; + members: string[]; kycDonorsOnly: boolean; threshold: BigNumber; - cw3MaxVotingPeriod: AngelCoreStruct.DurationStructOutput; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; + maxVotingPeriod: AngelCoreStruct.DurationStructOutput; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; splitMax: BigNumber; splitMin: BigNumber; splitDefault: BigNumber; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; dao: AngelCoreStruct.DaoSetupStructOutput; createDao: boolean; proposalLink: BigNumber; settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - maturityWhitelist: string[]; + parent: number; + maturityAllowlist: string[]; ignoreUserSplits: boolean; splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; referralId: BigNumber; @@ -430,7 +416,7 @@ export interface CharityApplicationInterface extends utils.Interface { "config()": FunctionFragment; "initialize(uint256,address,address,uint256,bool,uint256,bool,address,uint256)": FunctionFragment; "proposals(uint256)": FunctionFragment; - "proposeCharity((address,bool,uint256,uint256,string,(uint256[],uint256[]),uint256,uint8,string,string,address[],bool,uint256,(uint8,(uint256,uint256)),address[],address[],uint256,uint256,uint256,(address,uint256,bool),(address,uint256,bool),(address,uint256,bool),(address,uint256,bool),(uint256,uint256,uint256,uint256,uint256,uint128,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256))),bool,uint256,((bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256))),uint256,address[],bool,(uint256,uint256,uint256),uint256),string)": FunctionFragment; + "proposeCharity((address,bool,uint256,uint256,string,(uint256[],uint256[]),uint256,uint8,string,string,address[],bool,uint256,(uint8,(uint256,uint256)),address[],address[],uint256,uint256,uint256,(address,uint256),(address,uint256),(address,uint256),(address,uint256),(uint256,uint256,uint256,uint256,uint256,uint128,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256))),bool,uint256,((bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256))),uint32,address[],bool,(uint256,uint256,uint256),uint256),string)": FunctionFragment; "queryConfig()": FunctionFragment; "rejectCharity(uint256)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; @@ -697,15 +683,15 @@ export interface CharityApplication extends BaseContract { >; initialize( - curExpiry: PromiseOrValue, - curApplicationmultisig: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curSeedsplittoliquid: PromiseOrValue, - curNewendowgasmoney: PromiseOrValue, - curGasamount: PromiseOrValue, - curFundseedasset: PromiseOrValue, - curSeedasset: PromiseOrValue, - curSeedassetamount: PromiseOrValue, + expiry: PromiseOrValue, + applicationmultisig: PromiseOrValue, + accountscontract: PromiseOrValue, + seedsplittoliquid: PromiseOrValue, + newendowgasmoney: PromiseOrValue, + gasamount: PromiseOrValue, + fundseedasset: PromiseOrValue, + seedasset: PromiseOrValue, + seedassetamount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -751,15 +737,15 @@ export interface CharityApplication extends BaseContract { ): Promise<[boolean]>; updateConfig( - curExpiry: PromiseOrValue, - curApplicationmultisig: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curSeedsplittoliquid: PromiseOrValue, - curNewendowgasmoney: PromiseOrValue, - curGasamount: PromiseOrValue, - curFundseedasset: PromiseOrValue, - curSeedasset: PromiseOrValue, - curSeedassetamount: PromiseOrValue, + expiry: PromiseOrValue, + applicationmultisig: PromiseOrValue, + accountscontract: PromiseOrValue, + seedsplittoliquid: PromiseOrValue, + newendowgasmoney: PromiseOrValue, + gasamount: PromiseOrValue, + fundseedasset: PromiseOrValue, + seedasset: PromiseOrValue, + seedassetamount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -796,15 +782,15 @@ export interface CharityApplication extends BaseContract { >; initialize( - curExpiry: PromiseOrValue, - curApplicationmultisig: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curSeedsplittoliquid: PromiseOrValue, - curNewendowgasmoney: PromiseOrValue, - curGasamount: PromiseOrValue, - curFundseedasset: PromiseOrValue, - curSeedasset: PromiseOrValue, - curSeedassetamount: PromiseOrValue, + expiry: PromiseOrValue, + applicationmultisig: PromiseOrValue, + accountscontract: PromiseOrValue, + seedsplittoliquid: PromiseOrValue, + newendowgasmoney: PromiseOrValue, + gasamount: PromiseOrValue, + fundseedasset: PromiseOrValue, + seedasset: PromiseOrValue, + seedassetamount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -850,15 +836,15 @@ export interface CharityApplication extends BaseContract { ): Promise; updateConfig( - curExpiry: PromiseOrValue, - curApplicationmultisig: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curSeedsplittoliquid: PromiseOrValue, - curNewendowgasmoney: PromiseOrValue, - curGasamount: PromiseOrValue, - curFundseedasset: PromiseOrValue, - curSeedasset: PromiseOrValue, - curSeedassetamount: PromiseOrValue, + expiry: PromiseOrValue, + applicationmultisig: PromiseOrValue, + accountscontract: PromiseOrValue, + seedsplittoliquid: PromiseOrValue, + newendowgasmoney: PromiseOrValue, + gasamount: PromiseOrValue, + fundseedasset: PromiseOrValue, + seedasset: PromiseOrValue, + seedassetamount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -895,15 +881,15 @@ export interface CharityApplication extends BaseContract { >; initialize( - curExpiry: PromiseOrValue, - curApplicationmultisig: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curSeedsplittoliquid: PromiseOrValue, - curNewendowgasmoney: PromiseOrValue, - curGasamount: PromiseOrValue, - curFundseedasset: PromiseOrValue, - curSeedasset: PromiseOrValue, - curSeedassetamount: PromiseOrValue, + expiry: PromiseOrValue, + applicationmultisig: PromiseOrValue, + accountscontract: PromiseOrValue, + seedsplittoliquid: PromiseOrValue, + newendowgasmoney: PromiseOrValue, + gasamount: PromiseOrValue, + fundseedasset: PromiseOrValue, + seedasset: PromiseOrValue, + seedassetamount: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -949,15 +935,15 @@ export interface CharityApplication extends BaseContract { ): Promise; updateConfig( - curExpiry: PromiseOrValue, - curApplicationmultisig: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curSeedsplittoliquid: PromiseOrValue, - curNewendowgasmoney: PromiseOrValue, - curGasamount: PromiseOrValue, - curFundseedasset: PromiseOrValue, - curSeedasset: PromiseOrValue, - curSeedassetamount: PromiseOrValue, + expiry: PromiseOrValue, + applicationmultisig: PromiseOrValue, + accountscontract: PromiseOrValue, + seedsplittoliquid: PromiseOrValue, + newendowgasmoney: PromiseOrValue, + gasamount: PromiseOrValue, + fundseedasset: PromiseOrValue, + seedasset: PromiseOrValue, + seedassetamount: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -1040,15 +1026,15 @@ export interface CharityApplication extends BaseContract { config(overrides?: CallOverrides): Promise; initialize( - curExpiry: PromiseOrValue, - curApplicationmultisig: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curSeedsplittoliquid: PromiseOrValue, - curNewendowgasmoney: PromiseOrValue, - curGasamount: PromiseOrValue, - curFundseedasset: PromiseOrValue, - curSeedasset: PromiseOrValue, - curSeedassetamount: PromiseOrValue, + expiry: PromiseOrValue, + applicationmultisig: PromiseOrValue, + accountscontract: PromiseOrValue, + seedsplittoliquid: PromiseOrValue, + newendowgasmoney: PromiseOrValue, + gasamount: PromiseOrValue, + fundseedasset: PromiseOrValue, + seedasset: PromiseOrValue, + seedassetamount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1076,15 +1062,15 @@ export interface CharityApplication extends BaseContract { ): Promise; updateConfig( - curExpiry: PromiseOrValue, - curApplicationmultisig: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curSeedsplittoliquid: PromiseOrValue, - curNewendowgasmoney: PromiseOrValue, - curGasamount: PromiseOrValue, - curFundseedasset: PromiseOrValue, - curSeedasset: PromiseOrValue, - curSeedassetamount: PromiseOrValue, + expiry: PromiseOrValue, + applicationmultisig: PromiseOrValue, + accountscontract: PromiseOrValue, + seedsplittoliquid: PromiseOrValue, + newendowgasmoney: PromiseOrValue, + gasamount: PromiseOrValue, + fundseedasset: PromiseOrValue, + seedasset: PromiseOrValue, + seedassetamount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -1098,15 +1084,15 @@ export interface CharityApplication extends BaseContract { config(overrides?: CallOverrides): Promise; initialize( - curExpiry: PromiseOrValue, - curApplicationmultisig: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curSeedsplittoliquid: PromiseOrValue, - curNewendowgasmoney: PromiseOrValue, - curGasamount: PromiseOrValue, - curFundseedasset: PromiseOrValue, - curSeedasset: PromiseOrValue, - curSeedassetamount: PromiseOrValue, + expiry: PromiseOrValue, + applicationmultisig: PromiseOrValue, + accountscontract: PromiseOrValue, + seedsplittoliquid: PromiseOrValue, + newendowgasmoney: PromiseOrValue, + gasamount: PromiseOrValue, + fundseedasset: PromiseOrValue, + seedasset: PromiseOrValue, + seedassetamount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1134,15 +1120,15 @@ export interface CharityApplication extends BaseContract { ): Promise; updateConfig( - curExpiry: PromiseOrValue, - curApplicationmultisig: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curSeedsplittoliquid: PromiseOrValue, - curNewendowgasmoney: PromiseOrValue, - curGasamount: PromiseOrValue, - curFundseedasset: PromiseOrValue, - curSeedasset: PromiseOrValue, - curSeedassetamount: PromiseOrValue, + expiry: PromiseOrValue, + applicationmultisig: PromiseOrValue, + accountscontract: PromiseOrValue, + seedsplittoliquid: PromiseOrValue, + newendowgasmoney: PromiseOrValue, + gasamount: PromiseOrValue, + fundseedasset: PromiseOrValue, + seedasset: PromiseOrValue, + seedassetamount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/multisigs/charity_applications/index.ts b/typechain-types/contracts/multisigs/charity_applications/index.ts index 2c19800a7..d0d5ff7e3 100644 --- a/typechain-types/contracts/multisigs/charity_applications/index.ts +++ b/typechain-types/contracts/multisigs/charity_applications/index.ts @@ -3,7 +3,7 @@ /* eslint-disable */ import type * as charityApplicationSol from "./CharityApplication.sol"; export type { charityApplicationSol }; -import type * as interface from "./interface"; -export type { interface }; +import type * as interfaces from "./interfaces"; +export type { interfaces }; import type * as storageSol from "./storage.sol"; export type { storageSol }; diff --git a/typechain-types/contracts/multisigs/charity_applications/interface/ICharityApplication.ts b/typechain-types/contracts/multisigs/charity_applications/interfaces/ICharityApplication.ts similarity index 75% rename from typechain-types/contracts/multisigs/charity_applications/interface/ICharityApplication.ts rename to typechain-types/contracts/multisigs/charity_applications/interfaces/ICharityApplication.ts index aa561efc3..8173106fc 100644 --- a/typechain-types/contracts/multisigs/charity_applications/interface/ICharityApplication.ts +++ b/typechain-types/contracts/multisigs/charity_applications/interfaces/ICharityApplication.ts @@ -60,24 +60,22 @@ export declare namespace AngelCoreStruct { export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -89,28 +87,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -118,7 +116,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -126,17 +124,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -181,47 +179,37 @@ export declare namespace AngelCoreStruct { }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -247,21 +235,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -292,28 +278,28 @@ export declare namespace AccountMessages { name: PromiseOrValue; categories: AngelCoreStruct.CategoriesStruct; tier: PromiseOrValue; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; logo: PromiseOrValue; image: PromiseOrValue; - cw4_members: PromiseOrValue[]; + members: PromiseOrValue[]; kycDonorsOnly: PromiseOrValue; threshold: PromiseOrValue; - cw3MaxVotingPeriod: AngelCoreStruct.DurationStruct; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; + maxVotingPeriod: AngelCoreStruct.DurationStruct; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; splitMax: PromiseOrValue; splitMin: PromiseOrValue; splitDefault: PromiseOrValue; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; withdrawFee: AngelCoreStruct.EndowmentFeeStruct; depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; dao: AngelCoreStruct.DaoSetupStruct; createDao: PromiseOrValue; proposalLink: PromiseOrValue; settingsController: AngelCoreStruct.SettingsControllerStruct; parent: PromiseOrValue; - maturityWhitelist: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; ignoreUserSplits: PromiseOrValue; splitToLiquid: AngelCoreStruct.SplitDetailsStruct; referralId: PromiseOrValue; @@ -347,7 +333,7 @@ export declare namespace AccountMessages { boolean, BigNumber, AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, + number, string[], boolean, AngelCoreStruct.SplitDetailsStructOutput, @@ -360,28 +346,28 @@ export declare namespace AccountMessages { name: string; categories: AngelCoreStruct.CategoriesStructOutput; tier: BigNumber; - endow_type: number; + endowType: number; logo: string; image: string; - cw4_members: string[]; + members: string[]; kycDonorsOnly: boolean; threshold: BigNumber; - cw3MaxVotingPeriod: AngelCoreStruct.DurationStructOutput; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; + maxVotingPeriod: AngelCoreStruct.DurationStructOutput; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; splitMax: BigNumber; splitMin: BigNumber; splitDefault: BigNumber; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; dao: AngelCoreStruct.DaoSetupStructOutput; createDao: boolean; proposalLink: BigNumber; settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - maturityWhitelist: string[]; + parent: number; + maturityAllowlist: string[]; ignoreUserSplits: boolean; splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; referralId: BigNumber; @@ -427,7 +413,7 @@ export declare namespace CharityApplicationsStorage { export interface ICharityApplicationInterface extends utils.Interface { functions: { "approveCharity(uint256)": FunctionFragment; - "proposeCharity((address,bool,uint256,uint256,string,(uint256[],uint256[]),uint256,uint8,string,string,address[],bool,uint256,(uint8,(uint256,uint256)),address[],address[],uint256,uint256,uint256,(address,uint256,bool),(address,uint256,bool),(address,uint256,bool),(address,uint256,bool),(uint256,uint256,uint256,uint256,uint256,uint128,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256))),bool,uint256,((bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256)),(bool,bool,bool,(address,uint256))),uint256,address[],bool,(uint256,uint256,uint256),uint256),string)": FunctionFragment; + "proposeCharity((address,bool,uint256,uint256,string,(uint256[],uint256[]),uint256,uint8,string,string,address[],bool,uint256,(uint8,(uint256,uint256)),address[],address[],uint256,uint256,uint256,(address,uint256),(address,uint256),(address,uint256),(address,uint256),(uint256,uint256,uint256,uint256,uint256,uint128,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256))),bool,uint256,((bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256)),(bool,(address,uint256))),uint32,address[],bool,(uint256,uint256,uint256),uint256),string)": FunctionFragment; "rejectCharity(uint256)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "updateConfig(uint256,address,address,uint256,bool,uint256,bool,address,uint256)": FunctionFragment; @@ -649,15 +635,15 @@ export interface ICharityApplication extends BaseContract { ): Promise<[boolean]>; updateConfig( - curExpiry: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curSeedsplittoliquid: PromiseOrValue, - curNewendowgasmoney: PromiseOrValue, - curGasamount: PromiseOrValue, - curFundseedasset: PromiseOrValue, - curSeedasset: PromiseOrValue, - curSeedassetamount: PromiseOrValue, + expiry: PromiseOrValue, + apteammultisig: PromiseOrValue, + accountscontract: PromiseOrValue, + seedsplittoliquid: PromiseOrValue, + newendowgasmoney: PromiseOrValue, + gasamount: PromiseOrValue, + fundseedasset: PromiseOrValue, + seedasset: PromiseOrValue, + seedassetamount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -684,15 +670,15 @@ export interface ICharityApplication extends BaseContract { ): Promise; updateConfig( - curExpiry: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curSeedsplittoliquid: PromiseOrValue, - curNewendowgasmoney: PromiseOrValue, - curGasamount: PromiseOrValue, - curFundseedasset: PromiseOrValue, - curSeedasset: PromiseOrValue, - curSeedassetamount: PromiseOrValue, + expiry: PromiseOrValue, + apteammultisig: PromiseOrValue, + accountscontract: PromiseOrValue, + seedsplittoliquid: PromiseOrValue, + newendowgasmoney: PromiseOrValue, + gasamount: PromiseOrValue, + fundseedasset: PromiseOrValue, + seedasset: PromiseOrValue, + seedassetamount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -719,15 +705,15 @@ export interface ICharityApplication extends BaseContract { ): Promise; updateConfig( - curExpiry: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curSeedsplittoliquid: PromiseOrValue, - curNewendowgasmoney: PromiseOrValue, - curGasamount: PromiseOrValue, - curFundseedasset: PromiseOrValue, - curSeedasset: PromiseOrValue, - curSeedassetamount: PromiseOrValue, + expiry: PromiseOrValue, + apteammultisig: PromiseOrValue, + accountscontract: PromiseOrValue, + seedsplittoliquid: PromiseOrValue, + newendowgasmoney: PromiseOrValue, + gasamount: PromiseOrValue, + fundseedasset: PromiseOrValue, + seedasset: PromiseOrValue, + seedassetamount: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -824,15 +810,15 @@ export interface ICharityApplication extends BaseContract { ): Promise; updateConfig( - curExpiry: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curSeedsplittoliquid: PromiseOrValue, - curNewendowgasmoney: PromiseOrValue, - curGasamount: PromiseOrValue, - curFundseedasset: PromiseOrValue, - curSeedasset: PromiseOrValue, - curSeedassetamount: PromiseOrValue, + expiry: PromiseOrValue, + apteammultisig: PromiseOrValue, + accountscontract: PromiseOrValue, + seedsplittoliquid: PromiseOrValue, + newendowgasmoney: PromiseOrValue, + gasamount: PromiseOrValue, + fundseedasset: PromiseOrValue, + seedasset: PromiseOrValue, + seedassetamount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; @@ -860,15 +846,15 @@ export interface ICharityApplication extends BaseContract { ): Promise; updateConfig( - curExpiry: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curSeedsplittoliquid: PromiseOrValue, - curNewendowgasmoney: PromiseOrValue, - curGasamount: PromiseOrValue, - curFundseedasset: PromiseOrValue, - curSeedasset: PromiseOrValue, - curSeedassetamount: PromiseOrValue, + expiry: PromiseOrValue, + apteammultisig: PromiseOrValue, + accountscontract: PromiseOrValue, + seedsplittoliquid: PromiseOrValue, + newendowgasmoney: PromiseOrValue, + gasamount: PromiseOrValue, + fundseedasset: PromiseOrValue, + seedasset: PromiseOrValue, + seedassetamount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/multisigs/charity_applications/interface/index.ts b/typechain-types/contracts/multisigs/charity_applications/interfaces/index.ts similarity index 100% rename from typechain-types/contracts/multisigs/charity_applications/interface/index.ts rename to typechain-types/contracts/multisigs/charity_applications/interfaces/index.ts diff --git a/typechain-types/contracts/multisigs/charity_applications/storage.sol/CharityStorage.ts b/typechain-types/contracts/multisigs/charity_applications/storage.sol/CharityStorage.ts index 229991340..ffeea620d 100644 --- a/typechain-types/contracts/multisigs/charity_applications/storage.sol/CharityStorage.ts +++ b/typechain-types/contracts/multisigs/charity_applications/storage.sol/CharityStorage.ts @@ -54,24 +54,22 @@ export declare namespace AngelCoreStruct { export type EndowmentFeeStruct = { payoutAddress: PromiseOrValue; - feePercentage: PromiseOrValue; - active: PromiseOrValue; + percentage: PromiseOrValue; }; - export type EndowmentFeeStructOutput = [string, BigNumber, boolean] & { + export type EndowmentFeeStructOutput = [string, BigNumber] & { payoutAddress: string; - feePercentage: BigNumber; - active: boolean; + percentage: BigNumber; }; - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -83,28 +81,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -112,7 +110,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -120,17 +118,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -175,47 +173,37 @@ export declare namespace AngelCoreStruct { }; export type DelegateStruct = { - Addr: PromiseOrValue; + addr: PromiseOrValue; expires: PromiseOrValue; }; export type DelegateStructOutput = [string, BigNumber] & { - Addr: string; + addr: string; expires: BigNumber; }; export type SettingsPermissionStruct = { - ownerControlled: PromiseOrValue; - govControlled: PromiseOrValue; - modifiableAfterInit: PromiseOrValue; + locked: PromiseOrValue; delegate: AngelCoreStruct.DelegateStruct; }; export type SettingsPermissionStructOutput = [ - boolean, - boolean, boolean, AngelCoreStruct.DelegateStructOutput - ] & { - ownerControlled: boolean; - govControlled: boolean; - modifiableAfterInit: boolean; - delegate: AngelCoreStruct.DelegateStructOutput; - }; + ] & { locked: boolean; delegate: AngelCoreStruct.DelegateStructOutput }; export type SettingsControllerStruct = { - endowmentController: AngelCoreStruct.SettingsPermissionStruct; strategies: AngelCoreStruct.SettingsPermissionStruct; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStruct; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStruct; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStruct; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStruct; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStruct; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStruct; maturityTime: AngelCoreStruct.SettingsPermissionStruct; - profile: AngelCoreStruct.SettingsPermissionStruct; - earningsFee: AngelCoreStruct.SettingsPermissionStruct; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStruct; withdrawFee: AngelCoreStruct.SettingsPermissionStruct; depositFee: AngelCoreStruct.SettingsPermissionStruct; - aumFee: AngelCoreStruct.SettingsPermissionStruct; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStruct; + balanceFee: AngelCoreStruct.SettingsPermissionStruct; name: AngelCoreStruct.SettingsPermissionStruct; image: AngelCoreStruct.SettingsPermissionStruct; logo: AngelCoreStruct.SettingsPermissionStruct; @@ -241,21 +229,19 @@ export declare namespace AngelCoreStruct { AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput, - AngelCoreStruct.SettingsPermissionStructOutput, AngelCoreStruct.SettingsPermissionStructOutput ] & { - endowmentController: AngelCoreStruct.SettingsPermissionStructOutput; strategies: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; - whitelistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; - maturityWhitelist: AngelCoreStruct.SettingsPermissionStructOutput; + lockedInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + liquidInvestmentManagement: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedBeneficiaries: AngelCoreStruct.SettingsPermissionStructOutput; + allowlistedContributors: AngelCoreStruct.SettingsPermissionStructOutput; + maturityAllowlist: AngelCoreStruct.SettingsPermissionStructOutput; maturityTime: AngelCoreStruct.SettingsPermissionStructOutput; - profile: AngelCoreStruct.SettingsPermissionStructOutput; - earningsFee: AngelCoreStruct.SettingsPermissionStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; withdrawFee: AngelCoreStruct.SettingsPermissionStructOutput; depositFee: AngelCoreStruct.SettingsPermissionStructOutput; - aumFee: AngelCoreStruct.SettingsPermissionStructOutput; - kycDonorsOnly: AngelCoreStruct.SettingsPermissionStructOutput; + balanceFee: AngelCoreStruct.SettingsPermissionStructOutput; name: AngelCoreStruct.SettingsPermissionStructOutput; image: AngelCoreStruct.SettingsPermissionStructOutput; logo: AngelCoreStruct.SettingsPermissionStructOutput; @@ -286,28 +272,28 @@ export declare namespace AccountMessages { name: PromiseOrValue; categories: AngelCoreStruct.CategoriesStruct; tier: PromiseOrValue; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; logo: PromiseOrValue; image: PromiseOrValue; - cw4_members: PromiseOrValue[]; + members: PromiseOrValue[]; kycDonorsOnly: PromiseOrValue; threshold: PromiseOrValue; - cw3MaxVotingPeriod: AngelCoreStruct.DurationStruct; - whitelistedBeneficiaries: PromiseOrValue[]; - whitelistedContributors: PromiseOrValue[]; + maxVotingPeriod: AngelCoreStruct.DurationStruct; + allowlistedBeneficiaries: PromiseOrValue[]; + allowlistedContributors: PromiseOrValue[]; splitMax: PromiseOrValue; splitMin: PromiseOrValue; splitDefault: PromiseOrValue; - earningsFee: AngelCoreStruct.EndowmentFeeStruct; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStruct; withdrawFee: AngelCoreStruct.EndowmentFeeStruct; depositFee: AngelCoreStruct.EndowmentFeeStruct; - aumFee: AngelCoreStruct.EndowmentFeeStruct; + balanceFee: AngelCoreStruct.EndowmentFeeStruct; dao: AngelCoreStruct.DaoSetupStruct; createDao: PromiseOrValue; proposalLink: PromiseOrValue; settingsController: AngelCoreStruct.SettingsControllerStruct; parent: PromiseOrValue; - maturityWhitelist: PromiseOrValue[]; + maturityAllowlist: PromiseOrValue[]; ignoreUserSplits: PromiseOrValue; splitToLiquid: AngelCoreStruct.SplitDetailsStruct; referralId: PromiseOrValue; @@ -341,7 +327,7 @@ export declare namespace AccountMessages { boolean, BigNumber, AngelCoreStruct.SettingsControllerStructOutput, - BigNumber, + number, string[], boolean, AngelCoreStruct.SplitDetailsStructOutput, @@ -354,28 +340,28 @@ export declare namespace AccountMessages { name: string; categories: AngelCoreStruct.CategoriesStructOutput; tier: BigNumber; - endow_type: number; + endowType: number; logo: string; image: string; - cw4_members: string[]; + members: string[]; kycDonorsOnly: boolean; threshold: BigNumber; - cw3MaxVotingPeriod: AngelCoreStruct.DurationStructOutput; - whitelistedBeneficiaries: string[]; - whitelistedContributors: string[]; + maxVotingPeriod: AngelCoreStruct.DurationStructOutput; + allowlistedBeneficiaries: string[]; + allowlistedContributors: string[]; splitMax: BigNumber; splitMin: BigNumber; splitDefault: BigNumber; - earningsFee: AngelCoreStruct.EndowmentFeeStructOutput; + earlyLockedWithdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; withdrawFee: AngelCoreStruct.EndowmentFeeStructOutput; depositFee: AngelCoreStruct.EndowmentFeeStructOutput; - aumFee: AngelCoreStruct.EndowmentFeeStructOutput; + balanceFee: AngelCoreStruct.EndowmentFeeStructOutput; dao: AngelCoreStruct.DaoSetupStructOutput; createDao: boolean; proposalLink: BigNumber; settingsController: AngelCoreStruct.SettingsControllerStructOutput; - parent: BigNumber; - maturityWhitelist: string[]; + parent: number; + maturityAllowlist: string[]; ignoreUserSplits: boolean; splitToLiquid: AngelCoreStruct.SplitDetailsStructOutput; referralId: BigNumber; diff --git a/typechain-types/contracts/multisigs/interfaces/IMultiSigGeneric.ts b/typechain-types/contracts/multisigs/interfaces/IMultiSigGeneric.ts index e8da72e29..5b7d13722 100644 --- a/typechain-types/contracts/multisigs/interfaces/IMultiSigGeneric.ts +++ b/typechain-types/contracts/multisigs/interfaces/IMultiSigGeneric.ts @@ -360,7 +360,7 @@ export interface IMultiSigGeneric extends BaseContract { ): Promise; changeRequirement( - curRequired: PromiseOrValue, + required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -382,7 +382,7 @@ export interface IMultiSigGeneric extends BaseContract { getConfirmations( transactionId: PromiseOrValue, overrides?: CallOverrides - ): Promise<[string[]] & { curConfirmations: string[] }>; + ): Promise<[string[]] & { confirmations: string[] }>; getOwners(overrides?: CallOverrides): Promise<[string[]]>; @@ -398,7 +398,7 @@ export interface IMultiSigGeneric extends BaseContract { pending: PromiseOrValue, executed: PromiseOrValue, overrides?: CallOverrides - ): Promise<[BigNumber[]] & { curTransactionids: BigNumber[] }>; + ): Promise<[BigNumber[]] & { transactionids: BigNumber[] }>; isConfirmed( transactionId: PromiseOrValue, @@ -443,7 +443,7 @@ export interface IMultiSigGeneric extends BaseContract { ): Promise; changeRequirement( - curRequired: PromiseOrValue, + required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -526,7 +526,7 @@ export interface IMultiSigGeneric extends BaseContract { ): Promise; changeRequirement( - curRequired: PromiseOrValue, + required: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -679,7 +679,7 @@ export interface IMultiSigGeneric extends BaseContract { ): Promise; changeRequirement( - curRequired: PromiseOrValue, + required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -763,7 +763,7 @@ export interface IMultiSigGeneric extends BaseContract { ): Promise; changeRequirement( - curRequired: PromiseOrValue, + required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/donation-match/DonationMatch.sol/DonationMatch.ts b/typechain-types/contracts/normalized_endowment/donation-match/DonationMatch.sol/DonationMatch.ts index bcea5ad7c..006eb817a 100644 --- a/typechain-types/contracts/normalized_endowment/donation-match/DonationMatch.sol/DonationMatch.ts +++ b/typechain-types/contracts/normalized_endowment/donation-match/DonationMatch.sol/DonationMatch.ts @@ -71,7 +71,7 @@ export declare namespace DonationMatchStorage { export interface DonationMatchInterface extends utils.Interface { functions: { - "executeDonorMatch(uint256,uint256,address,address)": FunctionFragment; + "executeDonorMatch(uint32,uint256,address,address)": FunctionFragment; "initialize((address,address,address,uint24,address),address)": FunctionFragment; "queryConfig()": FunctionFragment; }; @@ -161,8 +161,8 @@ export interface DonationMatch extends BaseContract { ): Promise; initialize( - curDetails: DonationMatchMessages.InstantiateMessageStruct, - curEmitteraddress: PromiseOrValue, + details: DonationMatchMessages.InstantiateMessageStruct, + emitteraddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -180,8 +180,8 @@ export interface DonationMatch extends BaseContract { ): Promise; initialize( - curDetails: DonationMatchMessages.InstantiateMessageStruct, - curEmitteraddress: PromiseOrValue, + details: DonationMatchMessages.InstantiateMessageStruct, + emitteraddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -199,8 +199,8 @@ export interface DonationMatch extends BaseContract { ): Promise; initialize( - curDetails: DonationMatchMessages.InstantiateMessageStruct, - curEmitteraddress: PromiseOrValue, + details: DonationMatchMessages.InstantiateMessageStruct, + emitteraddress: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -224,8 +224,8 @@ export interface DonationMatch extends BaseContract { ): Promise; initialize( - curDetails: DonationMatchMessages.InstantiateMessageStruct, - curEmitteraddress: PromiseOrValue, + details: DonationMatchMessages.InstantiateMessageStruct, + emitteraddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -242,8 +242,8 @@ export interface DonationMatch extends BaseContract { ): Promise; initialize( - curDetails: DonationMatchMessages.InstantiateMessageStruct, - curEmitteraddress: PromiseOrValue, + details: DonationMatchMessages.InstantiateMessageStruct, + emitteraddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/donation-match/DonationMatch.sol/SubdaoToken.ts b/typechain-types/contracts/normalized_endowment/donation-match/DonationMatch.sol/SubdaoToken.ts index 49adda967..94e02cb94 100644 --- a/typechain-types/contracts/normalized_endowment/donation-match/DonationMatch.sol/SubdaoToken.ts +++ b/typechain-types/contracts/normalized_endowment/donation-match/DonationMatch.sol/SubdaoToken.ts @@ -25,7 +25,7 @@ import type { export interface SubdaoTokenInterface extends utils.Interface { functions: { - "executeDonorMatch(uint256,address,uint256,address)": FunctionFragment; + "executeDonorMatch(uint256,address,uint32,address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "executeDonorMatch"): FunctionFragment; @@ -76,28 +76,28 @@ export interface SubdaoToken extends BaseContract { functions: { executeDonorMatch( - curAmount: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curEndowmentid: PromiseOrValue, - curDonor: PromiseOrValue, + amount: PromiseOrValue, + accountscontract: PromiseOrValue, + endowmentid: PromiseOrValue, + donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; executeDonorMatch( - curAmount: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curEndowmentid: PromiseOrValue, - curDonor: PromiseOrValue, + amount: PromiseOrValue, + accountscontract: PromiseOrValue, + endowmentid: PromiseOrValue, + donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { executeDonorMatch( - curAmount: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curEndowmentid: PromiseOrValue, - curDonor: PromiseOrValue, + amount: PromiseOrValue, + accountscontract: PromiseOrValue, + endowmentid: PromiseOrValue, + donor: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -106,20 +106,20 @@ export interface SubdaoToken extends BaseContract { estimateGas: { executeDonorMatch( - curAmount: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curEndowmentid: PromiseOrValue, - curDonor: PromiseOrValue, + amount: PromiseOrValue, + accountscontract: PromiseOrValue, + endowmentid: PromiseOrValue, + donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { executeDonorMatch( - curAmount: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curEndowmentid: PromiseOrValue, - curDonor: PromiseOrValue, + amount: PromiseOrValue, + accountscontract: PromiseOrValue, + endowmentid: PromiseOrValue, + donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/DonationMatchCharity.ts b/typechain-types/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/DonationMatchCharity.ts index 097c6c475..7dfcfddee 100644 --- a/typechain-types/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/DonationMatchCharity.ts +++ b/typechain-types/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/DonationMatchCharity.ts @@ -71,7 +71,7 @@ export declare namespace DonationMatchMessages { export interface DonationMatchCharityInterface extends utils.Interface { functions: { - "executeDonorMatch(uint256,uint256,address,address)": FunctionFragment; + "executeDonorMatch(uint32,uint256,address,address)": FunctionFragment; "initialize((address,address,address,uint24,address))": FunctionFragment; "queryConfig()": FunctionFragment; }; @@ -109,10 +109,10 @@ export interface DonationMatchCharityInterface extends utils.Interface { ): Result; events: { - "DonationMatchCharityErc20ApprovalGiven(uint256,address,address,uint256)": EventFragment; - "DonationMatchCharityErc20Burned(uint256,address,uint256)": EventFragment; - "DonationMatchCharityErc20Transfer(uint256,address,address,uint256)": EventFragment; - "DonationMatchCharityExecuted(address,address,uint256,address,uint256,address)": EventFragment; + "DonationMatchCharityErc20ApprovalGiven(uint32,address,address,uint256)": EventFragment; + "DonationMatchCharityErc20Burned(uint32,address,uint256)": EventFragment; + "DonationMatchCharityErc20Transfer(uint32,address,address,uint256)": EventFragment; + "DonationMatchCharityExecuted(address,address,uint256,address,uint32,address)": EventFragment; "DonationMatchCharityInitialized(address,tuple)": EventFragment; "Initialized(uint8)": EventFragment; }; @@ -136,13 +136,13 @@ export interface DonationMatchCharityInterface extends utils.Interface { } export interface DonationMatchCharityErc20ApprovalGivenEventObject { - endowmentId: BigNumber; + endowmentId: number; tokenAddress: string; spender: string; amount: BigNumber; } export type DonationMatchCharityErc20ApprovalGivenEvent = TypedEvent< - [BigNumber, string, string, BigNumber], + [number, string, string, BigNumber], DonationMatchCharityErc20ApprovalGivenEventObject >; @@ -150,12 +150,12 @@ export type DonationMatchCharityErc20ApprovalGivenEventFilter = TypedEventFilter; export interface DonationMatchCharityErc20BurnedEventObject { - endowmentId: BigNumber; + endowmentId: number; tokenAddress: string; amount: BigNumber; } export type DonationMatchCharityErc20BurnedEvent = TypedEvent< - [BigNumber, string, BigNumber], + [number, string, BigNumber], DonationMatchCharityErc20BurnedEventObject >; @@ -163,13 +163,13 @@ export type DonationMatchCharityErc20BurnedEventFilter = TypedEventFilter; export interface DonationMatchCharityErc20TransferEventObject { - endowmentId: BigNumber; + endowmentId: number; tokenAddress: string; recipient: string; amount: BigNumber; } export type DonationMatchCharityErc20TransferEvent = TypedEvent< - [BigNumber, string, string, BigNumber], + [number, string, string, BigNumber], DonationMatchCharityErc20TransferEventObject >; @@ -181,11 +181,11 @@ export interface DonationMatchCharityExecutedEventObject { tokenAddress: string; amount: BigNumber; accountsContract: string; - endowmentId: BigNumber; + endowmentId: number; donor: string; } export type DonationMatchCharityExecutedEvent = TypedEvent< - [string, string, BigNumber, string, BigNumber, string], + [string, string, BigNumber, string, number, string], DonationMatchCharityExecutedEventObject >; @@ -247,7 +247,7 @@ export interface DonationMatchCharity extends BaseContract { ): Promise; initialize( - curDetails: DonationMatchMessages.InstantiateMessageStruct, + details: DonationMatchMessages.InstantiateMessageStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -265,7 +265,7 @@ export interface DonationMatchCharity extends BaseContract { ): Promise; initialize( - curDetails: DonationMatchMessages.InstantiateMessageStruct, + details: DonationMatchMessages.InstantiateMessageStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -283,7 +283,7 @@ export interface DonationMatchCharity extends BaseContract { ): Promise; initialize( - curDetails: DonationMatchMessages.InstantiateMessageStruct, + details: DonationMatchMessages.InstantiateMessageStruct, overrides?: CallOverrides ): Promise; @@ -293,7 +293,7 @@ export interface DonationMatchCharity extends BaseContract { }; filters: { - "DonationMatchCharityErc20ApprovalGiven(uint256,address,address,uint256)"( + "DonationMatchCharityErc20ApprovalGiven(uint32,address,address,uint256)"( endowmentId?: null, tokenAddress?: null, spender?: null, @@ -306,7 +306,7 @@ export interface DonationMatchCharity extends BaseContract { amount?: null ): DonationMatchCharityErc20ApprovalGivenEventFilter; - "DonationMatchCharityErc20Burned(uint256,address,uint256)"( + "DonationMatchCharityErc20Burned(uint32,address,uint256)"( endowmentId?: null, tokenAddress?: null, amount?: null @@ -317,7 +317,7 @@ export interface DonationMatchCharity extends BaseContract { amount?: null ): DonationMatchCharityErc20BurnedEventFilter; - "DonationMatchCharityErc20Transfer(uint256,address,address,uint256)"( + "DonationMatchCharityErc20Transfer(uint32,address,address,uint256)"( endowmentId?: null, tokenAddress?: null, recipient?: null, @@ -330,7 +330,7 @@ export interface DonationMatchCharity extends BaseContract { amount?: null ): DonationMatchCharityErc20TransferEventFilter; - "DonationMatchCharityExecuted(address,address,uint256,address,uint256,address)"( + "DonationMatchCharityExecuted(address,address,uint256,address,uint32,address)"( donationMatch?: null, tokenAddress?: null, amount?: null, @@ -370,7 +370,7 @@ export interface DonationMatchCharity extends BaseContract { ): Promise; initialize( - curDetails: DonationMatchMessages.InstantiateMessageStruct, + details: DonationMatchMessages.InstantiateMessageStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -387,7 +387,7 @@ export interface DonationMatchCharity extends BaseContract { ): Promise; initialize( - curDetails: DonationMatchMessages.InstantiateMessageStruct, + details: DonationMatchMessages.InstantiateMessageStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/SubdaoToken.ts b/typechain-types/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/SubdaoToken.ts index 49adda967..94e02cb94 100644 --- a/typechain-types/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/SubdaoToken.ts +++ b/typechain-types/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/SubdaoToken.ts @@ -25,7 +25,7 @@ import type { export interface SubdaoTokenInterface extends utils.Interface { functions: { - "executeDonorMatch(uint256,address,uint256,address)": FunctionFragment; + "executeDonorMatch(uint256,address,uint32,address)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "executeDonorMatch"): FunctionFragment; @@ -76,28 +76,28 @@ export interface SubdaoToken extends BaseContract { functions: { executeDonorMatch( - curAmount: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curEndowmentid: PromiseOrValue, - curDonor: PromiseOrValue, + amount: PromiseOrValue, + accountscontract: PromiseOrValue, + endowmentid: PromiseOrValue, + donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; executeDonorMatch( - curAmount: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curEndowmentid: PromiseOrValue, - curDonor: PromiseOrValue, + amount: PromiseOrValue, + accountscontract: PromiseOrValue, + endowmentid: PromiseOrValue, + donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { executeDonorMatch( - curAmount: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curEndowmentid: PromiseOrValue, - curDonor: PromiseOrValue, + amount: PromiseOrValue, + accountscontract: PromiseOrValue, + endowmentid: PromiseOrValue, + donor: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -106,20 +106,20 @@ export interface SubdaoToken extends BaseContract { estimateGas: { executeDonorMatch( - curAmount: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curEndowmentid: PromiseOrValue, - curDonor: PromiseOrValue, + amount: PromiseOrValue, + accountscontract: PromiseOrValue, + endowmentid: PromiseOrValue, + donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { executeDonorMatch( - curAmount: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curEndowmentid: PromiseOrValue, - curDonor: PromiseOrValue, + amount: PromiseOrValue, + accountscontract: PromiseOrValue, + endowmentid: PromiseOrValue, + donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/normalized_endowment/donation-match/DonationMatchEmitter.ts b/typechain-types/contracts/normalized_endowment/donation-match/DonationMatchEmitter.ts index 802d90b69..0ea0c2c4d 100644 --- a/typechain-types/contracts/normalized_endowment/donation-match/DonationMatchEmitter.ts +++ b/typechain-types/contracts/normalized_endowment/donation-match/DonationMatchEmitter.ts @@ -47,13 +47,13 @@ export declare namespace DonationMatchStorage { export interface DonationMatchEmitterInterface extends utils.Interface { functions: { - "burnErC20(uint256,address,uint256)": FunctionFragment; - "executeDonorMatch(address,uint256,address,uint256,address)": FunctionFragment; - "giveApprovalErC20(uint256,address,address,uint256)": FunctionFragment; + "burnErC20(uint32,address,uint256)": FunctionFragment; + "executeDonorMatch(address,uint256,address,uint32,address)": FunctionFragment; + "giveApprovalErC20(uint32,address,address,uint256)": FunctionFragment; "initDonationMatchEmiiter(address)": FunctionFragment; - "initializeDonationMatch(uint256,address,(address,address,address,address,uint24))": FunctionFragment; + "initializeDonationMatch(uint32,address,(address,address,address,address,uint24))": FunctionFragment; "isDonationMatch(address)": FunctionFragment; - "transferErC20(uint256,address,address,uint256)": FunctionFragment; + "transferErC20(uint32,address,address,uint256)": FunctionFragment; }; getFunction( @@ -147,11 +147,11 @@ export interface DonationMatchEmitterInterface extends utils.Interface { ): Result; events: { - "DonationMatchExecuted(address,address,uint256,address,uint256,address)": EventFragment; - "DonationMatchInitialized(uint256,address,tuple)": EventFragment; - "Erc20ApprovalGiven(uint256,address,address,uint256)": EventFragment; - "Erc20Burned(uint256,address,uint256)": EventFragment; - "Erc20Transfer(uint256,address,address,uint256)": EventFragment; + "DonationMatchExecuted(address,address,uint256,address,uint32,address)": EventFragment; + "DonationMatchInitialized(uint32,address,tuple)": EventFragment; + "Erc20ApprovalGiven(uint32,address,address,uint256)": EventFragment; + "Erc20Burned(uint32,address,uint256)": EventFragment; + "Erc20Transfer(uint32,address,address,uint256)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "DonationMatchExecuted"): EventFragment; @@ -166,11 +166,11 @@ export interface DonationMatchExecutedEventObject { tokenAddress: string; amount: BigNumber; accountsContract: string; - endowmentId: BigNumber; + endowmentId: number; donor: string; } export type DonationMatchExecutedEvent = TypedEvent< - [string, string, BigNumber, string, BigNumber, string], + [string, string, BigNumber, string, number, string], DonationMatchExecutedEventObject >; @@ -178,12 +178,12 @@ export type DonationMatchExecutedEventFilter = TypedEventFilter; export interface DonationMatchInitializedEventObject { - endowmentId: BigNumber; + endowmentId: number; donationMatch: string; config: DonationMatchStorage.ConfigStructOutput; } export type DonationMatchInitializedEvent = TypedEvent< - [BigNumber, string, DonationMatchStorage.ConfigStructOutput], + [number, string, DonationMatchStorage.ConfigStructOutput], DonationMatchInitializedEventObject >; @@ -191,13 +191,13 @@ export type DonationMatchInitializedEventFilter = TypedEventFilter; export interface Erc20ApprovalGivenEventObject { - endowmentId: BigNumber; + endowmentId: number; tokenAddress: string; spender: string; amount: BigNumber; } export type Erc20ApprovalGivenEvent = TypedEvent< - [BigNumber, string, string, BigNumber], + [number, string, string, BigNumber], Erc20ApprovalGivenEventObject >; @@ -205,25 +205,25 @@ export type Erc20ApprovalGivenEventFilter = TypedEventFilter; export interface Erc20BurnedEventObject { - endowmentId: BigNumber; + endowmentId: number; tokenAddress: string; amount: BigNumber; } export type Erc20BurnedEvent = TypedEvent< - [BigNumber, string, BigNumber], + [number, string, BigNumber], Erc20BurnedEventObject >; export type Erc20BurnedEventFilter = TypedEventFilter; export interface Erc20TransferEventObject { - endowmentId: BigNumber; + endowmentId: number; tokenAddress: string; recipient: string; amount: BigNumber; } export type Erc20TransferEvent = TypedEvent< - [BigNumber, string, string, BigNumber], + [number, string, string, BigNumber], Erc20TransferEventObject >; @@ -266,7 +266,7 @@ export interface DonationMatchEmitter extends BaseContract { executeDonorMatch( tokenAddress: PromiseOrValue, amount: PromiseOrValue, - curAccountsContract: PromiseOrValue, + accountsContract: PromiseOrValue, endowmentId: PromiseOrValue, donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } @@ -281,7 +281,7 @@ export interface DonationMatchEmitter extends BaseContract { ): Promise; initDonationMatchEmiiter( - curAccountscontract: PromiseOrValue, + accountscontract: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -316,7 +316,7 @@ export interface DonationMatchEmitter extends BaseContract { executeDonorMatch( tokenAddress: PromiseOrValue, amount: PromiseOrValue, - curAccountsContract: PromiseOrValue, + accountsContract: PromiseOrValue, endowmentId: PromiseOrValue, donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } @@ -331,7 +331,7 @@ export interface DonationMatchEmitter extends BaseContract { ): Promise; initDonationMatchEmiiter( - curAccountscontract: PromiseOrValue, + accountscontract: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -366,7 +366,7 @@ export interface DonationMatchEmitter extends BaseContract { executeDonorMatch( tokenAddress: PromiseOrValue, amount: PromiseOrValue, - curAccountsContract: PromiseOrValue, + accountsContract: PromiseOrValue, endowmentId: PromiseOrValue, donor: PromiseOrValue, overrides?: CallOverrides @@ -381,7 +381,7 @@ export interface DonationMatchEmitter extends BaseContract { ): Promise; initDonationMatchEmiiter( - curAccountscontract: PromiseOrValue, + accountscontract: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -407,7 +407,7 @@ export interface DonationMatchEmitter extends BaseContract { }; filters: { - "DonationMatchExecuted(address,address,uint256,address,uint256,address)"( + "DonationMatchExecuted(address,address,uint256,address,uint32,address)"( donationMatch?: null, tokenAddress?: null, amount?: null, @@ -424,7 +424,7 @@ export interface DonationMatchEmitter extends BaseContract { donor?: null ): DonationMatchExecutedEventFilter; - "DonationMatchInitialized(uint256,address,tuple)"( + "DonationMatchInitialized(uint32,address,tuple)"( endowmentId?: null, donationMatch?: null, config?: null @@ -435,7 +435,7 @@ export interface DonationMatchEmitter extends BaseContract { config?: null ): DonationMatchInitializedEventFilter; - "Erc20ApprovalGiven(uint256,address,address,uint256)"( + "Erc20ApprovalGiven(uint32,address,address,uint256)"( endowmentId?: null, tokenAddress?: null, spender?: null, @@ -448,7 +448,7 @@ export interface DonationMatchEmitter extends BaseContract { amount?: null ): Erc20ApprovalGivenEventFilter; - "Erc20Burned(uint256,address,uint256)"( + "Erc20Burned(uint32,address,uint256)"( endowmentId?: null, tokenAddress?: null, amount?: null @@ -459,7 +459,7 @@ export interface DonationMatchEmitter extends BaseContract { amount?: null ): Erc20BurnedEventFilter; - "Erc20Transfer(uint256,address,address,uint256)"( + "Erc20Transfer(uint32,address,address,uint256)"( endowmentId?: null, tokenAddress?: null, recipient?: null, @@ -484,7 +484,7 @@ export interface DonationMatchEmitter extends BaseContract { executeDonorMatch( tokenAddress: PromiseOrValue, amount: PromiseOrValue, - curAccountsContract: PromiseOrValue, + accountsContract: PromiseOrValue, endowmentId: PromiseOrValue, donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } @@ -499,7 +499,7 @@ export interface DonationMatchEmitter extends BaseContract { ): Promise; initDonationMatchEmiiter( - curAccountscontract: PromiseOrValue, + accountscontract: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -535,7 +535,7 @@ export interface DonationMatchEmitter extends BaseContract { executeDonorMatch( tokenAddress: PromiseOrValue, amount: PromiseOrValue, - curAccountsContract: PromiseOrValue, + accountsContract: PromiseOrValue, endowmentId: PromiseOrValue, donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } @@ -550,7 +550,7 @@ export interface DonationMatchEmitter extends BaseContract { ): Promise; initDonationMatchEmiiter( - curAccountscontract: PromiseOrValue, + accountscontract: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSig.ts b/typechain-types/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSig.ts index 9a7346039..5d79f7b0c 100644 --- a/typechain-types/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSig.ts +++ b/typechain-types/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSig.ts @@ -488,12 +488,12 @@ export interface EndowmentMultiSig extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise<[BigNumber]>; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -521,7 +521,7 @@ export interface EndowmentMultiSig extends BaseContract { getConfirmations( transactionId: PromiseOrValue, overrides?: CallOverrides - ): Promise<[string[]] & { curConfirmations: string[] }>; + ): Promise<[string[]] & { ownerConfirmations: string[] }>; getOwners(overrides?: CallOverrides): Promise<[string[]]>; @@ -537,14 +537,14 @@ export interface EndowmentMultiSig extends BaseContract { pending: PromiseOrValue, executed: PromiseOrValue, overrides?: CallOverrides - ): Promise<[BigNumber[]] & { curTransactionids: BigNumber[] }>; + ): Promise<[BigNumber[]] & { transactionIds: BigNumber[] }>; "initialize(uint256,address,address[],uint256,bool)"( - endowmentId: PromiseOrValue, - curEmitter: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _endowmentId: PromiseOrValue, + _emitter: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -571,13 +571,13 @@ export interface EndowmentMultiSig extends BaseContract { ): Promise<[string]>; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -630,12 +630,12 @@ export interface EndowmentMultiSig extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -682,11 +682,11 @@ export interface EndowmentMultiSig extends BaseContract { ): Promise; "initialize(uint256,address,address[],uint256,bool)"( - endowmentId: PromiseOrValue, - curEmitter: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _endowmentId: PromiseOrValue, + _emitter: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -713,13 +713,13 @@ export interface EndowmentMultiSig extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -772,12 +772,12 @@ export interface EndowmentMultiSig extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: CallOverrides ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -824,11 +824,11 @@ export interface EndowmentMultiSig extends BaseContract { ): Promise; "initialize(uint256,address,address[],uint256,bool)"( - endowmentId: PromiseOrValue, - curEmitter: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _endowmentId: PromiseOrValue, + _emitter: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -855,13 +855,13 @@ export interface EndowmentMultiSig extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: CallOverrides ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -987,12 +987,12 @@ export interface EndowmentMultiSig extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1039,11 +1039,11 @@ export interface EndowmentMultiSig extends BaseContract { ): Promise; "initialize(uint256,address,address[],uint256,bool)"( - endowmentId: PromiseOrValue, - curEmitter: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _endowmentId: PromiseOrValue, + _emitter: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1070,13 +1070,13 @@ export interface EndowmentMultiSig extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1120,12 +1120,12 @@ export interface EndowmentMultiSig extends BaseContract { MAX_OWNER_COUNT(overrides?: CallOverrides): Promise; addOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; changeRequirement( - curRequired: PromiseOrValue, + _required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1172,11 +1172,11 @@ export interface EndowmentMultiSig extends BaseContract { ): Promise; "initialize(uint256,address,address[],uint256,bool)"( - endowmentId: PromiseOrValue, - curEmitter: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + _endowmentId: PromiseOrValue, + _emitter: PromiseOrValue, + _owners: PromiseOrValue[], + _required: PromiseOrValue, + _requireExecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1203,13 +1203,13 @@ export interface EndowmentMultiSig extends BaseContract { ): Promise; removeOwner( - owner: PromiseOrValue, + _owner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; replaceOwner( - owner: PromiseOrValue, - newOwner: PromiseOrValue, + _owner: PromiseOrValue, + _newOwner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigEmitter.ts b/typechain-types/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigEmitter.ts index b264d2c02..9fd1e88a2 100644 --- a/typechain-types/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigEmitter.ts +++ b/typechain-types/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigEmitter.ts @@ -340,10 +340,10 @@ export type EndowmentSubmissionEventFilter = export interface MultisigCreatedEventObject { multisigAddress: string; endowmentId: BigNumber; - curEmitter: string; - curOwners: string[]; - curRequired: BigNumber; - curRequireexecution: boolean; + emitter: string; + owners: string[]; + required: BigNumber; + requireexecution: boolean; } export type MultisigCreatedEvent = TypedEvent< [string, BigNumber, string, string[], BigNumber, boolean], @@ -395,10 +395,10 @@ export interface EndowmentMultiSigEmitter extends BaseContract { createMultisig( multisigAddress: PromiseOrValue, endowmentId: PromiseOrValue, - curEmitter: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + emitter: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, + requireexecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -422,7 +422,7 @@ export interface EndowmentMultiSigEmitter extends BaseContract { ): Promise; initEndowmentMultiSigEmitter( - curMultisigfactory: PromiseOrValue, + _multisigFactory: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -469,10 +469,10 @@ export interface EndowmentMultiSigEmitter extends BaseContract { createMultisig( multisigAddress: PromiseOrValue, endowmentId: PromiseOrValue, - curEmitter: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + emitter: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, + requireexecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -496,7 +496,7 @@ export interface EndowmentMultiSigEmitter extends BaseContract { ): Promise; initEndowmentMultiSigEmitter( - curMultisigfactory: PromiseOrValue, + _multisigFactory: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -543,10 +543,10 @@ export interface EndowmentMultiSigEmitter extends BaseContract { createMultisig( multisigAddress: PromiseOrValue, endowmentId: PromiseOrValue, - curEmitter: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + emitter: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, + requireexecution: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -570,7 +570,7 @@ export interface EndowmentMultiSigEmitter extends BaseContract { ): Promise; initEndowmentMultiSigEmitter( - curMultisigfactory: PromiseOrValue, + _multisigFactory: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -694,18 +694,18 @@ export interface EndowmentMultiSigEmitter extends BaseContract { "MultisigCreated(address,uint256,address,address[],uint256,bool)"( multisigAddress?: null, endowmentId?: null, - curEmitter?: null, - curOwners?: null, - curRequired?: null, - curRequireexecution?: null + emitter?: null, + owners?: null, + required?: null, + requireexecution?: null ): MultisigCreatedEventFilter; MultisigCreated( multisigAddress?: null, endowmentId?: null, - curEmitter?: null, - curOwners?: null, - curRequired?: null, - curRequireexecution?: null + emitter?: null, + owners?: null, + required?: null, + requireexecution?: null ): MultisigCreatedEventFilter; }; @@ -726,10 +726,10 @@ export interface EndowmentMultiSigEmitter extends BaseContract { createMultisig( multisigAddress: PromiseOrValue, endowmentId: PromiseOrValue, - curEmitter: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + emitter: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, + requireexecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -753,7 +753,7 @@ export interface EndowmentMultiSigEmitter extends BaseContract { ): Promise; initEndowmentMultiSigEmitter( - curMultisigfactory: PromiseOrValue, + _multisigFactory: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -801,10 +801,10 @@ export interface EndowmentMultiSigEmitter extends BaseContract { createMultisig( multisigAddress: PromiseOrValue, endowmentId: PromiseOrValue, - curEmitter: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + emitter: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, + requireexecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -828,7 +828,7 @@ export interface EndowmentMultiSigEmitter extends BaseContract { ): Promise; initEndowmentMultiSigEmitter( - curMultisigfactory: PromiseOrValue, + _multisigFactory: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol/MultiSigWalletFactory.ts b/typechain-types/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol/MultiSigWalletFactory.ts index ee1bfc7e5..425116c64 100644 --- a/typechain-types/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol/MultiSigWalletFactory.ts +++ b/typechain-types/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol/MultiSigWalletFactory.ts @@ -196,8 +196,8 @@ export interface MultiSigWalletFactory extends BaseContract { create( endowmentId: PromiseOrValue, emitterAddress: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -247,8 +247,8 @@ export interface MultiSigWalletFactory extends BaseContract { create( endowmentId: PromiseOrValue, emitterAddress: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -298,8 +298,8 @@ export interface MultiSigWalletFactory extends BaseContract { create( endowmentId: PromiseOrValue, emitterAddress: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -368,8 +368,8 @@ export interface MultiSigWalletFactory extends BaseContract { create( endowmentId: PromiseOrValue, emitterAddress: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -420,8 +420,8 @@ export interface MultiSigWalletFactory extends BaseContract { create( endowmentId: PromiseOrValue, emitterAddress: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/endowment-multisig/index.ts b/typechain-types/contracts/normalized_endowment/endowment-multisig/index.ts index 64304c313..a069d6535 100644 --- a/typechain-types/contracts/normalized_endowment/endowment-multisig/index.ts +++ b/typechain-types/contracts/normalized_endowment/endowment-multisig/index.ts @@ -3,7 +3,7 @@ /* eslint-disable */ import type * as endowmentMultiSigFactorySol from "./EndowmentMultiSigFactory.sol"; export type { endowmentMultiSigFactorySol }; -import type * as interface from "./interface"; -export type { interface }; +import type * as interfaces from "./interfaces"; +export type { interfaces }; export type { EndowmentMultiSig } from "./EndowmentMultiSig"; export type { EndowmentMultiSigEmitter } from "./EndowmentMultiSigEmitter"; diff --git a/typechain-types/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigEmitter.ts b/typechain-types/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigEmitter.ts similarity index 94% rename from typechain-types/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigEmitter.ts rename to typechain-types/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigEmitter.ts index 22495c8b2..31cf2a06e 100644 --- a/typechain-types/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigEmitter.ts +++ b/typechain-types/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigEmitter.ts @@ -232,10 +232,10 @@ export interface IEndowmentMultiSigEmitter extends BaseContract { createMultisig( multisigAddress: PromiseOrValue, endowmentId: PromiseOrValue, - curEmitter: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + emitter: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, + requireexecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -301,10 +301,10 @@ export interface IEndowmentMultiSigEmitter extends BaseContract { createMultisig( multisigAddress: PromiseOrValue, endowmentId: PromiseOrValue, - curEmitter: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + emitter: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, + requireexecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -370,10 +370,10 @@ export interface IEndowmentMultiSigEmitter extends BaseContract { createMultisig( multisigAddress: PromiseOrValue, endowmentId: PromiseOrValue, - curEmitter: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + emitter: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, + requireexecution: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -442,10 +442,10 @@ export interface IEndowmentMultiSigEmitter extends BaseContract { createMultisig( multisigAddress: PromiseOrValue, endowmentId: PromiseOrValue, - curEmitter: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + emitter: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, + requireexecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -512,10 +512,10 @@ export interface IEndowmentMultiSigEmitter extends BaseContract { createMultisig( multisigAddress: PromiseOrValue, endowmentId: PromiseOrValue, - curEmitter: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, - curRequireexecution: PromiseOrValue, + emitter: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, + requireexecution: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigFactory.ts b/typechain-types/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigFactory.ts similarity index 93% rename from typechain-types/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigFactory.ts rename to typechain-types/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigFactory.ts index da862f1f2..a10bd6418 100644 --- a/typechain-types/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigFactory.ts +++ b/typechain-types/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigFactory.ts @@ -108,8 +108,8 @@ export interface IEndowmentMultiSigFactory extends BaseContract { create( endowmentId: PromiseOrValue, emitterAddress: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -132,8 +132,8 @@ export interface IEndowmentMultiSigFactory extends BaseContract { create( endowmentId: PromiseOrValue, emitterAddress: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -156,8 +156,8 @@ export interface IEndowmentMultiSigFactory extends BaseContract { create( endowmentId: PromiseOrValue, emitterAddress: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -183,8 +183,8 @@ export interface IEndowmentMultiSigFactory extends BaseContract { create( endowmentId: PromiseOrValue, emitterAddress: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -208,8 +208,8 @@ export interface IEndowmentMultiSigFactory extends BaseContract { create( endowmentId: PromiseOrValue, emitterAddress: PromiseOrValue, - curOwners: PromiseOrValue[], - curRequired: PromiseOrValue, + owners: PromiseOrValue[], + required: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/endowment-multisig/interface/index.ts b/typechain-types/contracts/normalized_endowment/endowment-multisig/interfaces/index.ts similarity index 100% rename from typechain-types/contracts/normalized_endowment/endowment-multisig/interface/index.ts rename to typechain-types/contracts/normalized_endowment/endowment-multisig/interfaces/index.ts diff --git a/typechain-types/contracts/normalized_endowment/incentivised-voting/IncentivisedVotingLockup.ts b/typechain-types/contracts/normalized_endowment/incentivised-voting/IncentivisedVotingLockup.ts index 8e450e7a5..5947fcc9f 100644 --- a/typechain-types/contracts/normalized_endowment/incentivised-voting/IncentivisedVotingLockup.ts +++ b/typechain-types/contracts/normalized_endowment/incentivised-voting/IncentivisedVotingLockup.ts @@ -479,13 +479,13 @@ export interface IncentivisedVotingLockup extends BaseContract { admin(overrides?: CallOverrides): Promise<[string]>; balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; @@ -494,15 +494,15 @@ export interface IncentivisedVotingLockup extends BaseContract { ): Promise; createLock( - curValue: PromiseOrValue, - curUnlocktime: PromiseOrValue, + value: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; decimals(overrides?: CallOverrides): Promise<[BigNumber]>; eject( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -517,7 +517,7 @@ export interface IncentivisedVotingLockup extends BaseContract { expired(overrides?: CallOverrides): Promise<[boolean]>; getLastUserPoint( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { @@ -528,26 +528,26 @@ export interface IncentivisedVotingLockup extends BaseContract { >; getVestedAmount( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; globalEpoch(overrides?: CallOverrides): Promise<[BigNumber]>; increaseLockAmount( - curValue: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; increaseLockLength( - curUnlocktime: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initialize( - curStakingtoken: PromiseOrValue, - curName: PromiseOrValue, - curSymbol: PromiseOrValue, + stakingtoken: PromiseOrValue, + name: PromiseOrValue, + symbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -602,7 +602,7 @@ export interface IncentivisedVotingLockup extends BaseContract { stakingToken(overrides?: CallOverrides): Promise<[string]>; staticBalanceOf( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; @@ -613,12 +613,12 @@ export interface IncentivisedVotingLockup extends BaseContract { totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; transferOwnership( - curNewowner: PromiseOrValue, + newowner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -657,13 +657,13 @@ export interface IncentivisedVotingLockup extends BaseContract { admin(overrides?: CallOverrides): Promise; balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -672,15 +672,15 @@ export interface IncentivisedVotingLockup extends BaseContract { ): Promise; createLock( - curValue: PromiseOrValue, - curUnlocktime: PromiseOrValue, + value: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; decimals(overrides?: CallOverrides): Promise; eject( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -695,7 +695,7 @@ export interface IncentivisedVotingLockup extends BaseContract { expired(overrides?: CallOverrides): Promise; getLastUserPoint( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { @@ -706,26 +706,26 @@ export interface IncentivisedVotingLockup extends BaseContract { >; getVestedAmount( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; globalEpoch(overrides?: CallOverrides): Promise; increaseLockAmount( - curValue: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; increaseLockLength( - curUnlocktime: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initialize( - curStakingtoken: PromiseOrValue, - curName: PromiseOrValue, - curSymbol: PromiseOrValue, + stakingtoken: PromiseOrValue, + name: PromiseOrValue, + symbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -780,7 +780,7 @@ export interface IncentivisedVotingLockup extends BaseContract { stakingToken(overrides?: CallOverrides): Promise; staticBalanceOf( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -791,12 +791,12 @@ export interface IncentivisedVotingLockup extends BaseContract { totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; transferOwnership( - curNewowner: PromiseOrValue, + newowner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -835,28 +835,28 @@ export interface IncentivisedVotingLockup extends BaseContract { admin(overrides?: CallOverrides): Promise; balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; checkpoint(overrides?: CallOverrides): Promise; createLock( - curValue: PromiseOrValue, - curUnlocktime: PromiseOrValue, + value: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: CallOverrides ): Promise; decimals(overrides?: CallOverrides): Promise; eject( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -867,7 +867,7 @@ export interface IncentivisedVotingLockup extends BaseContract { expired(overrides?: CallOverrides): Promise; getLastUserPoint( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { @@ -878,26 +878,26 @@ export interface IncentivisedVotingLockup extends BaseContract { >; getVestedAmount( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; globalEpoch(overrides?: CallOverrides): Promise; increaseLockAmount( - curValue: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; increaseLockLength( - curUnlocktime: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: CallOverrides ): Promise; initialize( - curStakingtoken: PromiseOrValue, - curName: PromiseOrValue, - curSymbol: PromiseOrValue, + stakingtoken: PromiseOrValue, + name: PromiseOrValue, + symbol: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -952,7 +952,7 @@ export interface IncentivisedVotingLockup extends BaseContract { stakingToken(overrides?: CallOverrides): Promise; staticBalanceOf( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -963,12 +963,12 @@ export interface IncentivisedVotingLockup extends BaseContract { totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; transferOwnership( - curNewowner: PromiseOrValue, + newowner: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -1071,13 +1071,13 @@ export interface IncentivisedVotingLockup extends BaseContract { admin(overrides?: CallOverrides): Promise; balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -1086,15 +1086,15 @@ export interface IncentivisedVotingLockup extends BaseContract { ): Promise; createLock( - curValue: PromiseOrValue, - curUnlocktime: PromiseOrValue, + value: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; decimals(overrides?: CallOverrides): Promise; eject( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1109,31 +1109,31 @@ export interface IncentivisedVotingLockup extends BaseContract { expired(overrides?: CallOverrides): Promise; getLastUserPoint( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; getVestedAmount( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; globalEpoch(overrides?: CallOverrides): Promise; increaseLockAmount( - curValue: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; increaseLockLength( - curUnlocktime: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initialize( - curStakingtoken: PromiseOrValue, - curName: PromiseOrValue, - curSymbol: PromiseOrValue, + stakingtoken: PromiseOrValue, + name: PromiseOrValue, + symbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1175,7 +1175,7 @@ export interface IncentivisedVotingLockup extends BaseContract { stakingToken(overrides?: CallOverrides): Promise; staticBalanceOf( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -1186,12 +1186,12 @@ export interface IncentivisedVotingLockup extends BaseContract { totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; transferOwnership( - curNewowner: PromiseOrValue, + newowner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1224,13 +1224,13 @@ export interface IncentivisedVotingLockup extends BaseContract { admin(overrides?: CallOverrides): Promise; balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -1239,15 +1239,15 @@ export interface IncentivisedVotingLockup extends BaseContract { ): Promise; createLock( - curValue: PromiseOrValue, - curUnlocktime: PromiseOrValue, + value: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; decimals(overrides?: CallOverrides): Promise; eject( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1262,31 +1262,31 @@ export interface IncentivisedVotingLockup extends BaseContract { expired(overrides?: CallOverrides): Promise; getLastUserPoint( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; getVestedAmount( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; globalEpoch(overrides?: CallOverrides): Promise; increaseLockAmount( - curValue: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; increaseLockLength( - curUnlocktime: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initialize( - curStakingtoken: PromiseOrValue, - curName: PromiseOrValue, - curSymbol: PromiseOrValue, + stakingtoken: PromiseOrValue, + name: PromiseOrValue, + symbol: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1330,7 +1330,7 @@ export interface IncentivisedVotingLockup extends BaseContract { stakingToken(overrides?: CallOverrides): Promise; staticBalanceOf( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -1341,12 +1341,12 @@ export interface IncentivisedVotingLockup extends BaseContract { totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; transferOwnership( - curNewowner: PromiseOrValue, + newowner: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/incentivised-voting/index.ts b/typechain-types/contracts/normalized_endowment/incentivised-voting/index.ts index ea260f1bc..d0c7dc82f 100644 --- a/typechain-types/contracts/normalized_endowment/incentivised-voting/index.ts +++ b/typechain-types/contracts/normalized_endowment/incentivised-voting/index.ts @@ -1,8 +1,8 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import type * as interface from "./interface"; -export type { interface }; +import type * as interfaces from "./interfaces"; +export type { interfaces }; import type * as lib from "./lib"; export type { lib }; export type { IncentivisedVotingLockup } from "./IncentivisedVotingLockup"; diff --git a/typechain-types/contracts/normalized_endowment/incentivised-voting/interface/IIncentivisedVotingLockup.ts b/typechain-types/contracts/normalized_endowment/incentivised-voting/interfaces/IIncentivisedVotingLockup.ts similarity index 82% rename from typechain-types/contracts/normalized_endowment/incentivised-voting/interface/IIncentivisedVotingLockup.ts rename to typechain-types/contracts/normalized_endowment/incentivised-voting/interfaces/IIncentivisedVotingLockup.ts index 45bb69a91..96fba7716 100644 --- a/typechain-types/contracts/normalized_endowment/incentivised-voting/interface/IIncentivisedVotingLockup.ts +++ b/typechain-types/contracts/normalized_endowment/incentivised-voting/interfaces/IIncentivisedVotingLockup.ts @@ -163,24 +163,24 @@ export interface IIncentivisedVotingLockup extends BaseContract { functions: { balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; createLock( - curValue: PromiseOrValue, - curUnlocktime: PromiseOrValue, + value: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; eject( - curUser: PromiseOrValue, + user: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -193,7 +193,7 @@ export interface IIncentivisedVotingLockup extends BaseContract { ): Promise; getLastUserPoint( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { @@ -204,19 +204,19 @@ export interface IIncentivisedVotingLockup extends BaseContract { >; increaseLockAmount( - curValue: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; increaseLockLength( - curUnlocktime: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; @@ -226,24 +226,24 @@ export interface IIncentivisedVotingLockup extends BaseContract { }; balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; createLock( - curValue: PromiseOrValue, - curUnlocktime: PromiseOrValue, + value: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; eject( - curUser: PromiseOrValue, + user: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -256,7 +256,7 @@ export interface IIncentivisedVotingLockup extends BaseContract { ): Promise; getLastUserPoint( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { @@ -267,19 +267,19 @@ export interface IIncentivisedVotingLockup extends BaseContract { >; increaseLockAmount( - curValue: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; increaseLockLength( - curUnlocktime: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -289,24 +289,24 @@ export interface IIncentivisedVotingLockup extends BaseContract { callStatic: { balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; createLock( - curValue: PromiseOrValue, - curUnlocktime: PromiseOrValue, + value: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: CallOverrides ): Promise; eject( - curUser: PromiseOrValue, + user: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -315,7 +315,7 @@ export interface IIncentivisedVotingLockup extends BaseContract { expireContract(overrides?: CallOverrides): Promise; getLastUserPoint( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise< [BigNumber, BigNumber, BigNumber] & { @@ -326,19 +326,19 @@ export interface IIncentivisedVotingLockup extends BaseContract { >; increaseLockAmount( - curValue: PromiseOrValue, + value: PromiseOrValue, overrides?: CallOverrides ): Promise; increaseLockLength( - curUnlocktime: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: CallOverrides ): Promise; totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -349,24 +349,24 @@ export interface IIncentivisedVotingLockup extends BaseContract { estimateGas: { balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; createLock( - curValue: PromiseOrValue, - curUnlocktime: PromiseOrValue, + value: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; eject( - curUser: PromiseOrValue, + user: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -379,24 +379,24 @@ export interface IIncentivisedVotingLockup extends BaseContract { ): Promise; getLastUserPoint( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; increaseLockAmount( - curValue: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; increaseLockLength( - curUnlocktime: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -407,24 +407,24 @@ export interface IIncentivisedVotingLockup extends BaseContract { populateTransaction: { balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; createLock( - curValue: PromiseOrValue, - curUnlocktime: PromiseOrValue, + value: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; eject( - curUser: PromiseOrValue, + user: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -437,24 +437,24 @@ export interface IIncentivisedVotingLockup extends BaseContract { ): Promise; getLastUserPoint( - curAddr: PromiseOrValue, + addr: PromiseOrValue, overrides?: CallOverrides ): Promise; increaseLockAmount( - curValue: PromiseOrValue, + value: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; increaseLockLength( - curUnlocktime: PromiseOrValue, + unlocktime: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/incentivised-voting/interface/QueryIIncentivisedVotingLockup.ts b/typechain-types/contracts/normalized_endowment/incentivised-voting/interfaces/QueryIIncentivisedVotingLockup.ts similarity index 82% rename from typechain-types/contracts/normalized_endowment/incentivised-voting/interface/QueryIIncentivisedVotingLockup.ts rename to typechain-types/contracts/normalized_endowment/incentivised-voting/interfaces/QueryIIncentivisedVotingLockup.ts index 0544d713c..095383839 100644 --- a/typechain-types/contracts/normalized_endowment/incentivised-voting/interface/QueryIIncentivisedVotingLockup.ts +++ b/typechain-types/contracts/normalized_endowment/incentivised-voting/interfaces/QueryIIncentivisedVotingLockup.ts @@ -100,58 +100,58 @@ export interface QueryIIncentivisedVotingLockup extends BaseContract { functions: { balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; }; balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; callStatic: { balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -160,40 +160,40 @@ export interface QueryIIncentivisedVotingLockup extends BaseContract { estimateGas: { balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; }; populateTransaction: { balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; }; diff --git a/typechain-types/contracts/normalized_endowment/incentivised-voting/interface/index.ts b/typechain-types/contracts/normalized_endowment/incentivised-voting/interfaces/index.ts similarity index 100% rename from typechain-types/contracts/normalized_endowment/incentivised-voting/interface/index.ts rename to typechain-types/contracts/normalized_endowment/incentivised-voting/interfaces/index.ts diff --git a/typechain-types/contracts/normalized_endowment/incentivised-voting/lib/shared/IERC20WithCheckpointing.ts b/typechain-types/contracts/normalized_endowment/incentivised-voting/lib/shared/IERC20WithCheckpointing.ts index 11756b3f8..3d1359da6 100644 --- a/typechain-types/contracts/normalized_endowment/incentivised-voting/lib/shared/IERC20WithCheckpointing.ts +++ b/typechain-types/contracts/normalized_endowment/incentivised-voting/lib/shared/IERC20WithCheckpointing.ts @@ -99,58 +99,58 @@ export interface IERC20WithCheckpointing extends BaseContract { functions: { balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; totalSupply(overrides?: CallOverrides): Promise<[BigNumber]>; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; }; balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; callStatic: { balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -159,40 +159,40 @@ export interface IERC20WithCheckpointing extends BaseContract { estimateGas: { balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; }; populateTransaction: { balanceOf( - curOwner: PromiseOrValue, + owner: PromiseOrValue, overrides?: CallOverrides ): Promise; balanceOfAt( - curOwner: PromiseOrValue, - curBlocknumber: PromiseOrValue, + owner: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; totalSupply(overrides?: CallOverrides): Promise; totalSupplyAt( - curBlocknumber: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; }; diff --git a/typechain-types/contracts/normalized_endowment/index.ts b/typechain-types/contracts/normalized_endowment/index.ts index 04d90a3a0..230651e6d 100644 --- a/typechain-types/contracts/normalized_endowment/index.ts +++ b/typechain-types/contracts/normalized_endowment/index.ts @@ -7,8 +7,6 @@ import type * as endowmentMultisig from "./endowment-multisig"; export type { endowmentMultisig }; import type * as incentivisedVoting from "./incentivised-voting"; export type { incentivisedVoting }; -import type * as lockedWithdraw from "./locked-withdraw"; -export type { lockedWithdraw }; import type * as subdao from "./subdao"; export type { subdao }; import type * as subdaoToken from "./subdao-token"; diff --git a/typechain-types/contracts/normalized_endowment/locked-withdraw/LockedWithdraw.ts b/typechain-types/contracts/normalized_endowment/locked-withdraw/LockedWithdraw.ts deleted file mode 100644 index 00bed5ede..000000000 --- a/typechain-types/contracts/normalized_endowment/locked-withdraw/LockedWithdraw.ts +++ /dev/null @@ -1,477 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import type { - FunctionFragment, - Result, - EventFragment, -} from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; -import type { - TypedEventFilter, - TypedEvent, - TypedListener, - OnEvent, - PromiseOrValue, -} from "../../../common"; - -export interface LockedWithdrawInterface extends utils.Interface { - functions: { - "approve(uint256)": FunctionFragment; - "initialize(address,address,address,address)": FunctionFragment; - "propose(uint256,address,address[],uint256[])": FunctionFragment; - "reject(uint256)": FunctionFragment; - "supportsInterface(bytes4)": FunctionFragment; - "updateConfig(address,address,address,address)": FunctionFragment; - }; - - getFunction( - nameOrSignatureOrTopic: - | "approve" - | "initialize" - | "propose" - | "reject" - | "supportsInterface" - | "updateConfig" - ): FunctionFragment; - - encodeFunctionData( - functionFragment: "approve", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "initialize", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - encodeFunctionData( - functionFragment: "propose", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue[], - PromiseOrValue[] - ] - ): string; - encodeFunctionData( - functionFragment: "reject", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "supportsInterface", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "updateConfig", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - - decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "reject", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "supportsInterface", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "updateConfig", - data: BytesLike - ): Result; - - events: { - "Initialized(uint8)": EventFragment; - "LockedWithdrawAPTeam(uint256,address)": EventFragment; - "LockedWithdrawApproved(uint256,address,address[],uint256[])": EventFragment; - "LockedWithdrawEndowment(uint256,address)": EventFragment; - "LockedWithdrawInitiated(uint256,address,address,address[],uint256[])": EventFragment; - "LockedWithdrawRejected(uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; - getEvent(nameOrSignatureOrTopic: "LockedWithdrawAPTeam"): EventFragment; - getEvent(nameOrSignatureOrTopic: "LockedWithdrawApproved"): EventFragment; - getEvent(nameOrSignatureOrTopic: "LockedWithdrawEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "LockedWithdrawInitiated"): EventFragment; - getEvent(nameOrSignatureOrTopic: "LockedWithdrawRejected"): EventFragment; -} - -export interface InitializedEventObject { - version: number; -} -export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; - -export type InitializedEventFilter = TypedEventFilter; - -export interface LockedWithdrawAPTeamEventObject { - accountId: BigNumber; - sender: string; -} -export type LockedWithdrawAPTeamEvent = TypedEvent< - [BigNumber, string], - LockedWithdrawAPTeamEventObject ->; - -export type LockedWithdrawAPTeamEventFilter = - TypedEventFilter; - -export interface LockedWithdrawApprovedEventObject { - accountId: BigNumber; - curBeneficiary: string; - curTokenaddress: string[]; - curAmount: BigNumber[]; -} -export type LockedWithdrawApprovedEvent = TypedEvent< - [BigNumber, string, string[], BigNumber[]], - LockedWithdrawApprovedEventObject ->; - -export type LockedWithdrawApprovedEventFilter = - TypedEventFilter; - -export interface LockedWithdrawEndowmentEventObject { - accountId: BigNumber; - sender: string; -} -export type LockedWithdrawEndowmentEvent = TypedEvent< - [BigNumber, string], - LockedWithdrawEndowmentEventObject ->; - -export type LockedWithdrawEndowmentEventFilter = - TypedEventFilter; - -export interface LockedWithdrawInitiatedEventObject { - accountId: BigNumber; - initiator: string; - curBeneficiary: string; - curTokenaddress: string[]; - curAmount: BigNumber[]; -} -export type LockedWithdrawInitiatedEvent = TypedEvent< - [BigNumber, string, string, string[], BigNumber[]], - LockedWithdrawInitiatedEventObject ->; - -export type LockedWithdrawInitiatedEventFilter = - TypedEventFilter; - -export interface LockedWithdrawRejectedEventObject { - accountId: BigNumber; -} -export type LockedWithdrawRejectedEvent = TypedEvent< - [BigNumber], - LockedWithdrawRejectedEventObject ->; - -export type LockedWithdrawRejectedEventFilter = - TypedEventFilter; - -export interface LockedWithdraw extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: LockedWithdrawInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - approve( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - initialize( - curRegistrar: PromiseOrValue, - curAccounts: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curEndowfactory: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - propose( - accountId: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - reject( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - supportsInterface( - interfaceId: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[boolean]>; - - updateConfig( - curRegistrar: PromiseOrValue, - curAccounts: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curEndowfactory: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; - - approve( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - initialize( - curRegistrar: PromiseOrValue, - curAccounts: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curEndowfactory: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - propose( - accountId: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - reject( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - supportsInterface( - interfaceId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - updateConfig( - curRegistrar: PromiseOrValue, - curAccounts: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curEndowfactory: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - callStatic: { - approve( - accountId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - initialize( - curRegistrar: PromiseOrValue, - curAccounts: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curEndowfactory: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - propose( - accountId: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - overrides?: CallOverrides - ): Promise; - - reject( - accountId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - supportsInterface( - interfaceId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - updateConfig( - curRegistrar: PromiseOrValue, - curAccounts: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curEndowfactory: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "Initialized(uint8)"(version?: null): InitializedEventFilter; - Initialized(version?: null): InitializedEventFilter; - - "LockedWithdrawAPTeam(uint256,address)"( - accountId?: null, - sender?: null - ): LockedWithdrawAPTeamEventFilter; - LockedWithdrawAPTeam( - accountId?: null, - sender?: null - ): LockedWithdrawAPTeamEventFilter; - - "LockedWithdrawApproved(uint256,address,address[],uint256[])"( - accountId?: PromiseOrValue | null, - curBeneficiary?: PromiseOrValue | null, - curTokenaddress?: null, - curAmount?: null - ): LockedWithdrawApprovedEventFilter; - LockedWithdrawApproved( - accountId?: PromiseOrValue | null, - curBeneficiary?: PromiseOrValue | null, - curTokenaddress?: null, - curAmount?: null - ): LockedWithdrawApprovedEventFilter; - - "LockedWithdrawEndowment(uint256,address)"( - accountId?: null, - sender?: null - ): LockedWithdrawEndowmentEventFilter; - LockedWithdrawEndowment( - accountId?: null, - sender?: null - ): LockedWithdrawEndowmentEventFilter; - - "LockedWithdrawInitiated(uint256,address,address,address[],uint256[])"( - accountId?: PromiseOrValue | null, - initiator?: PromiseOrValue | null, - curBeneficiary?: PromiseOrValue | null, - curTokenaddress?: null, - curAmount?: null - ): LockedWithdrawInitiatedEventFilter; - LockedWithdrawInitiated( - accountId?: PromiseOrValue | null, - initiator?: PromiseOrValue | null, - curBeneficiary?: PromiseOrValue | null, - curTokenaddress?: null, - curAmount?: null - ): LockedWithdrawInitiatedEventFilter; - - "LockedWithdrawRejected(uint256)"( - accountId?: PromiseOrValue | null - ): LockedWithdrawRejectedEventFilter; - LockedWithdrawRejected( - accountId?: PromiseOrValue | null - ): LockedWithdrawRejectedEventFilter; - }; - - estimateGas: { - approve( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - initialize( - curRegistrar: PromiseOrValue, - curAccounts: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curEndowfactory: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - propose( - accountId: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - reject( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - supportsInterface( - interfaceId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - updateConfig( - curRegistrar: PromiseOrValue, - curAccounts: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curEndowfactory: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; - - populateTransaction: { - approve( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - initialize( - curRegistrar: PromiseOrValue, - curAccounts: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curEndowfactory: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - propose( - accountId: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - reject( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - supportsInterface( - interfaceId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - updateConfig( - curRegistrar: PromiseOrValue, - curAccounts: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curEndowfactory: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; -} diff --git a/typechain-types/contracts/normalized_endowment/locked-withdraw/index.ts b/typechain-types/contracts/normalized_endowment/locked-withdraw/index.ts deleted file mode 100644 index 74e041fa7..000000000 --- a/typechain-types/contracts/normalized_endowment/locked-withdraw/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type * as interface from "./interface"; -export type { interface }; -export type { LockedWithdraw } from "./LockedWithdraw"; diff --git a/typechain-types/contracts/normalized_endowment/locked-withdraw/interface/ILockedWithdraw.ts b/typechain-types/contracts/normalized_endowment/locked-withdraw/interface/ILockedWithdraw.ts deleted file mode 100644 index 8c47cb081..000000000 --- a/typechain-types/contracts/normalized_endowment/locked-withdraw/interface/ILockedWithdraw.ts +++ /dev/null @@ -1,413 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import type { - BaseContract, - BigNumber, - BigNumberish, - BytesLike, - CallOverrides, - ContractTransaction, - Overrides, - PopulatedTransaction, - Signer, - utils, -} from "ethers"; -import type { - FunctionFragment, - Result, - EventFragment, -} from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; -import type { - TypedEventFilter, - TypedEvent, - TypedListener, - OnEvent, - PromiseOrValue, -} from "../../../../common"; - -export interface ILockedWithdrawInterface extends utils.Interface { - functions: { - "approve(uint256)": FunctionFragment; - "propose(uint256,address,address[],uint256[])": FunctionFragment; - "reject(uint256)": FunctionFragment; - "supportsInterface(bytes4)": FunctionFragment; - "updateConfig(address,address,address,address)": FunctionFragment; - }; - - getFunction( - nameOrSignatureOrTopic: - | "approve" - | "propose" - | "reject" - | "supportsInterface" - | "updateConfig" - ): FunctionFragment; - - encodeFunctionData( - functionFragment: "approve", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "propose", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue[], - PromiseOrValue[] - ] - ): string; - encodeFunctionData( - functionFragment: "reject", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "supportsInterface", - values: [PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "updateConfig", - values: [ - PromiseOrValue, - PromiseOrValue, - PromiseOrValue, - PromiseOrValue - ] - ): string; - - decodeFunctionResult(functionFragment: "approve", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "propose", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "reject", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "supportsInterface", - data: BytesLike - ): Result; - decodeFunctionResult( - functionFragment: "updateConfig", - data: BytesLike - ): Result; - - events: { - "LockedWithdrawAPTeam(uint256,address)": EventFragment; - "LockedWithdrawApproved(uint256,address,address[],uint256[])": EventFragment; - "LockedWithdrawEndowment(uint256,address)": EventFragment; - "LockedWithdrawInitiated(uint256,address,address,address[],uint256[])": EventFragment; - "LockedWithdrawRejected(uint256)": EventFragment; - }; - - getEvent(nameOrSignatureOrTopic: "LockedWithdrawAPTeam"): EventFragment; - getEvent(nameOrSignatureOrTopic: "LockedWithdrawApproved"): EventFragment; - getEvent(nameOrSignatureOrTopic: "LockedWithdrawEndowment"): EventFragment; - getEvent(nameOrSignatureOrTopic: "LockedWithdrawInitiated"): EventFragment; - getEvent(nameOrSignatureOrTopic: "LockedWithdrawRejected"): EventFragment; -} - -export interface LockedWithdrawAPTeamEventObject { - accountId: BigNumber; - sender: string; -} -export type LockedWithdrawAPTeamEvent = TypedEvent< - [BigNumber, string], - LockedWithdrawAPTeamEventObject ->; - -export type LockedWithdrawAPTeamEventFilter = - TypedEventFilter; - -export interface LockedWithdrawApprovedEventObject { - accountId: BigNumber; - curBeneficiary: string; - curTokenaddress: string[]; - curAmount: BigNumber[]; -} -export type LockedWithdrawApprovedEvent = TypedEvent< - [BigNumber, string, string[], BigNumber[]], - LockedWithdrawApprovedEventObject ->; - -export type LockedWithdrawApprovedEventFilter = - TypedEventFilter; - -export interface LockedWithdrawEndowmentEventObject { - accountId: BigNumber; - sender: string; -} -export type LockedWithdrawEndowmentEvent = TypedEvent< - [BigNumber, string], - LockedWithdrawEndowmentEventObject ->; - -export type LockedWithdrawEndowmentEventFilter = - TypedEventFilter; - -export interface LockedWithdrawInitiatedEventObject { - accountId: BigNumber; - initiator: string; - curBeneficiary: string; - curTokenaddress: string[]; - curAmount: BigNumber[]; -} -export type LockedWithdrawInitiatedEvent = TypedEvent< - [BigNumber, string, string, string[], BigNumber[]], - LockedWithdrawInitiatedEventObject ->; - -export type LockedWithdrawInitiatedEventFilter = - TypedEventFilter; - -export interface LockedWithdrawRejectedEventObject { - accountId: BigNumber; -} -export type LockedWithdrawRejectedEvent = TypedEvent< - [BigNumber], - LockedWithdrawRejectedEventObject ->; - -export type LockedWithdrawRejectedEventFilter = - TypedEventFilter; - -export interface ILockedWithdraw extends BaseContract { - connect(signerOrProvider: Signer | Provider | string): this; - attach(addressOrName: string): this; - deployed(): Promise; - - interface: ILockedWithdrawInterface; - - queryFilter( - event: TypedEventFilter, - fromBlockOrBlockhash?: string | number | undefined, - toBlock?: string | number | undefined - ): Promise>; - - listeners( - eventFilter?: TypedEventFilter - ): Array>; - listeners(eventName?: string): Array; - removeAllListeners( - eventFilter: TypedEventFilter - ): this; - removeAllListeners(eventName?: string): this; - off: OnEvent; - on: OnEvent; - once: OnEvent; - removeListener: OnEvent; - - functions: { - approve( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - propose( - accountId: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - reject( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - supportsInterface( - interfaceId: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[boolean]>; - - updateConfig( - curRegistrar: PromiseOrValue, - curAccounts: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curEndowfactory: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; - - approve( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - propose( - accountId: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - reject( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - supportsInterface( - interfaceId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - updateConfig( - curRegistrar: PromiseOrValue, - curAccounts: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curEndowfactory: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - callStatic: { - approve( - accountId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - propose( - accountId: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - overrides?: CallOverrides - ): Promise; - - reject( - accountId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - supportsInterface( - interfaceId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - updateConfig( - curRegistrar: PromiseOrValue, - curAccounts: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curEndowfactory: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - }; - - filters: { - "LockedWithdrawAPTeam(uint256,address)"( - accountId?: null, - sender?: null - ): LockedWithdrawAPTeamEventFilter; - LockedWithdrawAPTeam( - accountId?: null, - sender?: null - ): LockedWithdrawAPTeamEventFilter; - - "LockedWithdrawApproved(uint256,address,address[],uint256[])"( - accountId?: PromiseOrValue | null, - curBeneficiary?: PromiseOrValue | null, - curTokenaddress?: null, - curAmount?: null - ): LockedWithdrawApprovedEventFilter; - LockedWithdrawApproved( - accountId?: PromiseOrValue | null, - curBeneficiary?: PromiseOrValue | null, - curTokenaddress?: null, - curAmount?: null - ): LockedWithdrawApprovedEventFilter; - - "LockedWithdrawEndowment(uint256,address)"( - accountId?: null, - sender?: null - ): LockedWithdrawEndowmentEventFilter; - LockedWithdrawEndowment( - accountId?: null, - sender?: null - ): LockedWithdrawEndowmentEventFilter; - - "LockedWithdrawInitiated(uint256,address,address,address[],uint256[])"( - accountId?: PromiseOrValue | null, - initiator?: PromiseOrValue | null, - curBeneficiary?: PromiseOrValue | null, - curTokenaddress?: null, - curAmount?: null - ): LockedWithdrawInitiatedEventFilter; - LockedWithdrawInitiated( - accountId?: PromiseOrValue | null, - initiator?: PromiseOrValue | null, - curBeneficiary?: PromiseOrValue | null, - curTokenaddress?: null, - curAmount?: null - ): LockedWithdrawInitiatedEventFilter; - - "LockedWithdrawRejected(uint256)"( - accountId?: PromiseOrValue | null - ): LockedWithdrawRejectedEventFilter; - LockedWithdrawRejected( - accountId?: PromiseOrValue | null - ): LockedWithdrawRejectedEventFilter; - }; - - estimateGas: { - approve( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - propose( - accountId: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - reject( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - supportsInterface( - interfaceId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - updateConfig( - curRegistrar: PromiseOrValue, - curAccounts: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curEndowfactory: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; - - populateTransaction: { - approve( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - propose( - accountId: PromiseOrValue, - curBeneficiary: PromiseOrValue, - curTokenaddress: PromiseOrValue[], - curAmount: PromiseOrValue[], - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - reject( - accountId: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - - supportsInterface( - interfaceId: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - - updateConfig( - curRegistrar: PromiseOrValue, - curAccounts: PromiseOrValue, - curApteammultisig: PromiseOrValue, - curEndowfactory: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; - }; -} diff --git a/typechain-types/contracts/normalized_endowment/subdao-token/Token/BancorBondingCurve.ts b/typechain-types/contracts/normalized_endowment/subdao-token/Token/BancorBondingCurve.ts index 896bb13f2..77ffb9377 100644 --- a/typechain-types/contracts/normalized_endowment/subdao-token/Token/BancorBondingCurve.ts +++ b/typechain-types/contracts/normalized_endowment/subdao-token/Token/BancorBondingCurve.ts @@ -96,18 +96,18 @@ export interface BancorBondingCurve extends BaseContract { functions: { calculatePurchaseReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDepositamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + depositamount: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; calculateSaleReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curSellamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + sellamount: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; @@ -115,18 +115,18 @@ export interface BancorBondingCurve extends BaseContract { }; calculatePurchaseReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDepositamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + depositamount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateSaleReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curSellamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + sellamount: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -134,18 +134,18 @@ export interface BancorBondingCurve extends BaseContract { callStatic: { calculatePurchaseReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDepositamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + depositamount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateSaleReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curSellamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + sellamount: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -156,18 +156,18 @@ export interface BancorBondingCurve extends BaseContract { estimateGas: { calculatePurchaseReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDepositamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + depositamount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateSaleReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curSellamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + sellamount: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -176,18 +176,18 @@ export interface BancorBondingCurve extends BaseContract { populateTransaction: { calculatePurchaseReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDepositamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + depositamount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateSaleReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curSellamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + sellamount: PromiseOrValue, overrides?: CallOverrides ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/subdao-token/Token/Continous.sol/ContinuousToken.ts b/typechain-types/contracts/normalized_endowment/subdao-token/Token/Continous.sol/ContinuousToken.ts index 67259dd45..4c8b693d2 100644 --- a/typechain-types/contracts/normalized_endowment/subdao-token/Token/Continous.sol/ContinuousToken.ts +++ b/typechain-types/contracts/normalized_endowment/subdao-token/Token/Continous.sol/ContinuousToken.ts @@ -45,7 +45,7 @@ export interface ContinuousTokenInterface extends utils.Interface { "grantRole(bytes32,address)": FunctionFragment; "hasRole(bytes32,address)": FunctionFragment; "increaseAllowance(address,uint256)": FunctionFragment; - "initCurveToken(string,string,uint256,address)": FunctionFragment; + "initveToken(string,string,uint256,address)": FunctionFragment; "name()": FunctionFragment; "renounceRole(bytes32,address)": FunctionFragment; "reserveBalance()": FunctionFragment; @@ -78,7 +78,7 @@ export interface ContinuousTokenInterface extends utils.Interface { | "grantRole" | "hasRole" | "increaseAllowance" - | "initCurveToken" + | "initveToken" | "name" | "renounceRole" | "reserveBalance" @@ -165,7 +165,7 @@ export interface ContinuousTokenInterface extends utils.Interface { values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "initCurveToken", + functionFragment: "initveToken", values: [ PromiseOrValue, PromiseOrValue, @@ -261,7 +261,7 @@ export interface ContinuousTokenInterface extends utils.Interface { data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "initCurveToken", + functionFragment: "initveToken", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; @@ -429,28 +429,28 @@ export interface ContinuousToken extends BaseContract { ): Promise<[BigNumber]>; calculateContinuousBurnReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber] & { burnAmount: BigNumber }>; calculateContinuousMintReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber] & { mintAmount: BigNumber }>; calculatePurchaseReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDepositamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + depositamount: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; calculateSaleReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curSellamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + sellamount: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; @@ -487,11 +487,11 @@ export interface ContinuousToken extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - initCurveToken( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDenomtokenaddress: PromiseOrValue, + initveToken( + name: PromiseOrValue, + symbol: PromiseOrValue, + reserveratio: PromiseOrValue, + denomtokenaddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -562,28 +562,28 @@ export interface ContinuousToken extends BaseContract { ): Promise; calculateContinuousBurnReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateContinuousMintReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculatePurchaseReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDepositamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + depositamount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateSaleReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curSellamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + sellamount: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -620,11 +620,11 @@ export interface ContinuousToken extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - initCurveToken( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDenomtokenaddress: PromiseOrValue, + initveToken( + name: PromiseOrValue, + symbol: PromiseOrValue, + reserveratio: PromiseOrValue, + denomtokenaddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -695,28 +695,28 @@ export interface ContinuousToken extends BaseContract { ): Promise; calculateContinuousBurnReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateContinuousMintReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculatePurchaseReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDepositamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + depositamount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateSaleReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curSellamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + sellamount: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -753,11 +753,11 @@ export interface ContinuousToken extends BaseContract { overrides?: CallOverrides ): Promise; - initCurveToken( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDenomtokenaddress: PromiseOrValue, + initveToken( + name: PromiseOrValue, + symbol: PromiseOrValue, + reserveratio: PromiseOrValue, + denomtokenaddress: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -889,28 +889,28 @@ export interface ContinuousToken extends BaseContract { ): Promise; calculateContinuousBurnReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateContinuousMintReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculatePurchaseReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDepositamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + depositamount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateSaleReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curSellamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + sellamount: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -947,11 +947,11 @@ export interface ContinuousToken extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - initCurveToken( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDenomtokenaddress: PromiseOrValue, + initveToken( + name: PromiseOrValue, + symbol: PromiseOrValue, + reserveratio: PromiseOrValue, + denomtokenaddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1025,28 +1025,28 @@ export interface ContinuousToken extends BaseContract { ): Promise; calculateContinuousBurnReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateContinuousMintReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculatePurchaseReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDepositamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + depositamount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateSaleReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curSellamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + sellamount: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -1083,11 +1083,11 @@ export interface ContinuousToken extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - initCurveToken( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDenomtokenaddress: PromiseOrValue, + initveToken( + name: PromiseOrValue, + symbol: PromiseOrValue, + reserveratio: PromiseOrValue, + denomtokenaddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/subdao-token/subdao-token.sol/SubDaoToken.ts b/typechain-types/contracts/normalized_endowment/subdao-token/subdao-token.sol/SubDaoToken.ts index f03b9ee3e..3189f2a5a 100644 --- a/typechain-types/contracts/normalized_endowment/subdao-token/subdao-token.sol/SubDaoToken.ts +++ b/typechain-types/contracts/normalized_endowment/subdao-token/subdao-token.sol/SubDaoToken.ts @@ -32,7 +32,7 @@ export declare namespace SubDaoTokenMessage { name: PromiseOrValue; symbol: PromiseOrValue; reserveDenom: PromiseOrValue; - curve_type: PromiseOrValue; + ve_type: PromiseOrValue; unbondingPeriod: PromiseOrValue; }; @@ -46,7 +46,7 @@ export declare namespace SubDaoTokenMessage { name: string; symbol: string; reserveDenom: string; - curve_type: number; + ve_type: number; unbondingPeriod: BigNumber; }; } @@ -69,13 +69,13 @@ export interface SubDaoTokenInterface extends utils.Interface { "decreaseAllowance(address,uint256)": FunctionFragment; "denomTokenAddress()": FunctionFragment; "executeBuyCw20(uint256)": FunctionFragment; - "executeDonorMatch(uint256,address,uint256,address)": FunctionFragment; + "executeDonorMatch(uint256,address,uint32,address)": FunctionFragment; "executeSell(address,uint256)": FunctionFragment; "getRoleAdmin(bytes32)": FunctionFragment; "grantRole(bytes32,address)": FunctionFragment; "hasRole(bytes32,address)": FunctionFragment; "increaseAllowance(address,uint256)": FunctionFragment; - "initCurveToken(string,string,uint256,address)": FunctionFragment; + "initveToken(string,string,uint256,address)": FunctionFragment; "name()": FunctionFragment; "renounceRole(bytes32,address)": FunctionFragment; "reserveBalance()": FunctionFragment; @@ -114,7 +114,7 @@ export interface SubDaoTokenInterface extends utils.Interface { | "grantRole" | "hasRole" | "increaseAllowance" - | "initCurveToken" + | "initveToken" | "name" | "renounceRole" | "reserveBalance" @@ -230,7 +230,7 @@ export interface SubDaoTokenInterface extends utils.Interface { values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "initCurveToken", + functionFragment: "initveToken", values: [ PromiseOrValue, PromiseOrValue, @@ -350,7 +350,7 @@ export interface SubDaoTokenInterface extends utils.Interface { data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "initCurveToken", + functionFragment: "initveToken", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "name", data: BytesLike): Result; @@ -518,28 +518,28 @@ export interface SubDaoToken extends BaseContract { ): Promise<[BigNumber]>; calculateContinuousBurnReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber] & { burnAmount: BigNumber }>; calculateContinuousMintReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber] & { mintAmount: BigNumber }>; calculatePurchaseReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDepositamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + depositamount: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; calculateSaleReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curSellamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + sellamount: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; @@ -550,8 +550,8 @@ export interface SubDaoToken extends BaseContract { ): Promise; continuosToken( - curMsg: SubDaoTokenMessage.InstantiateMsgStruct, - curEmitteraddress: PromiseOrValue, + message: SubDaoTokenMessage.InstantiateMsgStruct, + emitteraddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -566,21 +566,21 @@ export interface SubDaoToken extends BaseContract { denomTokenAddress(overrides?: CallOverrides): Promise<[string]>; executeBuyCw20( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executeDonorMatch( - curAmount: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curEndowmentid: PromiseOrValue, - curDonor: PromiseOrValue, + amount: PromiseOrValue, + accountscontract: PromiseOrValue, + endowmentId: PromiseOrValue, + donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executeSell( - curReciver: PromiseOrValue, - curAmount: PromiseOrValue, + reciver: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -607,11 +607,11 @@ export interface SubDaoToken extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - initCurveToken( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDenomtokenaddress: PromiseOrValue, + initveToken( + name: PromiseOrValue, + symbol: PromiseOrValue, + reserveratio: PromiseOrValue, + denomtokenaddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -682,28 +682,28 @@ export interface SubDaoToken extends BaseContract { ): Promise; calculateContinuousBurnReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateContinuousMintReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculatePurchaseReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDepositamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + depositamount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateSaleReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curSellamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + sellamount: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -714,8 +714,8 @@ export interface SubDaoToken extends BaseContract { ): Promise; continuosToken( - curMsg: SubDaoTokenMessage.InstantiateMsgStruct, - curEmitteraddress: PromiseOrValue, + message: SubDaoTokenMessage.InstantiateMsgStruct, + emitteraddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -730,21 +730,21 @@ export interface SubDaoToken extends BaseContract { denomTokenAddress(overrides?: CallOverrides): Promise; executeBuyCw20( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executeDonorMatch( - curAmount: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curEndowmentid: PromiseOrValue, - curDonor: PromiseOrValue, + amount: PromiseOrValue, + accountscontract: PromiseOrValue, + endowmentId: PromiseOrValue, + donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executeSell( - curReciver: PromiseOrValue, - curAmount: PromiseOrValue, + reciver: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -771,11 +771,11 @@ export interface SubDaoToken extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - initCurveToken( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDenomtokenaddress: PromiseOrValue, + initveToken( + name: PromiseOrValue, + symbol: PromiseOrValue, + reserveratio: PromiseOrValue, + denomtokenaddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -846,28 +846,28 @@ export interface SubDaoToken extends BaseContract { ): Promise; calculateContinuousBurnReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateContinuousMintReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculatePurchaseReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDepositamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + depositamount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateSaleReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curSellamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + sellamount: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -876,8 +876,8 @@ export interface SubDaoToken extends BaseContract { claimTokens(overrides?: CallOverrides): Promise; continuosToken( - curMsg: SubDaoTokenMessage.InstantiateMsgStruct, - curEmitteraddress: PromiseOrValue, + message: SubDaoTokenMessage.InstantiateMsgStruct, + emitteraddress: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -892,21 +892,21 @@ export interface SubDaoToken extends BaseContract { denomTokenAddress(overrides?: CallOverrides): Promise; executeBuyCw20( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; executeDonorMatch( - curAmount: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curEndowmentid: PromiseOrValue, - curDonor: PromiseOrValue, + amount: PromiseOrValue, + accountscontract: PromiseOrValue, + endowmentId: PromiseOrValue, + donor: PromiseOrValue, overrides?: CallOverrides ): Promise; executeSell( - curReciver: PromiseOrValue, - curAmount: PromiseOrValue, + reciver: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -933,11 +933,11 @@ export interface SubDaoToken extends BaseContract { overrides?: CallOverrides ): Promise; - initCurveToken( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDenomtokenaddress: PromiseOrValue, + initveToken( + name: PromiseOrValue, + symbol: PromiseOrValue, + reserveratio: PromiseOrValue, + denomtokenaddress: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -1069,28 +1069,28 @@ export interface SubDaoToken extends BaseContract { ): Promise; calculateContinuousBurnReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateContinuousMintReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculatePurchaseReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDepositamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + depositamount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateSaleReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curSellamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + sellamount: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -1101,8 +1101,8 @@ export interface SubDaoToken extends BaseContract { ): Promise; continuosToken( - curMsg: SubDaoTokenMessage.InstantiateMsgStruct, - curEmitteraddress: PromiseOrValue, + message: SubDaoTokenMessage.InstantiateMsgStruct, + emitteraddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1117,21 +1117,21 @@ export interface SubDaoToken extends BaseContract { denomTokenAddress(overrides?: CallOverrides): Promise; executeBuyCw20( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executeDonorMatch( - curAmount: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curEndowmentid: PromiseOrValue, - curDonor: PromiseOrValue, + amount: PromiseOrValue, + accountscontract: PromiseOrValue, + endowmentId: PromiseOrValue, + donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executeSell( - curReciver: PromiseOrValue, - curAmount: PromiseOrValue, + reciver: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1158,11 +1158,11 @@ export interface SubDaoToken extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - initCurveToken( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDenomtokenaddress: PromiseOrValue, + initveToken( + name: PromiseOrValue, + symbol: PromiseOrValue, + reserveratio: PromiseOrValue, + denomtokenaddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1236,28 +1236,28 @@ export interface SubDaoToken extends BaseContract { ): Promise; calculateContinuousBurnReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateContinuousMintReturn( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculatePurchaseReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDepositamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + depositamount: PromiseOrValue, overrides?: CallOverrides ): Promise; calculateSaleReturn( - curSupply: PromiseOrValue, - curReservebalance: PromiseOrValue, - curReserveratio: PromiseOrValue, - curSellamount: PromiseOrValue, + supply: PromiseOrValue, + reservebalance: PromiseOrValue, + reserveratio: PromiseOrValue, + sellamount: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -1270,8 +1270,8 @@ export interface SubDaoToken extends BaseContract { ): Promise; continuosToken( - curMsg: SubDaoTokenMessage.InstantiateMsgStruct, - curEmitteraddress: PromiseOrValue, + message: SubDaoTokenMessage.InstantiateMsgStruct, + emitteraddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1286,21 +1286,21 @@ export interface SubDaoToken extends BaseContract { denomTokenAddress(overrides?: CallOverrides): Promise; executeBuyCw20( - curAmount: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executeDonorMatch( - curAmount: PromiseOrValue, - curAccountscontract: PromiseOrValue, - curEndowmentid: PromiseOrValue, - curDonor: PromiseOrValue, + amount: PromiseOrValue, + accountscontract: PromiseOrValue, + endowmentId: PromiseOrValue, + donor: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executeSell( - curReciver: PromiseOrValue, - curAmount: PromiseOrValue, + reciver: PromiseOrValue, + amount: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -1327,11 +1327,11 @@ export interface SubDaoToken extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - initCurveToken( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, - curReserveratio: PromiseOrValue, - curDenomtokenaddress: PromiseOrValue, + initveToken( + name: PromiseOrValue, + symbol: PromiseOrValue, + reserveratio: PromiseOrValue, + denomtokenaddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/subdao/ISubdaoEmitter.ts b/typechain-types/contracts/normalized_endowment/subdao/ISubdaoEmitter.ts index bcf095b97..be367574a 100644 --- a/typechain-types/contracts/normalized_endowment/subdao/ISubdaoEmitter.ts +++ b/typechain-types/contracts/normalized_endowment/subdao/ISubdaoEmitter.ts @@ -24,14 +24,14 @@ import type { } from "../../../common"; export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -43,28 +43,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -72,7 +72,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -80,17 +80,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -116,13 +116,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -136,7 +136,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -146,7 +146,7 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; @@ -287,7 +287,7 @@ export declare namespace SubDaoStorage { export interface ISubdaoEmitterInterface extends utils.Interface { functions: { - "initializeSubdao(address,(uint256,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256)),uint8,address,address))": FunctionFragment; + "initializeSubdao(address,(uint32,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256)),uint8,address,address))": FunctionFragment; "transferFromSubdao(address,address,address,uint256)": FunctionFragment; "transferSubdao(address,address,uint256)": FunctionFragment; "updateSubdaoConfig((address,address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": FunctionFragment; diff --git a/typechain-types/contracts/normalized_endowment/subdao/Isubdao.sol/ISubDao.ts b/typechain-types/contracts/normalized_endowment/subdao/Isubdao.sol/ISubDao.ts index 6c7f2fbd4..159c8ed61 100644 --- a/typechain-types/contracts/normalized_endowment/subdao/Isubdao.sol/ISubDao.ts +++ b/typechain-types/contracts/normalized_endowment/subdao/Isubdao.sol/ISubDao.ts @@ -24,14 +24,14 @@ import type { } from "../../../../common"; export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -43,28 +43,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -72,7 +72,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -80,17 +80,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -116,13 +116,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -136,7 +136,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -146,7 +146,7 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; @@ -220,7 +220,7 @@ export declare namespace SubDaoStorage { export interface ISubDaoInterface extends utils.Interface { functions: { - "buildDaoTokenMesage((uint256,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256)),uint8,address,address))": FunctionFragment; + "buildDaoTokenMesage((uint32,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256)),uint8,address,address))": FunctionFragment; "castVote(uint256,uint8)": FunctionFragment; "createPoll(address,uint256,string,string,string,(uint256[],address[],bytes[]))": FunctionFragment; "endPoll(uint256)": FunctionFragment; @@ -360,38 +360,38 @@ export interface ISubDao extends BaseContract { functions: { buildDaoTokenMesage( - curMsg: SubDaoMessage.InstantiateMsgStruct, + msg: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; castVote( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, vote: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; createPoll( - curProposer: PromiseOrValue, - curDepositamount: PromiseOrValue, - curTitle: PromiseOrValue, - curDescription: PromiseOrValue, - curLink: PromiseOrValue, - curExecuteMsgs: SubDaoStorage.ExecuteDataStruct, + proposer: PromiseOrValue, + depositamount: PromiseOrValue, + title: PromiseOrValue, + description: PromiseOrValue, + link: PromiseOrValue, + executeMsgs: SubDaoStorage.ExecuteDataStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; endPoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; expirePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -404,57 +404,57 @@ export interface ISubDao extends BaseContract { ): Promise<[SubDaoStorage.StateStructOutput]>; registerContracts( - curVetoken: PromiseOrValue, - curSwapfactory: PromiseOrValue, + vetoken: PromiseOrValue, + swapfactory: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateConfig( - curOwner: PromiseOrValue, - curQuorum: PromiseOrValue, - curThreshold: PromiseOrValue, - curVotingperiod: PromiseOrValue, - curTimelockperiod: PromiseOrValue, - curExpirationperiod: PromiseOrValue, - curProposaldeposit: PromiseOrValue, - curSnapshotperiod: PromiseOrValue, + owner: PromiseOrValue, + quorum: PromiseOrValue, + threshold: PromiseOrValue, + votingperiod: PromiseOrValue, + timelockperiod: PromiseOrValue, + expirationperiod: PromiseOrValue, + proposaldeposit: PromiseOrValue, + snapshotperiod: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; buildDaoTokenMesage( - curMsg: SubDaoMessage.InstantiateMsgStruct, + msg: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; castVote( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, vote: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; createPoll( - curProposer: PromiseOrValue, - curDepositamount: PromiseOrValue, - curTitle: PromiseOrValue, - curDescription: PromiseOrValue, - curLink: PromiseOrValue, - curExecuteMsgs: SubDaoStorage.ExecuteDataStruct, + proposer: PromiseOrValue, + depositamount: PromiseOrValue, + title: PromiseOrValue, + description: PromiseOrValue, + link: PromiseOrValue, + executeMsgs: SubDaoStorage.ExecuteDataStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; endPoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; expirePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -467,57 +467,57 @@ export interface ISubDao extends BaseContract { ): Promise; registerContracts( - curVetoken: PromiseOrValue, - curSwapfactory: PromiseOrValue, + vetoken: PromiseOrValue, + swapfactory: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateConfig( - curOwner: PromiseOrValue, - curQuorum: PromiseOrValue, - curThreshold: PromiseOrValue, - curVotingperiod: PromiseOrValue, - curTimelockperiod: PromiseOrValue, - curExpirationperiod: PromiseOrValue, - curProposaldeposit: PromiseOrValue, - curSnapshotperiod: PromiseOrValue, + owner: PromiseOrValue, + quorum: PromiseOrValue, + threshold: PromiseOrValue, + votingperiod: PromiseOrValue, + timelockperiod: PromiseOrValue, + expirationperiod: PromiseOrValue, + proposaldeposit: PromiseOrValue, + snapshotperiod: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { buildDaoTokenMesage( - curMsg: SubDaoMessage.InstantiateMsgStruct, + msg: SubDaoMessage.InstantiateMsgStruct, overrides?: CallOverrides ): Promise; castVote( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, vote: PromiseOrValue, overrides?: CallOverrides ): Promise; createPoll( - curProposer: PromiseOrValue, - curDepositamount: PromiseOrValue, - curTitle: PromiseOrValue, - curDescription: PromiseOrValue, - curLink: PromiseOrValue, - curExecuteMsgs: SubDaoStorage.ExecuteDataStruct, + proposer: PromiseOrValue, + depositamount: PromiseOrValue, + title: PromiseOrValue, + description: PromiseOrValue, + link: PromiseOrValue, + executeMsgs: SubDaoStorage.ExecuteDataStruct, overrides?: CallOverrides ): Promise; endPoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: CallOverrides ): Promise; executePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: CallOverrides ): Promise; expirePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -530,20 +530,20 @@ export interface ISubDao extends BaseContract { ): Promise; registerContracts( - curVetoken: PromiseOrValue, - curSwapfactory: PromiseOrValue, + vetoken: PromiseOrValue, + swapfactory: PromiseOrValue, overrides?: CallOverrides ): Promise; updateConfig( - curOwner: PromiseOrValue, - curQuorum: PromiseOrValue, - curThreshold: PromiseOrValue, - curVotingperiod: PromiseOrValue, - curTimelockperiod: PromiseOrValue, - curExpirationperiod: PromiseOrValue, - curProposaldeposit: PromiseOrValue, - curSnapshotperiod: PromiseOrValue, + owner: PromiseOrValue, + quorum: PromiseOrValue, + threshold: PromiseOrValue, + votingperiod: PromiseOrValue, + timelockperiod: PromiseOrValue, + expirationperiod: PromiseOrValue, + proposaldeposit: PromiseOrValue, + snapshotperiod: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -552,38 +552,38 @@ export interface ISubDao extends BaseContract { estimateGas: { buildDaoTokenMesage( - curMsg: SubDaoMessage.InstantiateMsgStruct, + msg: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; castVote( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, vote: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; createPoll( - curProposer: PromiseOrValue, - curDepositamount: PromiseOrValue, - curTitle: PromiseOrValue, - curDescription: PromiseOrValue, - curLink: PromiseOrValue, - curExecuteMsgs: SubDaoStorage.ExecuteDataStruct, + proposer: PromiseOrValue, + depositamount: PromiseOrValue, + title: PromiseOrValue, + description: PromiseOrValue, + link: PromiseOrValue, + executeMsgs: SubDaoStorage.ExecuteDataStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; endPoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; expirePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -592,58 +592,58 @@ export interface ISubDao extends BaseContract { queryState(overrides?: CallOverrides): Promise; registerContracts( - curVetoken: PromiseOrValue, - curSwapfactory: PromiseOrValue, + vetoken: PromiseOrValue, + swapfactory: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateConfig( - curOwner: PromiseOrValue, - curQuorum: PromiseOrValue, - curThreshold: PromiseOrValue, - curVotingperiod: PromiseOrValue, - curTimelockperiod: PromiseOrValue, - curExpirationperiod: PromiseOrValue, - curProposaldeposit: PromiseOrValue, - curSnapshotperiod: PromiseOrValue, + owner: PromiseOrValue, + quorum: PromiseOrValue, + threshold: PromiseOrValue, + votingperiod: PromiseOrValue, + timelockperiod: PromiseOrValue, + expirationperiod: PromiseOrValue, + proposaldeposit: PromiseOrValue, + snapshotperiod: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { buildDaoTokenMesage( - curMsg: SubDaoMessage.InstantiateMsgStruct, + msg: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; castVote( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, vote: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; createPoll( - curProposer: PromiseOrValue, - curDepositamount: PromiseOrValue, - curTitle: PromiseOrValue, - curDescription: PromiseOrValue, - curLink: PromiseOrValue, - curExecuteMsgs: SubDaoStorage.ExecuteDataStruct, + proposer: PromiseOrValue, + depositamount: PromiseOrValue, + title: PromiseOrValue, + description: PromiseOrValue, + link: PromiseOrValue, + executeMsgs: SubDaoStorage.ExecuteDataStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; endPoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; expirePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -652,20 +652,20 @@ export interface ISubDao extends BaseContract { queryState(overrides?: CallOverrides): Promise; registerContracts( - curVetoken: PromiseOrValue, - curSwapfactory: PromiseOrValue, + vetoken: PromiseOrValue, + swapfactory: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateConfig( - curOwner: PromiseOrValue, - curQuorum: PromiseOrValue, - curThreshold: PromiseOrValue, - curVotingperiod: PromiseOrValue, - curTimelockperiod: PromiseOrValue, - curExpirationperiod: PromiseOrValue, - curProposaldeposit: PromiseOrValue, - curSnapshotperiod: PromiseOrValue, + owner: PromiseOrValue, + quorum: PromiseOrValue, + threshold: PromiseOrValue, + votingperiod: PromiseOrValue, + timelockperiod: PromiseOrValue, + expirationperiod: PromiseOrValue, + proposaldeposit: PromiseOrValue, + snapshotperiod: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/normalized_endowment/subdao/SubdaoEmitter.ts b/typechain-types/contracts/normalized_endowment/subdao/SubdaoEmitter.ts index 75d080aa2..d5a005ca9 100644 --- a/typechain-types/contracts/normalized_endowment/subdao/SubdaoEmitter.ts +++ b/typechain-types/contracts/normalized_endowment/subdao/SubdaoEmitter.ts @@ -28,14 +28,14 @@ import type { } from "../../../common"; export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -47,28 +47,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -76,7 +76,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -84,17 +84,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -120,13 +120,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -140,7 +140,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -150,7 +150,7 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; @@ -292,7 +292,7 @@ export declare namespace SubDaoStorage { export interface SubdaoEmitterInterface extends utils.Interface { functions: { "initEmitter(address)": FunctionFragment; - "initializeSubdao(address,(uint256,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256)),uint8,address,address))": FunctionFragment; + "initializeSubdao(address,(uint32,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256)),uint8,address,address))": FunctionFragment; "transferFromSubdao(address,address,address,uint256)": FunctionFragment; "transferSubdao(address,address,uint256)": FunctionFragment; "updateSubdaoConfig((address,address,address,address,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256))": FunctionFragment; @@ -559,7 +559,7 @@ export interface SubdaoEmitter extends BaseContract { functions: { initEmitter( - curAccountscontract: PromiseOrValue, + accountscontract: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -616,7 +616,7 @@ export interface SubdaoEmitter extends BaseContract { }; initEmitter( - curAccountscontract: PromiseOrValue, + accountscontract: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -673,7 +673,7 @@ export interface SubdaoEmitter extends BaseContract { callStatic: { initEmitter( - curAccountscontract: PromiseOrValue, + accountscontract: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -823,7 +823,7 @@ export interface SubdaoEmitter extends BaseContract { estimateGas: { initEmitter( - curAccountscontract: PromiseOrValue, + accountscontract: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -881,7 +881,7 @@ export interface SubdaoEmitter extends BaseContract { populateTransaction: { initEmitter( - curAccountscontract: PromiseOrValue, + accountscontract: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/subdao/Token/ERC20.sol/NewERC20.ts b/typechain-types/contracts/normalized_endowment/subdao/Token/ERC20.sol/NewERC20.ts index 737563dbc..117faa3a5 100644 --- a/typechain-types/contracts/normalized_endowment/subdao/Token/ERC20.sol/NewERC20.ts +++ b/typechain-types/contracts/normalized_endowment/subdao/Token/ERC20.sol/NewERC20.ts @@ -377,11 +377,11 @@ export interface NewERC20 extends BaseContract { ): Promise; initErC20( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, - curMintaddress: PromiseOrValue, - curTotalmint: PromiseOrValue, - curAdmin: PromiseOrValue, + name: PromiseOrValue, + symbol: PromiseOrValue, + mintaddress: PromiseOrValue, + totalmint: PromiseOrValue, + admin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -481,11 +481,11 @@ export interface NewERC20 extends BaseContract { ): Promise; initErC20( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, - curMintaddress: PromiseOrValue, - curTotalmint: PromiseOrValue, - curAdmin: PromiseOrValue, + name: PromiseOrValue, + symbol: PromiseOrValue, + mintaddress: PromiseOrValue, + totalmint: PromiseOrValue, + admin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -585,11 +585,11 @@ export interface NewERC20 extends BaseContract { ): Promise; initErC20( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, - curMintaddress: PromiseOrValue, - curTotalmint: PromiseOrValue, - curAdmin: PromiseOrValue, + name: PromiseOrValue, + symbol: PromiseOrValue, + mintaddress: PromiseOrValue, + totalmint: PromiseOrValue, + admin: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -750,11 +750,11 @@ export interface NewERC20 extends BaseContract { ): Promise; initErC20( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, - curMintaddress: PromiseOrValue, - curTotalmint: PromiseOrValue, - curAdmin: PromiseOrValue, + name: PromiseOrValue, + symbol: PromiseOrValue, + mintaddress: PromiseOrValue, + totalmint: PromiseOrValue, + admin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -857,11 +857,11 @@ export interface NewERC20 extends BaseContract { ): Promise; initErC20( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, - curMintaddress: PromiseOrValue, - curTotalmint: PromiseOrValue, - curAdmin: PromiseOrValue, + name: PromiseOrValue, + symbol: PromiseOrValue, + mintaddress: PromiseOrValue, + totalmint: PromiseOrValue, + admin: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; diff --git a/typechain-types/contracts/normalized_endowment/subdao/subdao.sol/SubDao.ts b/typechain-types/contracts/normalized_endowment/subdao/subdao.sol/SubDao.ts index 9e3aa8849..c1ee72e92 100644 --- a/typechain-types/contracts/normalized_endowment/subdao/subdao.sol/SubDao.ts +++ b/typechain-types/contracts/normalized_endowment/subdao/subdao.sol/SubDao.ts @@ -24,14 +24,14 @@ import type { } from "../../../../common"; export declare namespace AngelCoreStruct { - export type CurveTypeDataStruct = { + export type VeTypeDataStruct = { value: PromiseOrValue; scale: PromiseOrValue; slope: PromiseOrValue; power: PromiseOrValue; }; - export type CurveTypeDataStructOutput = [ + export type VeTypeDataStructOutput = [ BigNumber, BigNumber, BigNumber, @@ -43,28 +43,28 @@ export declare namespace AngelCoreStruct { power: BigNumber; }; - export type CurveTypeStruct = { - curve_type: PromiseOrValue; - data: AngelCoreStruct.CurveTypeDataStruct; + export type VeTypeStruct = { + ve_type: PromiseOrValue; + data: AngelCoreStruct.VeTypeDataStruct; }; - export type CurveTypeStructOutput = [ + export type VeTypeStructOutput = [ number, - AngelCoreStruct.CurveTypeDataStructOutput - ] & { curve_type: number; data: AngelCoreStruct.CurveTypeDataStructOutput }; + AngelCoreStruct.VeTypeDataStructOutput + ] & { ve_type: number; data: AngelCoreStruct.VeTypeDataStructOutput }; export type DaoTokenDataStruct = { - existingCw20Data: PromiseOrValue; - newCw20InitialSupply: PromiseOrValue; - newCw20Name: PromiseOrValue; - newCw20Symbol: PromiseOrValue; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStruct; - bondingCurveName: PromiseOrValue; - bondingCurveSymbol: PromiseOrValue; - bondingCurveDecimals: PromiseOrValue; - bondingCurveReserveDenom: PromiseOrValue; - bondingCurveReserveDecimals: PromiseOrValue; - bondingCurveUnbondingPeriod: PromiseOrValue; + existingData: PromiseOrValue; + newInitialSupply: PromiseOrValue; + newName: PromiseOrValue; + newSymbol: PromiseOrValue; + veBondingType: AngelCoreStruct.VeTypeStruct; + veBondingName: PromiseOrValue; + veBondingSymbol: PromiseOrValue; + veBondingDecimals: PromiseOrValue; + veBondingReserveDenom: PromiseOrValue; + veBondingReserveDecimals: PromiseOrValue; + veBondingPeriod: PromiseOrValue; }; export type DaoTokenDataStructOutput = [ @@ -72,7 +72,7 @@ export declare namespace AngelCoreStruct { BigNumber, string, string, - AngelCoreStruct.CurveTypeStructOutput, + AngelCoreStruct.VeTypeStructOutput, string, string, BigNumber, @@ -80,17 +80,17 @@ export declare namespace AngelCoreStruct { BigNumber, BigNumber ] & { - existingCw20Data: string; - newCw20InitialSupply: BigNumber; - newCw20Name: string; - newCw20Symbol: string; - bondingCurveCurveType: AngelCoreStruct.CurveTypeStructOutput; - bondingCurveName: string; - bondingCurveSymbol: string; - bondingCurveDecimals: BigNumber; - bondingCurveReserveDenom: string; - bondingCurveReserveDecimals: BigNumber; - bondingCurveUnbondingPeriod: BigNumber; + existingData: string; + newInitialSupply: BigNumber; + newName: string; + newSymbol: string; + veBondingType: AngelCoreStruct.VeTypeStructOutput; + veBondingName: string; + veBondingSymbol: string; + veBondingDecimals: BigNumber; + veBondingReserveDenom: string; + veBondingReserveDecimals: BigNumber; + veBondingPeriod: BigNumber; }; export type DaoTokenStruct = { @@ -116,13 +116,13 @@ export declare namespace SubDaoMessage { proposalDeposit: PromiseOrValue; snapshotPeriod: PromiseOrValue; token: AngelCoreStruct.DaoTokenStruct; - endow_type: PromiseOrValue; + endowType: PromiseOrValue; endowOwner: PromiseOrValue; registrarContract: PromiseOrValue; }; export type InstantiateMsgStructOutput = [ - BigNumber, + number, string, BigNumber, BigNumber, @@ -136,7 +136,7 @@ export declare namespace SubDaoMessage { string, string ] & { - id: BigNumber; + id: number; owner: string; quorum: BigNumber; threshold: BigNumber; @@ -146,7 +146,7 @@ export declare namespace SubDaoMessage { proposalDeposit: BigNumber; snapshotPeriod: BigNumber; token: AngelCoreStruct.DaoTokenStructOutput; - endow_type: number; + endowType: number; endowOwner: string; registrarContract: string; }; @@ -220,13 +220,13 @@ export declare namespace SubDaoStorage { export interface SubDaoInterface extends utils.Interface { functions: { - "buildDaoTokenMesage((uint256,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256)),uint8,address,address))": FunctionFragment; + "buildDaoTokenMesage((uint32,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256)),uint8,address,address))": FunctionFragment; "castVote(uint256,uint8)": FunctionFragment; "createPoll(uint256,string,string,string,(uint256[],address[],bytes[]))": FunctionFragment; "endPoll(uint256)": FunctionFragment; "executePoll(uint256)": FunctionFragment; "expirePoll(uint256)": FunctionFragment; - "initializeSubDao((uint256,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256)),uint8,address,address),address)": FunctionFragment; + "initializeSubDao((uint32,address,uint256,uint256,uint256,uint256,uint256,uint256,uint256,(uint8,(address,uint256,string,string,(uint8,(uint128,uint256,uint128,uint128)),string,string,uint256,address,uint256,uint256)),uint8,address,address),address)": FunctionFragment; "queryConfig()": FunctionFragment; "queryState()": FunctionFragment; "registerContract(address,address)": FunctionFragment; @@ -369,43 +369,43 @@ export interface SubDao extends BaseContract { functions: { buildDaoTokenMesage( - curMsg: SubDaoMessage.InstantiateMsgStruct, + details: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; castVote( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, vote: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; createPoll( - curDepositamount: PromiseOrValue, - curTitle: PromiseOrValue, - curDescription: PromiseOrValue, - curLink: PromiseOrValue, - curExecuteMsgs: SubDaoStorage.ExecuteDataStruct, + depositamount: PromiseOrValue, + title: PromiseOrValue, + description: PromiseOrValue, + link: PromiseOrValue, + executeMsgs: SubDaoStorage.ExecuteDataStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; endPoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; expirePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initializeSubDao( - curMsg: SubDaoMessage.InstantiateMsgStruct, - curEmitteraddress: PromiseOrValue, + details: SubDaoMessage.InstantiateMsgStruct, + emitteraddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -418,62 +418,62 @@ export interface SubDao extends BaseContract { ): Promise<[SubDaoStorage.StateStructOutput]>; registerContract( - curVetoken: PromiseOrValue, - curSwapfactory: PromiseOrValue, + vetoken: PromiseOrValue, + swapfactory: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateConfig( - curOwner: PromiseOrValue, - curQuorum: PromiseOrValue, - curThreshold: PromiseOrValue, - curVotingperiod: PromiseOrValue, - curTimelockperiod: PromiseOrValue, - curExpirationperiod: PromiseOrValue, - curProposaldeposit: PromiseOrValue, - curSnapshotperiod: PromiseOrValue, + owner: PromiseOrValue, + quorum: PromiseOrValue, + threshold: PromiseOrValue, + votingperiod: PromiseOrValue, + timelockperiod: PromiseOrValue, + expirationperiod: PromiseOrValue, + proposaldeposit: PromiseOrValue, + snapshotperiod: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; buildDaoTokenMesage( - curMsg: SubDaoMessage.InstantiateMsgStruct, + details: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; castVote( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, vote: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; createPoll( - curDepositamount: PromiseOrValue, - curTitle: PromiseOrValue, - curDescription: PromiseOrValue, - curLink: PromiseOrValue, - curExecuteMsgs: SubDaoStorage.ExecuteDataStruct, + depositamount: PromiseOrValue, + title: PromiseOrValue, + description: PromiseOrValue, + link: PromiseOrValue, + executeMsgs: SubDaoStorage.ExecuteDataStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; endPoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; expirePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initializeSubDao( - curMsg: SubDaoMessage.InstantiateMsgStruct, - curEmitteraddress: PromiseOrValue, + details: SubDaoMessage.InstantiateMsgStruct, + emitteraddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -486,62 +486,62 @@ export interface SubDao extends BaseContract { ): Promise; registerContract( - curVetoken: PromiseOrValue, - curSwapfactory: PromiseOrValue, + vetoken: PromiseOrValue, + swapfactory: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateConfig( - curOwner: PromiseOrValue, - curQuorum: PromiseOrValue, - curThreshold: PromiseOrValue, - curVotingperiod: PromiseOrValue, - curTimelockperiod: PromiseOrValue, - curExpirationperiod: PromiseOrValue, - curProposaldeposit: PromiseOrValue, - curSnapshotperiod: PromiseOrValue, + owner: PromiseOrValue, + quorum: PromiseOrValue, + threshold: PromiseOrValue, + votingperiod: PromiseOrValue, + timelockperiod: PromiseOrValue, + expirationperiod: PromiseOrValue, + proposaldeposit: PromiseOrValue, + snapshotperiod: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { buildDaoTokenMesage( - curMsg: SubDaoMessage.InstantiateMsgStruct, + details: SubDaoMessage.InstantiateMsgStruct, overrides?: CallOverrides ): Promise; castVote( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, vote: PromiseOrValue, overrides?: CallOverrides ): Promise; createPoll( - curDepositamount: PromiseOrValue, - curTitle: PromiseOrValue, - curDescription: PromiseOrValue, - curLink: PromiseOrValue, - curExecuteMsgs: SubDaoStorage.ExecuteDataStruct, + depositamount: PromiseOrValue, + title: PromiseOrValue, + description: PromiseOrValue, + link: PromiseOrValue, + executeMsgs: SubDaoStorage.ExecuteDataStruct, overrides?: CallOverrides ): Promise; endPoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: CallOverrides ): Promise; executePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: CallOverrides ): Promise; expirePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: CallOverrides ): Promise; initializeSubDao( - curMsg: SubDaoMessage.InstantiateMsgStruct, - curEmitteraddress: PromiseOrValue, + details: SubDaoMessage.InstantiateMsgStruct, + emitteraddress: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -554,20 +554,20 @@ export interface SubDao extends BaseContract { ): Promise; registerContract( - curVetoken: PromiseOrValue, - curSwapfactory: PromiseOrValue, + vetoken: PromiseOrValue, + swapfactory: PromiseOrValue, overrides?: CallOverrides ): Promise; updateConfig( - curOwner: PromiseOrValue, - curQuorum: PromiseOrValue, - curThreshold: PromiseOrValue, - curVotingperiod: PromiseOrValue, - curTimelockperiod: PromiseOrValue, - curExpirationperiod: PromiseOrValue, - curProposaldeposit: PromiseOrValue, - curSnapshotperiod: PromiseOrValue, + owner: PromiseOrValue, + quorum: PromiseOrValue, + threshold: PromiseOrValue, + votingperiod: PromiseOrValue, + timelockperiod: PromiseOrValue, + expirationperiod: PromiseOrValue, + proposaldeposit: PromiseOrValue, + snapshotperiod: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -576,43 +576,43 @@ export interface SubDao extends BaseContract { estimateGas: { buildDaoTokenMesage( - curMsg: SubDaoMessage.InstantiateMsgStruct, + details: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; castVote( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, vote: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; createPoll( - curDepositamount: PromiseOrValue, - curTitle: PromiseOrValue, - curDescription: PromiseOrValue, - curLink: PromiseOrValue, - curExecuteMsgs: SubDaoStorage.ExecuteDataStruct, + depositamount: PromiseOrValue, + title: PromiseOrValue, + description: PromiseOrValue, + link: PromiseOrValue, + executeMsgs: SubDaoStorage.ExecuteDataStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; endPoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; expirePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initializeSubDao( - curMsg: SubDaoMessage.InstantiateMsgStruct, - curEmitteraddress: PromiseOrValue, + details: SubDaoMessage.InstantiateMsgStruct, + emitteraddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -621,63 +621,63 @@ export interface SubDao extends BaseContract { queryState(overrides?: CallOverrides): Promise; registerContract( - curVetoken: PromiseOrValue, - curSwapfactory: PromiseOrValue, + vetoken: PromiseOrValue, + swapfactory: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateConfig( - curOwner: PromiseOrValue, - curQuorum: PromiseOrValue, - curThreshold: PromiseOrValue, - curVotingperiod: PromiseOrValue, - curTimelockperiod: PromiseOrValue, - curExpirationperiod: PromiseOrValue, - curProposaldeposit: PromiseOrValue, - curSnapshotperiod: PromiseOrValue, + owner: PromiseOrValue, + quorum: PromiseOrValue, + threshold: PromiseOrValue, + votingperiod: PromiseOrValue, + timelockperiod: PromiseOrValue, + expirationperiod: PromiseOrValue, + proposaldeposit: PromiseOrValue, + snapshotperiod: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { buildDaoTokenMesage( - curMsg: SubDaoMessage.InstantiateMsgStruct, + details: SubDaoMessage.InstantiateMsgStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; castVote( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, vote: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; createPoll( - curDepositamount: PromiseOrValue, - curTitle: PromiseOrValue, - curDescription: PromiseOrValue, - curLink: PromiseOrValue, - curExecuteMsgs: SubDaoStorage.ExecuteDataStruct, + depositamount: PromiseOrValue, + title: PromiseOrValue, + description: PromiseOrValue, + link: PromiseOrValue, + executeMsgs: SubDaoStorage.ExecuteDataStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; endPoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; executePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; expirePoll( - curPollid: PromiseOrValue, + pollid: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; initializeSubDao( - curMsg: SubDaoMessage.InstantiateMsgStruct, - curEmitteraddress: PromiseOrValue, + details: SubDaoMessage.InstantiateMsgStruct, + emitteraddress: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; @@ -686,20 +686,20 @@ export interface SubDao extends BaseContract { queryState(overrides?: CallOverrides): Promise; registerContract( - curVetoken: PromiseOrValue, - curSwapfactory: PromiseOrValue, + vetoken: PromiseOrValue, + swapfactory: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; updateConfig( - curOwner: PromiseOrValue, - curQuorum: PromiseOrValue, - curThreshold: PromiseOrValue, - curVotingperiod: PromiseOrValue, - curTimelockperiod: PromiseOrValue, - curExpirationperiod: PromiseOrValue, - curProposaldeposit: PromiseOrValue, - curSnapshotperiod: PromiseOrValue, + owner: PromiseOrValue, + quorum: PromiseOrValue, + threshold: PromiseOrValue, + votingperiod: PromiseOrValue, + timelockperiod: PromiseOrValue, + expirationperiod: PromiseOrValue, + proposaldeposit: PromiseOrValue, + snapshotperiod: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; diff --git a/typechain-types/contracts/normalized_endowment/subdao/subdao.sol/SubDaoLib.ts b/typechain-types/contracts/normalized_endowment/subdao/subdao.sol/SubDaoLib.ts index a722b186d..bc6cf278f 100644 --- a/typechain-types/contracts/normalized_endowment/subdao/subdao.sol/SubDaoLib.ts +++ b/typechain-types/contracts/normalized_endowment/subdao/subdao.sol/SubDaoLib.ts @@ -146,15 +146,15 @@ export interface SubDaoLib extends BaseContract { functions: { queryAddressVotingBalanceAtBlock( - curVeaddr: PromiseOrValue, - curAddress: PromiseOrValue, - curBlocknumber: PromiseOrValue, + veAddr: PromiseOrValue, + targetAddr: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; queryTotalVotingBalanceAtBlock( - curVeaddr: PromiseOrValue, - curBlocknumber: PromiseOrValue, + veaddr: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber]>; @@ -164,41 +164,41 @@ export interface SubDaoLib extends BaseContract { ): Promise<[BigNumber] & { length: BigNumber }>; validateDescription( - curDescription: PromiseOrValue, + description: PromiseOrValue, overrides?: CallOverrides ): Promise<[boolean]>; validateLink( - curLink: PromiseOrValue, + link: PromiseOrValue, overrides?: CallOverrides ): Promise<[boolean]>; validateQuorum( - curQuorum: PromiseOrValue, + quorum: PromiseOrValue, overrides?: CallOverrides ): Promise<[boolean]>; validateThreshold( - curThreshold: PromiseOrValue, + threshold: PromiseOrValue, overrides?: CallOverrides ): Promise<[boolean]>; validateTitle( - curTitle: PromiseOrValue, + title: PromiseOrValue, overrides?: CallOverrides ): Promise<[boolean]>; }; queryAddressVotingBalanceAtBlock( - curVeaddr: PromiseOrValue, - curAddress: PromiseOrValue, - curBlocknumber: PromiseOrValue, + veAddr: PromiseOrValue, + targetAddr: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; queryTotalVotingBalanceAtBlock( - curVeaddr: PromiseOrValue, - curBlocknumber: PromiseOrValue, + veaddr: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -208,41 +208,41 @@ export interface SubDaoLib extends BaseContract { ): Promise; validateDescription( - curDescription: PromiseOrValue, + description: PromiseOrValue, overrides?: CallOverrides ): Promise; validateLink( - curLink: PromiseOrValue, + link: PromiseOrValue, overrides?: CallOverrides ): Promise; validateQuorum( - curQuorum: PromiseOrValue, + quorum: PromiseOrValue, overrides?: CallOverrides ): Promise; validateThreshold( - curThreshold: PromiseOrValue, + threshold: PromiseOrValue, overrides?: CallOverrides ): Promise; validateTitle( - curTitle: PromiseOrValue, + title: PromiseOrValue, overrides?: CallOverrides ): Promise; callStatic: { queryAddressVotingBalanceAtBlock( - curVeaddr: PromiseOrValue, - curAddress: PromiseOrValue, - curBlocknumber: PromiseOrValue, + veAddr: PromiseOrValue, + targetAddr: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; queryTotalVotingBalanceAtBlock( - curVeaddr: PromiseOrValue, - curBlocknumber: PromiseOrValue, + veaddr: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -252,27 +252,27 @@ export interface SubDaoLib extends BaseContract { ): Promise; validateDescription( - curDescription: PromiseOrValue, + description: PromiseOrValue, overrides?: CallOverrides ): Promise; validateLink( - curLink: PromiseOrValue, + link: PromiseOrValue, overrides?: CallOverrides ): Promise; validateQuorum( - curQuorum: PromiseOrValue, + quorum: PromiseOrValue, overrides?: CallOverrides ): Promise; validateThreshold( - curThreshold: PromiseOrValue, + threshold: PromiseOrValue, overrides?: CallOverrides ): Promise; validateTitle( - curTitle: PromiseOrValue, + title: PromiseOrValue, overrides?: CallOverrides ): Promise; }; @@ -281,15 +281,15 @@ export interface SubDaoLib extends BaseContract { estimateGas: { queryAddressVotingBalanceAtBlock( - curVeaddr: PromiseOrValue, - curAddress: PromiseOrValue, - curBlocknumber: PromiseOrValue, + veAddr: PromiseOrValue, + targetAddr: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; queryTotalVotingBalanceAtBlock( - curVeaddr: PromiseOrValue, - curBlocknumber: PromiseOrValue, + veaddr: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -299,42 +299,42 @@ export interface SubDaoLib extends BaseContract { ): Promise; validateDescription( - curDescription: PromiseOrValue, + description: PromiseOrValue, overrides?: CallOverrides ): Promise; validateLink( - curLink: PromiseOrValue, + link: PromiseOrValue, overrides?: CallOverrides ): Promise; validateQuorum( - curQuorum: PromiseOrValue, + quorum: PromiseOrValue, overrides?: CallOverrides ): Promise; validateThreshold( - curThreshold: PromiseOrValue, + threshold: PromiseOrValue, overrides?: CallOverrides ): Promise; validateTitle( - curTitle: PromiseOrValue, + title: PromiseOrValue, overrides?: CallOverrides ): Promise; }; populateTransaction: { queryAddressVotingBalanceAtBlock( - curVeaddr: PromiseOrValue, - curAddress: PromiseOrValue, - curBlocknumber: PromiseOrValue, + veAddr: PromiseOrValue, + targetAddr: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; queryTotalVotingBalanceAtBlock( - curVeaddr: PromiseOrValue, - curBlocknumber: PromiseOrValue, + veaddr: PromiseOrValue, + blocknumber: PromiseOrValue, overrides?: CallOverrides ): Promise; @@ -344,27 +344,27 @@ export interface SubDaoLib extends BaseContract { ): Promise; validateDescription( - curDescription: PromiseOrValue, + description: PromiseOrValue, overrides?: CallOverrides ): Promise; validateLink( - curLink: PromiseOrValue, + link: PromiseOrValue, overrides?: CallOverrides ): Promise; validateQuorum( - curQuorum: PromiseOrValue, + quorum: PromiseOrValue, overrides?: CallOverrides ): Promise; validateThreshold( - curThreshold: PromiseOrValue, + threshold: PromiseOrValue, overrides?: CallOverrides ): Promise; validateTitle( - curTitle: PromiseOrValue, + title: PromiseOrValue, overrides?: CallOverrides ): Promise; }; diff --git a/typechain-types/contracts/test/DummyGasService.ts b/typechain-types/contracts/test/DummyGasService.ts index 75d1a1640..c4337a86e 100644 --- a/typechain-types/contracts/test/DummyGasService.ts +++ b/typechain-types/contracts/test/DummyGasService.ts @@ -523,9 +523,7 @@ export interface DummyGasService extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - gasCollector( - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; + gasCollector(overrides?: CallOverrides): Promise<[string]>; payGasForContractCall( sender: PromiseOrValue, @@ -642,9 +640,7 @@ export interface DummyGasService extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - gasCollector( - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; + gasCollector(overrides?: CallOverrides): Promise; payGasForContractCall( sender: PromiseOrValue, @@ -1061,9 +1057,7 @@ export interface DummyGasService extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - gasCollector( - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; + gasCollector(overrides?: CallOverrides): Promise; payGasForContractCall( sender: PromiseOrValue, @@ -1181,9 +1175,7 @@ export interface DummyGasService extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; - gasCollector( - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; + gasCollector(overrides?: CallOverrides): Promise; payGasForContractCall( sender: PromiseOrValue, diff --git a/typechain-types/contracts/test/DummyGateway.ts b/typechain-types/contracts/test/DummyGateway.ts index 966db1bcd..81afd2135 100644 --- a/typechain-types/contracts/test/DummyGateway.ts +++ b/typechain-types/contracts/test/DummyGateway.ts @@ -616,8 +616,8 @@ export interface DummyGateway extends BaseContract { arg1: PromiseOrValue, arg2: PromiseOrValue, arg3: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; + overrides?: CallOverrides + ): Promise<[boolean]>; validateContractCallAndMint( commandId: PromiseOrValue, @@ -626,8 +626,8 @@ export interface DummyGateway extends BaseContract { arg3: PromiseOrValue, arg4: PromiseOrValue, arg5: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; + overrides?: CallOverrides + ): Promise<[boolean]>; }; adminEpoch(overrides?: CallOverrides): Promise; @@ -752,8 +752,8 @@ export interface DummyGateway extends BaseContract { arg1: PromiseOrValue, arg2: PromiseOrValue, arg3: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; + overrides?: CallOverrides + ): Promise; validateContractCallAndMint( commandId: PromiseOrValue, @@ -762,8 +762,8 @@ export interface DummyGateway extends BaseContract { arg3: PromiseOrValue, arg4: PromiseOrValue, arg5: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise; + overrides?: CallOverrides + ): Promise; callStatic: { adminEpoch(overrides?: CallOverrides): Promise; @@ -1155,7 +1155,7 @@ export interface DummyGateway extends BaseContract { arg1: PromiseOrValue, arg2: PromiseOrValue, arg3: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } + overrides?: CallOverrides ): Promise; validateContractCallAndMint( @@ -1165,7 +1165,7 @@ export interface DummyGateway extends BaseContract { arg3: PromiseOrValue, arg4: PromiseOrValue, arg5: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } + overrides?: CallOverrides ): Promise; }; @@ -1292,7 +1292,7 @@ export interface DummyGateway extends BaseContract { arg1: PromiseOrValue, arg2: PromiseOrValue, arg3: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } + overrides?: CallOverrides ): Promise; validateContractCallAndMint( @@ -1302,7 +1302,7 @@ export interface DummyGateway extends BaseContract { arg3: PromiseOrValue, arg4: PromiseOrValue, arg5: PromiseOrValue, - overrides?: Overrides & { from?: PromiseOrValue } + overrides?: CallOverrides ): Promise; }; } diff --git a/typechain-types/contracts/test/DummyVault.ts b/typechain-types/contracts/test/DummyVault.ts index 4c57248f6..fb7ad6da3 100644 --- a/typechain-types/contracts/test/DummyVault.ts +++ b/typechain-types/contracts/test/DummyVault.ts @@ -28,6 +28,18 @@ import type { PromiseOrValue, } from "../../common"; +export declare namespace IRouter { + export type RedemptionResponseStruct = { + amount: PromiseOrValue; + status: PromiseOrValue; + }; + + export type RedemptionResponseStructOutput = [BigNumber, number] & { + amount: BigNumber; + status: number; + }; +} + export interface DummyVaultInterface extends utils.Interface { functions: { "deposit(uint32,address,uint256)": FunctionFragment; @@ -288,7 +300,7 @@ export interface DummyVault extends BaseContract { token: PromiseOrValue, amt: PromiseOrValue, overrides?: CallOverrides - ): Promise; + ): Promise; redeemAll( accountId: PromiseOrValue, diff --git a/typechain-types/factories/contracts/accessory/fundraising/FundraisingLib__factory.ts b/typechain-types/factories/contracts/accessory/fundraising/FundraisingLib__factory.ts deleted file mode 100644 index 166538e20..000000000 --- a/typechain-types/factories/contracts/accessory/fundraising/FundraisingLib__factory.ts +++ /dev/null @@ -1,151 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { PromiseOrValue } from "../../../../common"; -import type { - FundraisingLib, - FundraisingLibInterface, -} from "../../../../contracts/accessory/fundraising/FundraisingLib"; - -const _abi = [ - { - inputs: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "contributed", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "threshold", - type: "tuple", - }, - ], - name: "thresholdMet", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "pure", - type: "function", - }, -] as const; - -const _bytecode = - "0x6080806040523461001a576108a59081610020823930815050f35b600080fdfe608060409080825260048036101561001657600080fd5b600091823560e01c90816363f9a3d21461043c57508063a0d2ef7c1461017b5763e5a3ff0e1461004557600080fd5b826003193601126101775767ffffffffffffffff908035828111610173576100709036908301610558565b916024359081116101735761008791369101610558565b9082815183518110159081610169575b50610161575b818501948381019160001991865b84515188101561015557805b8951805182101561014b576001600160a01b039081906100d890849061085b565b5116906100e68b895161085b565b5116146100fb576100f6906106cd565b6100b7565b909291979350925b600019841361011e575b610116906106cd565b9690916100ab565b905061011660206101408361013687848b015161085b565b51928a015161085b565b51111591905061010d565b5050919096610103565b60208383519015158152f35b50600161009d565b9050151538610097565b8380fd5b5080fd5b50828060031936011261043857602435918035610196610684565b5061019f610684565b508251936101ac856104ec565b8054948581526001820192855192838554808652602080960190878c52868c20908c5b888282106104245750505050906101eb8160029493038261051e565b8585015201865180818684549283815201848d52878d20928d5b898282106104055750505061021c9250038261051e565b8784015282610229610684565b98606461023685836106a4565b048a519081018091116103f25784606492610252928d526106a4565b049080519182039182116103df5798949852889273__$2e6ee47b30d794e0597b4af30f16ddb84c$__945b82548510156103b5579086888c8094886102e28e60646102b98c6102ad6102a4878f6106dc565b9790549b6106dc565b90549060031b1c6106a4565b0490519586948594630692cb3760e41b865260018060a01b03998a9160031b1c1691850161082f565b03818b5af49081156103ab5761033f6064610326896102ad8f958f9997986103188f8d9b8f9e94829591610391575b509d6106dc565b90549060031b1c16996106dc565b048d519586948594630ac57cf360e21b8652850161082f565b0381895af4908115610387579061035e918c91610365575b50946106cd565b939061027d565b61038191503d808e833e610379818361051e565b81019061070a565b8c610357565b89513d8d823e3d90fd5b6103a591503d808f833e610379818361051e565b38610311565b8b513d86823e3d90fd5b6103db8a8a926103ce8451958587968752860190610461565b9184830390850152610461565b0390f35b634e487b7160e01b8b526011885260248bfd5b634e487b7160e01b8c526011895260248cfd5b85546001600160a01b0316845260019586019587955093019201610205565b8354855290930192600192830192016101cf565b8280fd5b905082602036600319011261045e575061045860209235610670565b15158152f35b80fd5b606082018151835260209182810151916060848601528251809152836080860193019060005b8181106104d8575050506040015192604081830391015281808451928381520193019160005b8281106104bb575050505090565b83516001600160a01b0316855293810193928101926001016104ad565b825185529385019391850191600101610487565b6060810190811067ffffffffffffffff82111761050857604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761050857604052565b67ffffffffffffffff81116105085760051b60200190565b919060608382031261065b57604051610570816104ec565b809380358252602090818101359067ffffffffffffffff9182811161065b57810185601f8201121561065b578035906105a882610540565b916105b6604051938461051e565b808352858084019160051b8301019188831161065b5786809101915b8383106106605750915050850152604081013591821161065b57019280601f8501121561065b57833561060481610540565b94610612604051968761051e565b818652838087019260051b82010192831161065b578301905b82821061063c575050505060400152565b81356001600160a01b038116810361065b57815290830190830161062b565b600080fd5b82358152918101918791016105d2565b60040154421161067f57600090565b600190565b60405190610691826104ec565b6060604083600081528260208201520152565b818102929181159184041417156106b757565b634e487b7160e01b600052601160045260246000fd5b60001981146106b75760010190565b80548210156106f45760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b906020808383031261065b57825167ffffffffffffffff9384821161065b57019260608484031261065b5760405193610742856104ec565b805185528281015182811161065b57810184601f8201121561065b5780519061076a82610540565b91610778604051938461051e565b808352858084019160051b8301019187831161065b5786809101915b83831061081f5750915050860152604081015191821161065b57019180601f8401121561065b5782516107c681610540565b936107d4604051958661051e565b818552838086019260051b82010192831161065b578301905b8282106108005750505050604082015290565b81516001600160a01b038116810361065b5781529083019083016107ed565b8251815291810191879101610794565b61084760409295949395606083526060830190610461565b6001600160a01b0390951660208201520152565b80518210156106f45760209160051b01019056fea264697066735822122075a39c394a993a090472b42b3e2c6817fce7782dca7fc55fbe6e39b83dc2e8cb64736f6c63430008120033"; - -type FundraisingLibConstructorParams = - | [linkLibraryAddresses: FundraisingLibLibraryAddresses, signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: FundraisingLibConstructorParams -): xs is ConstructorParameters => { - return ( - typeof xs[0] === "string" || - (Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) || - "_isInterface" in xs[0] - ); -}; - -export class FundraisingLib__factory extends ContractFactory { - constructor(...args: FundraisingLibConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - const [linkLibraryAddresses, signer] = args; - super( - _abi, - FundraisingLib__factory.linkBytecode(linkLibraryAddresses), - signer - ); - } - } - - static linkBytecode( - linkLibraryAddresses: FundraisingLibLibraryAddresses - ): string { - let linkedBytecode = _bytecode; - - linkedBytecode = linkedBytecode.replace( - new RegExp("__\\$2e6ee47b30d794e0597b4af30f16ddb84c\\$__", "g"), - linkLibraryAddresses["contracts/core/struct.sol:AngelCoreStruct"] - .replace(/^0x/, "") - .toLowerCase() - ); - - return linkedBytecode; - } - - override deploy( - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - override getDeployTransaction( - overrides?: Overrides & { from?: PromiseOrValue } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - override attach(address: string): FundraisingLib { - return super.attach(address) as FundraisingLib; - } - override connect(signer: Signer): FundraisingLib__factory { - return super.connect(signer) as FundraisingLib__factory; - } - - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): FundraisingLibInterface { - return new utils.Interface(_abi) as FundraisingLibInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): FundraisingLib { - return new Contract(address, _abi, signerOrProvider) as FundraisingLib; - } -} - -export interface FundraisingLibLibraryAddresses { - ["contracts/core/struct.sol:AngelCoreStruct"]: string; -} diff --git a/typechain-types/factories/contracts/accessory/fundraising/Fundraising__factory.ts b/typechain-types/factories/contracts/accessory/fundraising/Fundraising__factory.ts deleted file mode 100644 index 6f45564e1..000000000 --- a/typechain-types/factories/contracts/accessory/fundraising/Fundraising__factory.ts +++ /dev/null @@ -1,1353 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { PromiseOrValue } from "../../../../common"; -import type { - Fundraising, - FundraisingInterface, -} from "../../../../contracts/accessory/fundraising/Fundraising"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "campaignId", - type: "uint256", - }, - { - components: [ - { - internalType: "address", - name: "creator", - type: "address", - }, - { - internalType: "bool", - name: "open", - type: "bool", - }, - { - internalType: "bool", - name: "success", - type: "bool", - }, - { - internalType: "string", - name: "title", - type: "string", - }, - { - internalType: "string", - name: "description", - type: "string", - }, - { - internalType: "string", - name: "imageUrl", - type: "string", - }, - { - internalType: "uint256", - name: "endTimeEpoch", - type: "uint256", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "fundingGoal", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "fundingThreshold", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "lockedBalance", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "contributedBalance", - type: "tuple", - }, - { - internalType: "address[]", - name: "contributors", - type: "address[]", - }, - ], - indexed: false, - internalType: "struct Campaign", - name: "campaign", - type: "tuple", - }, - ], - name: "FundraisingCampaignCreated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "campaignId", - type: "uint256", - }, - { - components: [ - { - internalType: "address", - name: "creator", - type: "address", - }, - { - internalType: "bool", - name: "open", - type: "bool", - }, - { - internalType: "bool", - name: "success", - type: "bool", - }, - { - internalType: "string", - name: "title", - type: "string", - }, - { - internalType: "string", - name: "description", - type: "string", - }, - { - internalType: "string", - name: "imageUrl", - type: "string", - }, - { - internalType: "uint256", - name: "endTimeEpoch", - type: "uint256", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "fundingGoal", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "fundingThreshold", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "lockedBalance", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "contributedBalance", - type: "tuple", - }, - { - internalType: "address[]", - name: "contributors", - type: "address[]", - }, - ], - indexed: false, - internalType: "struct Campaign", - name: "campaign", - type: "tuple", - }, - ], - name: "FundraisingCampaignUpdated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - components: [ - { - internalType: "address", - name: "registrarContract", - type: "address", - }, - { - internalType: "uint256", - name: "nextId", - type: "uint256", - }, - { - internalType: "uint256", - name: "campaignPeriodSeconds", - type: "uint256", - }, - { - internalType: "uint256", - name: "taxRate", - type: "uint256", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "acceptedTokens", - type: "tuple", - }, - ], - indexed: false, - internalType: "struct FundraisingStorage.Config", - name: "config", - type: "tuple", - }, - ], - name: "FundraisingConfigUpdated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "campaignId", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "sender", - type: "address", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - indexed: false, - internalType: "struct AngelCoreStruct.GenericBalance", - name: "balance", - type: "tuple", - }, - ], - name: "FundraisingContributionRefunded", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "campaignId", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "sender", - type: "address", - }, - { - components: [ - { - internalType: "uint256", - name: "campaign", - type: "uint256", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "balance", - type: "tuple", - }, - { - internalType: "bool", - name: "rewardsClaimed", - type: "bool", - }, - { - internalType: "bool", - name: "contributionRefunded", - type: "bool", - }, - { - internalType: "bool", - name: "exists", - type: "bool", - }, - ], - indexed: false, - internalType: "struct FundraisingStorage.ContributorInfo", - name: "contributorInfo", - type: "tuple", - }, - ], - name: "FundraisingContributorUpdated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "campaignId", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "sender", - type: "address", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - indexed: false, - internalType: "struct AngelCoreStruct.GenericBalance", - name: "balance", - type: "tuple", - }, - ], - name: "FundraisingRewardsClaimed", - type: "event", - }, - { - inputs: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - ], - name: "executeClaimRewards", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - ], - name: "executeCloseCampaign", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "address", - name: "cw20Addr", - type: "address", - }, - { - internalType: "uint256", - name: "cw20Amount", - type: "uint256", - }, - ], - internalType: "struct Balance", - name: "balance", - type: "tuple", - }, - ], - name: "executeContribute", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "endowmentId", - type: "uint256", - }, - { - components: [ - { - internalType: "string", - name: "title", - type: "string", - }, - { - internalType: "string", - name: "description", - type: "string", - }, - { - internalType: "string", - name: "imageUrl", - type: "string", - }, - { - internalType: "uint256", - name: "endTimeEpoch", - type: "uint256", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "fundingGoal", - type: "tuple", - }, - { - internalType: "uint256", - name: "rewardThreshold", - type: "uint256", - }, - ], - internalType: "struct FundraisingMessage.CreateMsg", - name: "message", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "address", - name: "cw20Addr", - type: "address", - }, - { - internalType: "uint256", - name: "cw20Amount", - type: "uint256", - }, - ], - internalType: "struct Balance", - name: "balance", - type: "tuple", - }, - { - internalType: "address", - name: "sender", - type: "address", - }, - ], - name: "executeCreate", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - ], - name: "executeRefundContributions", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "address", - name: "cw20Addr", - type: "address", - }, - { - internalType: "uint256", - name: "cw20Amount", - type: "uint256", - }, - ], - internalType: "struct Balance", - name: "balance", - type: "tuple", - }, - ], - name: "executeTopUp", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "campaignPeriodSeconds", - type: "uint256", - }, - { - internalType: "uint256", - name: "taxRate", - type: "uint256", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "acceptedTokens", - type: "tuple", - }, - ], - name: "executeUpdateConfig", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "getRegistrarConfig", - outputs: [ - { - components: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "applicationsReview", - type: "address", - }, - { - internalType: "address", - name: "indexFundContract", - type: "address", - }, - { - internalType: "address", - name: "accountsContract", - type: "address", - }, - { - internalType: "address", - name: "treasury", - type: "address", - }, - { - internalType: "address", - name: "subdaoGovCode", - type: "address", - }, - { - internalType: "address", - name: "subdaoCw20TokenCode", - type: "address", - }, - { - internalType: "address", - name: "subdaoBondingTokenCode", - type: "address", - }, - { - internalType: "address", - name: "subdaoCw900Code", - type: "address", - }, - { - internalType: "address", - name: "subdaoDistributorCode", - type: "address", - }, - { - internalType: "address", - name: "subdaoEmitter", - type: "address", - }, - { - internalType: "address", - name: "donationMatchCode", - type: "address", - }, - { - internalType: "address", - name: "donationMatchCharitesContract", - type: "address", - }, - { - internalType: "address", - name: "donationMatchEmitter", - type: "address", - }, - { - components: [ - { - internalType: "uint256", - name: "max", - type: "uint256", - }, - { - internalType: "uint256", - name: "min", - type: "uint256", - }, - { - internalType: "uint256", - name: "defaultSplit", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.SplitDetails", - name: "splitToLiquid", - type: "tuple", - }, - { - internalType: "address", - name: "haloToken", - type: "address", - }, - { - internalType: "address", - name: "haloTokenLpContract", - type: "address", - }, - { - internalType: "address", - name: "govContract", - type: "address", - }, - { - internalType: "address", - name: "collectorAddr", - type: "address", - }, - { - internalType: "uint256", - name: "collectorShare", - type: "uint256", - }, - { - internalType: "address", - name: "charitySharesContract", - type: "address", - }, - { - components: [ - { - internalType: "address[]", - name: "cw20", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.AcceptedTokens", - name: "acceptedTokens", - type: "tuple", - }, - { - internalType: "address", - name: "fundraisingContract", - type: "address", - }, - { - components: [ - { - internalType: "bool", - name: "rebalanceLiquidInvestedProfits", - type: "bool", - }, - { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", - }, - { - internalType: "bool", - name: "lockedPrincipleToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.RebalanceDetails", - name: "rebalance", - type: "tuple", - }, - { - internalType: "address", - name: "swapsRouter", - type: "address", - }, - { - internalType: "address", - name: "multisigFactory", - type: "address", - }, - { - internalType: "address", - name: "multisigEmitter", - type: "address", - }, - { - internalType: "address", - name: "charityProposal", - type: "address", - }, - { - internalType: "address", - name: "lockedWithdrawal", - type: "address", - }, - { - internalType: "address", - name: "proxyAdmin", - type: "address", - }, - { - internalType: "address", - name: "usdcAddress", - type: "address", - }, - { - internalType: "address", - name: "wethAddress", - type: "address", - }, - { - internalType: "address", - name: "cw900lvAddress", - type: "address", - }, - ], - internalType: "struct RegistrarStorage.Config", - name: "", - type: "tuple", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "address", - name: "registrarContract", - type: "address", - }, - { - internalType: "uint256", - name: "nextId", - type: "uint256", - }, - { - internalType: "uint256", - name: "campaignPeriodSeconds", - type: "uint256", - }, - { - internalType: "uint256", - name: "taxRate", - type: "uint256", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "acceptedTokens", - type: "tuple", - }, - ], - internalType: "struct FundraisingMessage.InstantiateMsg", - name: "curDetails", - type: "tuple", - }, - ], - name: "initFundraising", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [], - name: "queryConfig", - outputs: [ - { - components: [ - { - internalType: "address", - name: "registrarContract", - type: "address", - }, - { - internalType: "uint256", - name: "nextId", - type: "uint256", - }, - { - internalType: "uint256", - name: "campaignPeriodSeconds", - type: "uint256", - }, - { - internalType: "uint256", - name: "taxRate", - type: "uint256", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "acceptedTokens", - type: "tuple", - }, - ], - internalType: "struct FundraisingStorage.Config", - name: "", - type: "tuple", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - ], - name: "queryDetails", - outputs: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "creator", - type: "address", - }, - { - internalType: "string", - name: "title", - type: "string", - }, - { - internalType: "string", - name: "description", - type: "string", - }, - { - internalType: "string", - name: "imageUrl", - type: "string", - }, - { - internalType: "uint256", - name: "endTimeEpoch", - type: "uint256", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "fundingGoal", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "fundingThreshold", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "lockedBalance", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "contributedBalance", - type: "tuple", - }, - { - internalType: "uint256", - name: "contributorCount", - type: "uint256", - }, - { - internalType: "bool", - name: "success", - type: "bool", - }, - { - internalType: "bool", - name: "open", - type: "bool", - }, - ], - internalType: "struct FundraisingMessage.DetailsResponse", - name: "", - type: "tuple", - }, - ], - stateMutability: "view", - type: "function", - }, -] as const; - -const _bytecode = - "0x608080604052346100205760ff19600b5416600b55614cc390816100268239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c80634306703e14612e145780635224d55a14612c8d5780637264630b14612a0a578063810bb94a146126815780638bf743ad1461234e578063986b1cd3146120fa5780639adaca3b14611e195780639c73ea7814611bc3578063cc8d958714610497578063e68f909d146103185763f8c061211461009657600080fd5b346103155780600319360112610315576100ae613db4565b60408051602080825283516001600160a01b0390811682840152818501518116838501528484015181166060808501919091528501518116608080850191909152850151811660a080850191909152850151811660c080850191909152850151811660e08085019190915285015181166101008085019190915285015181166101208085019190915285015181166101408085019190915285015181166101608085019190915285015181166101808085019190915285015181166101a08085019190915285015181166101c08085019190915285015180516101e08086019190915281840151610200808701919091529190950151610220808601919091529486015182166102408086019190915290860151821661026080860191909152948601518216610280808601919091529086015182166102a080860191909152948601516102c0850152850151166102e0830152918301516104e06103008301525161050082019290925291829161022b90610520840190613954565b6102c08201516001600160a01b03908116610320858101919091526102e0840151805115156103408088019190915260208201511515610360808901919091526040830151610380808a0191909152606084015115156103a0808b01919091526080909401516103c0808b019190915261030089015187166103e0808c0191909152958901518716610400808c01919091529389015187166104208b01529188015186166104408a015287015185166104608901529186015184166104808801529085015183166104a08701529084015182166104c0860152909201519091166104e08301520390f35b80fd5b503461031557806003193601126103155760405190610336826136a3565b80825260209181838201528160408201528160608201526080610357614573565b910152604051610366816136a3565b60018060a01b038092541681526001928354818301908152600254604084019081526003549160608501928352604051936103a0856136ed565b600454855260405180818360055492838152016005600052600080516020614c2e833981519152928c60005b8783821061048157505050506103e492500382613775565b8186015260405180826006549182815201996006600052600080516020614c6e8339815191529160005b81811061046c575050505061042a8161046898999a0382613775565b6040860152608087019485526040519788978289525116908701525160408601525160608501525160808401525160a08084015260c0830190613991565b0390f35b83548c168d529b85019b92820192820161040e565b86548552958201958795509093019281016103cc565b5060031960c036820112611bbf576001600160401b0360243511611bbf5760c09060243536030112610315576040519060c082018281106001600160401b038211176111ce57604052602435600401356001600160401b038111611bbf5761050790600436916024350101613a0d565b82526024803501356001600160401b038111611bbf5761052f90600436916024350101613a0d565b6020830152604460243501356001600160401b038111611bbf5761055b90600436916024350101613a0d565b60408301526064602435013560608301526001600160401b0360846024350135116103155761059536602435608481013501600401613802565b608083015260243560a4013560a08301526060366043190112611bba57604051906105bf826136ed565b6044358083526064356001600160a01b03811690818103611bba576020850152608435604085015260a435916001600160a01b0383168303611bba57159081611bb1575b506114885760208381015160408086015190516323b872dd60e01b8152336004820152306024820152604481019190915291908290606490829087906001600160a01b03165af18015611ba6578390611b6b575b6106619150614262565b606061066b613db4565b0180516001600160a01b031615611b2657516001600160a01b038281169116036114be576040516354f3ce9960e01b81526004803590820152908290829060249082906001600160a01b03165afa8015611b1b578290611506575b60e09150015160048110156114f2576001036114be5760608301516002548103908111610e3b57421015611488576040519161070183613708565b6001835260203681850137604081015161071a8461453c565b526040519061072882613708565b600182526020368184013760208101516001600160a01b031661074a8361453c565b528051340361144357519260405193610762856136ed565b845260208401526040830152610776614573565b9261077f614573565b608082015180511590811580611436575b156111e457505090919260646107b060808501515160a086015190613a54565b0485528382525b8251946020840151936040810151906080606082015191015191604051966107de8861373f565b888852604051998a6101808101106001600160401b036101808d0111176111ce576101808b01604052338b52600160208c01528960408c015260608b015260808a015260a089015260c088015260e0870152610100860152610120850152610140840152610160830152600154808252600760205260018060a01b03604083205416156000146111895781526007602052604081209160018060a01b0381511683549060ff60a01b6020840151151560a01b169060ff60a81b6040850151151560a81b169269ffffffffffffffffffff60b01b16171717835560608101519283516001600160401b038111610e6c576108da60018301546145da565b601f8111611156575b506020601f82116001146110ea57849582939495926110df575b50508160011b916000199060031b1c19161760018201555b60808201519283516001600160401b0381116110cb5761093860028401546145da565b601f8111611098575b506020601f821160011461102c5782939495829392611021575b50508160011b916000199060031b1c19161760028301555b60a08301519283516001600160401b03811161100d5761099660038501546145da565b601f8111610fcf575b506020601f8211600114610f635783949582939492610f58575b50508160011b916000199060031b1c19161760038401555b60c0810151600484015560e08101518051600585015560208101518051906001600160401b038211610eb157600160401b8211610eb15760206006870191610a1e84845481865585613af0565b0190855260208520855b838110610f445750505050604001518051906001600160401b038211610e6c57600160401b8211610e6c5760206007860191610a6984845481865585613af0565b0190845260208420845b838110610f2757505050506101008101518051600885015560208101518051906001600160401b038211610eb157600160401b8211610eb15760206009870191610ac284845481865585613af0565b0190855260208520855b838110610f135750505050604001518051906001600160401b038211610e6c57600160401b8211610e6c576020600a860191610b0d84845481865585613af0565b0190845260208420845b838110610ef657505050506101208101518051600b85015560208101518051906001600160401b038211610eb157600160401b8211610eb1576020600c870191610b6684845481865585613af0565b0190855260208520855b838110610ee25750505050604001518051906001600160401b038211610e6c57600160401b8211610e6c576020600d860191610bb184845481865585613af0565b0190845260208420845b838110610ec557505050506101408101518051600e85015560208101518051906001600160401b038211610eb157600160401b8211610eb1576020600f870191610c0a84845481865585613af0565b0190855260208520855b838110610e9d5750505050604001518051906001600160401b038211610e6c57600160401b8211610e6c5760206010860191610c5584845481865585613af0565b0190845260208420845b838110610e805750505050610160810151928351906001600160401b038211610e6c57600160401b8211610e6c5760116020910194610ca383875481895588613af0565b0193835260208320835b828110610e4f57847fb43429f7e06641a50d3863732678a09bef4e173437f7da8b8236257fa29606da85600154610dec60405192839283526040602084015260018060a01b038151166040840152602081015115156060840152604081015115156080840152610160610dd7610dbf610da9610d91610d6f610d59610d43606089015161018060a08d01526101c08c019061392f565b60808901518b8203603f190160c08d015261392f565b60a08801518a8203603f190160e08c015261392f565b60c08701516101008a015260e0870151898203603f19016101208b0152613991565b610100860151888203603f19016101408a0152613991565b610120850151878203603f190185890152613991565b610140840151868203603f1901610180880152613991565b910151838203603f19016101a0850152613954565b0390a160015460018101809111610e3b576001557fbceec6b1cc8fae4cf1bf442b348bf71cf7f250ab45ac409706037b3ab55ee0ca6040516020815280610e3560208201613bc7565b0390a180f35b634e487b7160e01b82526011600452602482fd5b85516001600160a01b031681830155602090950194600101610cad565b634e487b7160e01b84526041600452602484fd5b82516001600160a01b031681830155602090920191600101610c5f565b600190602084519401938184015501610c14565b634e487b7160e01b85526041600452602485fd5b82516001600160a01b031681830155602090920191600101610bbb565b600190602084519401938184015501610b70565b82516001600160a01b031681830155602090920191600101610b17565b600190602084519401938184015501610acc565b82516001600160a01b031681830155602090920191600101610a73565b600190602084519401938184015501610a28565b0151905038806109b9565b6003850184526020842090845b601f1984168110610fb7575060019394959683601f19811610610f9e575b505050811b0160038401556109d1565b015160001960f88460031b161c19169055388080610f8e565b9091602060018192858b015181550193019101610f70565b610ffd9060038601855260208520601f840160051c81019160208510611003575b601f0160051c0190613a7d565b3861099f565b9091508190610ff0565b634e487b7160e01b83526041600452602483fd5b01519050388061095b565b6002840183526020832090835b601f1984168110611080575060019394959683601f19811610611067575b505050811b016002830155610973565b015160001960f88460031b161c19169055388080611057565b9091602060018192858b015181550193019101611039565b6110c59060028501845260208420601f840160051c8101916020851061100357601f0160051c0190613a7d565b38610941565b634e487b7160e01b82526041600452602482fd5b0151905038806108fd565b6001830185526020852090855b601f198416811061113e575060019394959683601f19811610611125575b505050811b016001820155610915565b015160001960f88460031b161c19169055388080611115565b9091602060018192858b0151815501930191016110f7565b6111839060018401865260208620601f840160051c8101916020851061100357601f0160051c0190613a7d565b386108e3565b60405162461bcd60e51b815260206004820152601760248201527f43616d706169676e20616c7265616479206578697374730000000000000000006044820152606490fd5b634e487b7160e01b600052604160045260246000fd5b6040015151600114908161142e575b50156113ac576006546000199490845b818110611356575b50509091928094126113185760405161122381613708565b6001815260203681830137602086019081526040519061124282613708565b600182526020368184013760408701918252611281606461127961126d602060808a0151015161453c565b5160a089015190613a54565b04915161453c565b526080840151604001516112aa906001600160a01b03906112a19061453c565b5116915161453c565b526040516112b781613708565b600181526020368183013760208301908152846112f2604051926112da84613708565b6001845260203681860137604086019384525161453c565b52608084015160400151611312906001600160a01b03906112a19061453c565b526107b7565b60405162461bcd60e51b8152602060048201526016602482015275151bdad95b881b9bdd081a5b881dda1a5d195b1a5cdd60521b6044820152606490fd5b6006600052600080516020614c6e8339815191528101546080860151604001516001600160a01b03918216919061138c9061453c565b5116146113a15761139c90614593565b611203565b95508490503861120b565b60405162461bcd60e51b815260206004820152604e60248201527f436f6e7472616374206f6e6c79206163636570747320612073696e676c65204360448201527f573230206f72204e617469766520546f6b656e20617420612074696d6520666f60648201526d1c88199d5b991a5b99c819dbd85b60921b608482015260a490fd5b9050386111f3565b5060208101515115610790565b60405162461bcd60e51b815260206004820152601b60248201527f4e617469766520636f696e20616d6f756e74206d69736d6174636800000000006044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c696420696e7075747360901b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b634e487b7160e01b82526021600452602482fd5b503d8083833e6115168183613775565b6020828281010312611b17578151906001600160401b038211611b13576111208284018285010312611b135760405191826104408101106001600160401b03610440850111176111ce576104408301604052611573818501613ca0565b8352602081850101516001600160401b038111611b0b5761159b9083860190838701016142a0565b6020840152604081850101516001600160401b038111611b0b57604081838701018487010312611b0b57604051906115d282613708565b8083870101516001600160401b038111611b0f576115f9908588019083868a0101016142e2565b82526020818488010101516001600160401b038111611b0f5790611625918588019185890101016142e2565b6020820152604084015283810160608181015190850152608001516003811015611b0b57608084015260a081850101516001600160401b038111611b0b576116749083860190838701016142a0565b60a084015260c081850101516001600160401b038111611b0b5761169f9083860190838701016142a0565b60c084015260e081850101516004811015611b0b5760e08401526116c861010082860101613d4c565b6101008401526116dd61012082860101613d4c565b610120840152838101610140818101519085015261016001516001600160401b038111611b0b576117159083860190838701016143c0565b61016084015261018081850101516001600160401b038111611b0b576117429083860190838701016143c0565b61018084015261175a8285016101a083870101613d59565b6101a084015261176f61024082860101613d4c565b6101c08401528381016102608101516101e08501526102808101516102008501526102a08101516102208501526117a9906102c001613ca0565b6102408401526117be6102e082860101613ca0565b6102608401526117d361030082860101613d4c565b6102808401526117e861032082860101613ca0565b6102a084015261034081850101516001600160401b038111611b0b57611815908386019083870101613ce6565b6102c084015261036081850101516001600160401b038111611b0b57611842908386019083870101613ce6565b6102e084015261038081850101516001600160401b038111611b0b5761186f908386019083870101613ce6565b6103008401526118878285016103a083870101614454565b61032084015261189f82850161040083870101614454565b6103408401526118b782850161046083870101614454565b6103608401526118cf8285016104c083870101614454565b610380840152610b408482018386010361051f190112611b075760405193846102408101106001600160401b03610240870111176111ce57611af3611100938661024060e0980160405261192b8285016105208787010161448f565b815261193f8285016105c08787010161448f565b60208201526119568285016106608787010161448f565b604082015261196d8285016107008787010161448f565b60608201526119848285016107a08787010161448f565b608082015261199b8285016108408787010161448f565b60a08201526119b28285016108e08787010161448f565b60c08201526119c98285016109808787010161448f565b888201526119df828501610a208787010161448f565b6101008201526119f7828501610ac08787010161448f565b610120820152611a0f828501610b608787010161448f565b610140820152611a27828501610c008787010161448f565b610160820152611a3f828501610ca08787010161448f565b610180820152611a57828501610d408787010161448f565b6101a0820152611a6f828501610de08787010161448f565b6101c0820152611a87828501610e808787010161448f565b6101e0820152611a9f828501610f208787010161448f565b610200820152611ab7828501610fc08787010161448f565b6102208201526103a08701528284016110608101516103c0880152611adf9061108001613d4c565b6103e087015282016110a084840101613cb4565b6104008501520101516104208201526106c6565b8480fd5b8580fd5b8780fd5b8380fd5b8280fd5b6040513d84823e3d90fd5b60405162461bcd60e51b815260206004820152601f60248201527f6163636f756e7473436f6e747261637420646f6573206e6f74206578697374006044820152606490fd5b506020813d602011611b9e575b81611b8560209383613775565b81010312611b1757611b9961066191613d4c565b610657565b3d9150611b78565b6040513d85823e3d90fd5b90501538610603565b600080fd5b5080fd5b503461031557602080600319360112611bbf576004358083526007825260408320546001600160a01b03811615611dd45760a01c60ff16611d9c57338352600980835260408420828552835260ff600460408620015460101c1615611d675733845280835260408420828552835260ff600460408620015460081c16611d2f57907f13511f5bd77f5116f2ad6ddd24296bfd3464d36f86773a2d0a44cf93e3b7890792913385528083526040852082865283526004604086200161010061ff0019825416179055338552808352604085208286528352611cb1611cab600160408820016146b5565b33614ac7565b3385528083526040852082865283527fa76017df6eed6ca61f852bb66836bb3c289fc70c6db5a765ccbd6958ef78183a611cf660408720604051918291338784614a61565b0390a13385528252604084208185528252610e356001604086200160405193849384523390840152606060408401526060830190613b96565b60405162461bcd60e51b815260048101849052601060248201526f105b1c9958591e481c99599d5b99195960821b6044820152606490fd5b60405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081a5b9c1d5d609a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152601060248201526f21b0b6b830b4b3b71034b99037b832b760811b6044820152606490fd5b60405162461bcd60e51b815260206004820152601760248201527f43616d706169676e20646f6573206e6f742065786973740000000000000000006044820152606490fd5b50346103155760206003198181360112611b17576004358084526007835260408420546001600160a01b0390811615611dd45773__$57bd27dda7e7a9248efc1b58bcbb4a0ed7$__908286526007855260408620604051906331fcd1e960e11b825260048201528581602481865af490811561201b5787916120c1575b501561208e57611ea4613db4565b9483875260078152866040812095611ef383600e890192604051809381926372d1ff8760e11b835260406004840152611ee06044840188614621565b9083820301602484015260058d01614621565b0381895af4908115611ba6578391612059575b501561202657600160a81b60ff60a81b1988541617875560446003546040519687938492632834bbdf60e21b8452600484015260248301525af492831561201b5787918894611f9a575b5050906080600080516020614c4e83398151915296611f76611f7e959484895416614ac7565b015116614ac7565b815460ff60a01b19168255604051918291610e359190836147f5565b92915092503d8088853e611fae8185613775565b8301604084820312611b0f578351966001600160401b03978881116120175782611fd9918701614700565b9385015197881161201357611f76612007608093600080516020614c4e8339815191529a611f7e9801614700565b95505096929192611f50565b8880fd5b8980fd5b6040513d89823e3d90fd5b505050600080516020614c4e8339815191529450612054915083541661204e600b85016146b5565b90614ac7565b611f7e565b90508381813d8311612087575b6120708183613775565b81010312611b175761208190613d4c565b38611f06565b503d612066565b60405162461bcd60e51b815260048101869052600b60248201526a139bdd08195e1c1a5c995960aa1b6044820152606490fd5b90508581813d83116120f3575b6120d88183613775565b810103126120ef576120e990613d4c565b38611e96565b8680fd5b503d6120ce565b50346103155760206003198181360112611b1757600435906001600160401b0390818311611b075760a0908336030112611b135760405161213a816136a3565b61214683600401613796565b8152838101926024908181013585526040830190604481013582526060840190606481013582526084810135908682116120175760046121899236920101613802565b9160808501928352600b549660ff8816612314576001809860ff191617600b5560018060a01b03809651166bffffffffffffffffffffffff60a01b8b5416178a555187555160025551600355519081516004558582015191825185811161230157600160401b938482116122ee5788906122098360055481600555613a94565b0160058a52878a5b8381106122ce5750505050604001519182519485116122bb5784116122a9575084906122438460065481600655613ac3565b019060068652855b83811061228857867fbceec6b1cc8fae4cf1bf442b348bf71cf7f250ab45ac409706037b3ab55ee0ca610e35886040519181839283528201613bc7565b82518216600080516020614c6e83398151915282015591850191840161224b565b634e487b7160e01b8752604160045286fd5b50634e487b7160e01b8752604160045286fd5b8a835193019281600080516020614c2e8339815191520155018890612211565b634e487b7160e01b8a526041600452838afd5b634e487b7160e01b895260416004528289fd5b60405162461bcd60e51b8152600481018a905260138187015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b50608036600319011261031557600435612367366137aa565b908151158061266c575b61148857602082810180516040808601805191516323b872dd60e01b81523360048201523060248201526044810192909252939593926001600160a01b03929091908790829060649082908c9088165af1801561266157889061262b575b6123d99150614262565b848752600786526040872093845483811615611dd45760a01c60ff161580156125a6575b61256b578285541633036114be57879688600787018054915b82811061252f575b50505090919293949596156124eb5750908161243f889594935134146148f3565b5191612450600b8701938454614614565b835573__$2e6ee47b30d794e0597b4af30f16ddb84c$__915116925190803b15611b0757604051631bccc68560e21b815260048101939093526001600160a01b039390931660248301526044820152908290829060649082905af48015611b1b576124d7575b5050600080516020614c4e83398151915291610e35604051928392836147f5565b6124e0906136be565b611b175782386124b6565b6064906040519062461bcd60e51b82526004820152601960248201527f546f6b656e206e6f7420696e20616c6c6f776564206c697374000000000000006044820152fd5b8661253a82846145a2565b919054818951169260031b1c161461255a5761255590614593565b612416565b50600199503891508190508061241e565b60405162461bcd60e51b815260048101889052601360248201527210d85b5c185a59db881a5cc8195e1c1a5c9959606a1b6044820152606490fd5b506040516331fcd1e960e11b815260048101869052878160248173__$57bd27dda7e7a9248efc1b58bcbb4a0ed7$__5af49081156126205789916125eb575b506123fd565b90508781813d8311612619575b6126028183613775565b810103126120135761261390613d4c565b386125e5565b503d6125f8565b6040513d8b823e3d90fd5b508681813d831161265a575b6126418183613775565b81010312611b0f576126556123d991613d4c565b6123cf565b503d612637565b6040513d8a823e3d90fd5b5060208201516001600160a01b031615612371565b503461031557602036600319011261031557600435815260076020526040812080549091906001600160a01b03811615611dd45760a01c60ff16611d9c573381526009602052604081209160043582528260205260ff600460408420015460101c1615611d675760043582528260205260ff6004604084200154166129d357601081015461270e8161450a565b916127188261450a565b60405193612725856136ed565b85855260208501526040840152600e810154806129a457508383525b60405161275c816127558160108601613b50565b0382613775565b60408401528390600d8101545b83831061281557857f3413116b1aca3792c720c08efd45c787ebd0c992bbebf829f2a01f4a87eabc5f610e35878a6127a18233614ac7565b60043585526020527fa76017df6eed6ca61f852bb66836bb3c289fc70c6db5a765ccbd6958ef78183a6127f06040862060048101600160ff198254161790556040519182913360043584614a61565b0390a16040519182916004358352336020840152606060408401526060830190613991565b91949092958192825b818110612939575b508297835b600435855283602052600360408620018054821015612923578161284e916145a2565b905460408a015160039290921b1c6001600160a01b0390811691612873908c9061455f565b5116146128885761288390614593565b61282b565b61291c939950946128b16128bd92979660049a94969a358b528b602052600260408c20016145a2565b90549060031b1c613a54565b6128dc6128cd83600f88016145a2565b929054600393841b1c906145ba565b6128ea8360208a015161455f565b526128f882601087016145a2565b60018060a09493941b039254911b1c1661291682604089015161455f565b52614593565b9190612769565b505094936128bd9061291c939998929498613a54565b61294681600d88016145a2565b90549060018060a01b0361295e8b60408c015161455f565b5160039392841b9290921c6001600160a01b0316911614612988575061298390614593565b61281e565b91945061299890600c87016145a2565b9054911b1c9238612826565b6129cc906004358652866020526129c76001604088200154600b85015490613a54565b6145ba565b8352612741565b60405162461bcd60e51b815260206004820152600f60248201526e105b1c9958591e4818db185a5b5959608a1b6044820152606490fd5b503461031557602036600319011261031557806040916101808351612a2e816136d1565b828152826020820152606085820152606080820152606060808201528260a0820152612a58614573565b60c0820152612a65614573565b60e0820152612a72614573565b610100820152612a80614573565b61012082015282610140820152826101608201520152600435815260076020522060ff8154600483015492612b61600e60118301549260405196612ac3886136d1565b60043588526001600160a01b0386166020890152604051612aeb81612755816001870161475f565b6040890152604051612b0481612755816002870161475f565b6060890152604051612b1d81612755816003870161475f565b608089015260a0880152612b33600582016146b5565b60c0880152612b44600882016146b5565b60e0880152612b55600b82016146b5565b610100880152016146b5565b610120850152610140840152818160a81c16151561016084015260a01c1615156101808201526040518091602082528051602083015260018060a01b036020820151166040830152610180612c66612bca60408401516101a060608701526101c086019061392f565b612c4f612c39612c24612c06612bf2606089015195601f1996878c83030160808d015261392f565b6080890151868b83030160a08c015261392f565b60a088015160c08a015260c0880151858a83030160e08b0152613991565b60e087015184898303016101008a0152613991565b6101008601518388830301610120890152613991565b906101208501519086830301610140870152613991565b91610140810151610160850152610160810151151582850152015115156101a08301520390f35b5034610315576060366003190112610315576001600160401b03604435818111611b1757612cbf903690600401613802565b906001600160a01b0380612cd1613db4565b511633036114be57600435600255602435600355825160045560209283810151908151848111612e0057600160401b92838211612dec578690612d1a8360055481600555613a94565b0160058852875b828110612dcc5750505060400151908151938411612db8578311610eb1578390612d518460065481600655613ac3565b019060068552845b838110612d9657857fbceec6b1cc8fae4cf1bf442b348bf71cf7f250ab45ac409706037b3ab55ee0ca610e35876040519181839283528201613bc7565b82518216600080516020614c6e83398151915282015591840191600101612d59565b634e487b7160e01b86526041600452602486fd5b8151600080516020614c2e83398151915282015590870190600101612d21565b634e487b7160e01b88526041600452602488fd5b634e487b7160e01b87526041600452602487fd5b50608036600319011261031557612e2a366137aa565b8051158061368e575b6114885760208181015160408084015190516323b872dd60e01b8152336004820152306024820152604481019190915291908290606490829087906001600160a01b03165af18015611ba6578390613653575b612e909150614262565b600435825260076020526040822080546001600160a01b03811615611dd45760a01c60ff161580156135c8575b611b17578283600783018054915b828110613582575b5050501561131857612ee7825134146148f3565b33835260096020526040832091600a602052604084205415156000146133bb5760043584528260205260ff600460408620015460101c1660001461318a578051600435855283602052612f4260016040872001918254614614565b905573__$2e6ee47b30d794e0597b4af30f16ddb84c$__60043585528360205284600160408220019160018060a01b0360208501511690604085015191813b15611b1357604051631bccc68560e21b815260048101959095526001600160a01b031660248501526044840191909152829060649082905af4801561317f5761316c575b5083905b8051612fda600e8501918254614614565b815573__$2e6ee47b30d794e0597b4af30f16ddb84c$__604060018060a01b0360208501511693015190803b15611b0757604051631bccc68560e21b815260048101939093526001600160a01b039390931660248301526044820152908290829060649082905af48015611b1b57613158575b5060118201805491855b83811061311e575b50156130cd575b505061308a600080516020614c4e83398151915291604051918291600435836147f5565b0390a160043582526020527fa76017df6eed6ca61f852bb66836bb3c289fc70c6db5a765ccbd6958ef78183a610e35604083206040519182913360043584614a61565b600160401b821015610eb157916130fc82600080516020614c4e83398151915294600161308a950181556145a2565b81546001600160a01b0360039290921b91821b19163390911b17905591613066565b61312881846145a2565b905460039190911b1c6001600160a01b0316331461314e5761314990614593565b613057565b505060013861305f565b613161906136be565b611b1757823861304d565b613178909491946136be565b9238612fc5565b6040513d87823e3d90fd5b613192614573565b61319e82518251614614565b815260208201516040808401519051630692cb3760e41b8152928792849283926131d5926001600160a01b0316906004850161497d565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af490811561317f578591613399575b506040519061320a826136a3565b60043582526020820190815285604083015285606083015260016080830152600435865284602052604086209082518255518051600183015560208101518051906001600160401b03821161338557600160401b8211613385576020600285019161327a84845481865585613af0565b0190895260208920895b8381106133715750505050604001518051906001600160401b038211612dec57600160401b8211612dec57908291602060038a97969501916132cb84845481865585613af0565b0190865260208620865b83811061335157505050506004608091019161330360408201511515849060ff801983541691151516179055565b6060810151835461ff00191690151560081b61ff00161783550151151562ff000082549160101b169062ff00001916179055338252600a60205261334c60043560408420614a2c565b612fc9565b82516001600160a01b0316818301558a97506020909201916001016132d5565b600190602084519401938184015501613284565b634e487b7160e01b89526041600452602489fd5b6133b591503d8087833e6133ad8183613775565b810190614958565b386131fc565b6133c3614573565b6133cf82518251614614565b815260208201516040808401519051630692cb3760e41b815292879284928392613406926001600160a01b0316906004850161497d565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af490811561317f578591613568575b506040519061343b826136a3565b60043582526020820190815285604083015285606083015260016080830152600435865284602052604086209082518255518051600183015560208101518051906001600160401b03821161338557600160401b821161338557602060028501916134ab84845481865585613af0565b0190895260208920895b8381106135545750505050604001518051906001600160401b038211612dec57600160401b8211612dec57908291602060038a97969501916134fc84845481865585613af0565b0190865260208620865b83811061353457505050506004608091019161330360408201511515849060ff801983541691151516179055565b82516001600160a01b0316818301558a9750602090920191600101613506565b6001906020845194019381840155016134b5565b61357c91503d8087833e6133ad8183613775565b3861342d565b61358c81836145a2565b9054602088015160039290921b1c6001600160a01b039081169116146135ba576135b590614593565b612ecb565b505050506001388080612ed3565b506040516331fcd1e960e11b81526004810182905260208160248173__$57bd27dda7e7a9248efc1b58bcbb4a0ed7$__5af490811561364857849161360e575b50612ebd565b90506020813d602011613640575b8161362960209383613775565b81010312611b135761363a90613d4c565b38613608565b3d915061361c565b6040513d86823e3d90fd5b506020813d602011613686575b8161366d60209383613775565b81010312611b1757613681612e9091613d4c565b612e86565b3d9150613660565b5060208101516001600160a01b031615612e33565b60a081019081106001600160401b038211176111ce57604052565b6001600160401b0381116111ce57604052565b6101a081019081106001600160401b038211176111ce57604052565b606081019081106001600160401b038211176111ce57604052565b604081019081106001600160401b038211176111ce57604052565b61042081019081106001600160401b038211176111ce57604052565b602081019081106001600160401b038211176111ce57604052565b608081019081106001600160401b038211176111ce57604052565b90601f801991011681019081106001600160401b038211176111ce57604052565b35906001600160a01b0382168203611bba57565b6060906023190112611bba57604051906137c3826136ed565b6024358252816044356001600160a01b0381168103611bba5760208201526040606435910152565b6001600160401b0381116111ce5760051b60200190565b9190606083820312611bba5760405161381a816136ed565b80938035825260209081810135906001600160401b0391828111611bba57810185601f82011215611bba57803590613851826137eb565b9161385f6040519384613775565b808352858084019160051b83010191888311611bba5786809101915b8383106138fc57509150508501526040810135918211611bba57019280601f85011215611bba5783356138ad816137eb565b946138bb6040519687613775565b818652838087019260051b820101928311611bba578301905b8282106138e5575050505060400152565b8380916138f184613796565b8152019101906138d4565b823581529181019187910161387b565b60005b83811061391f5750506000910152565b818101518382015260200161390f565b906020916139488151809281855285808601910161390c565b601f01601f1916010190565b90815180825260208080930193019160005b828110613974575050505090565b83516001600160a01b031685529381019392810192600101613966565b9190606081019083518152602080850151926060828401528351809152816080840194019160005b8281106139de575050505060406139db93940151906040818403910152613954565b90565b8351865294810194928101926001016139b9565b6001600160401b0381116111ce57601f01601f191660200190565b81601f82011215611bba57803590613a24826139f2565b92613a326040519485613775565b82845260208383010111611bba57816000926020809301838601378301015290565b81810292918115918404141715613a6757565b634e487b7160e01b600052601160045260246000fd5b818110613a88575050565b60008155600101613a7d565b808210613a9f575050565b613ac1916005600052600080516020614c2e8339815191529182019101613a7d565b565b808210613ace575050565b613ac1916006600052600080516020614c6e8339815191529182019101613a7d565b91818110613afd57505050565b613ac19260005260206000209182019101613a7d565b90815480825260208092019260005281600020916000905b828210613b39575050505090565b835485529384019360019384019390910190613b2b565b90815480825260208092019260005281600020916000905b828210613b76575050505090565b83546001600160a01b031685529384019360019384019390910190613b68565b9060026139db928054835260606020840152613bb86060840160018301613b13565b92604081850391015201613b50565b60018060a01b0390816000541681526001805491602092838201526002546040820152600354606082015260a0608082015261010081019060045460a0820152606060c0820152600554809252610120810191600080516020614c2e8339815191529060005b818110613c8d5750505060e0609f1982840301910152826006549182815201936006600052600080516020614c6e833981519152936000915b838310613c765750505050505090565b855481168752958101959484019491840191613c66565b8254855293860193918501918501613c2d565b51906001600160a01b0382168203611bba57565b9190826060910312611bba57604051613ccc816136ed565b604080829480518452602081015160208501520151910152565b81601f82011215611bba57805191613cfd836137eb565b92613d0b6040519485613775565b808452602092838086019260051b820101928311611bba578301905b828210613d35575050505090565b838091613d4184613ca0565b815201910190613d27565b51908115158203611bba57565b91908260a0910312611bba57604051613d71816136a3565b6080808294613d7f81613d4c565b8452613d8d60208201613d4c565b602085015260408101516040850152613da860608201613d4c565b60608501520151910152565b6000610400604051613dc581613723565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e08201528261010082015282610120820152826101408201528261016082015282610180820152826101a0820152604051613e28816136ed565b8381528360208201528360408201526101c0820152826101e08201528261020082015282610220820152826102408201528261026082015282610280820152604051613e738161373f565b606081526102a0820152826102c0820152604051613e90816136a3565b8381528360208201528360408201528360608201528360808201526102e08201528261030082015282610320820152826103408201528261036082015282610380820152826103a0820152826103c0820152826103e082015201526004600060018060a01b038154166040519283809263e68f909d60e01b82525afa90811561425657600091613f1e575090565b3d9150816000823e613f308282613775565b6020818381010312611bba578051916001600160401b038311611bba576104e08383018284010312611bba5760405192613f6984613723565b613f74818401613ca0565b8452613f84602082850101613ca0565b6020850152613f97604082850101613ca0565b6040850152613faa606082850101613ca0565b6060850152613fbd608082850101613ca0565b6080850152613fd060a082850101613ca0565b60a0850152613fe360c082850101613ca0565b60c0850152613ff660e082850101613ca0565b60e085015261400a61010082850101613ca0565b61010085015261401f61012082850101613ca0565b61012085015261403461014082850101613ca0565b61014085015261404961016082850101613ca0565b61016085015261405e61018082850101613ca0565b6101808501526140736101a082850101613ca0565b6101a085015261408b8284016101c083860101613cb4565b6101c08501526140a061022082850101613ca0565b6101e08501526140b561024082850101613ca0565b6102008501526140ca61026082850101613ca0565b6102208501526140df61028082850101613ca0565b6102408501528281016102a0810151610260860152614101906102c001613ca0565b6102808501526102e08184010151926001600160401b038411611bba57602084838301018483010312611bba576040519361413b8561373f565b808383010151936001600160401b038511611bba5761424d9561416d614198936104c097848701918888010101613ce6565b81526102a088015261418461030085850101613ca0565b6102c0880152820161032084840101613d59565b6102e08601526141ad6103c083830101613ca0565b6103008601526141c26103e083830101613ca0565b6103208601526141d761040083830101613ca0565b6103408601526141ec61042083830101613ca0565b61036086015261420161044083830101613ca0565b61038086015261421661046083830101613ca0565b6103a086015261422b61048083830101613ca0565b6103c08601526142406104a083830101613ca0565b6103e08601520101613ca0565b61040082015290565b6040513d6000823e3d90fd5b1561426957565b60405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b81601f82011215611bba5780516142b6816139f2565b926142c46040519485613775565b81845260208284010111611bba576139db916020808501910161390c565b81601f82011215611bba578051916142f9836137eb565b926143076040519485613775565b808452602092838086019260051b820101928311611bba578301905b828210614331575050505090565b81518152908301908301614323565b9080601f83011215611bba57815190614358826137eb565b926143666040519485613775565b828452602092838086019160051b83010192808411611bba57848301915b8483106143945750505050505090565b82516001600160401b038111611bba5786916143b5848480948901016142a0565b815201920191614384565b9190608083820312611bba57604051906143d98261375a565b81938051916001600160401b0392838111611bba57816143fa918401614340565b84526020820151838111611bba57816144149184016142e2565b60208501526040820151838111611bba5781614431918401614340565b60408501526060820151928311611bba5760609261444f92016142e2565b910152565b9190826060910312611bba5760405161446c816136ed565b604061444f81839561447d81613ca0565b85526020810151602086015201613d4c565b809291039160a08312611bba576040516144a88161375a565b604081946144b584613d4c565b83526144c360208501613d4c565b60208401526144d3828501613d4c565b83830152605f190112611bba576060906080604051936144f285613708565b6144fd848201613ca0565b8552015160208401520152565b90614514826137eb565b6145216040519182613775565b8281528092614532601f19916137eb565b0190602036910137565b8051156145495760200190565b634e487b7160e01b600052603260045260246000fd5b80518210156145495760209160051b010190565b60405190614580826136ed565b6060604083600081528260208201520152565b6000198114613a675760010190565b80548210156145495760005260206000200190600090565b81156145c4570490565b634e487b7160e01b600052601260045260246000fd5b90600182811c9216801561460a575b60208310146145f457565b634e487b7160e01b600052602260045260246000fd5b91607f16916145e9565b91908201809211613a6757565b60608201815483526001908183019260209060608287015284548093526080860192600095865282862090865b8181106146a257505050600201946040818403910152808554928381520194845280842093905b82821061468457505050505090565b84546001600160a01b03168652948501949383019390830190614675565b825486529484019491860191860161464e565b906002604080516146c5816136ed565b6146fc81958054835283516146e1816127558160018601613b13565b60208401526146f584518096819301613b50565b0384613775565b0152565b9190606083820312611bba5760405190614719826136ed565b8193805183526020810151916001600160401b0392838111611bba57816147419184016142e2565b60208501526040820151928311611bba5760409261444f9201613ce6565b9060009291805491614770836145da565b9182825260019384811690816000146147d25750600114614792575b50505050565b90919394506000526020928360002092846000945b8386106147be57505050500101903880808061478c565b8054858701830152940193859082016147a7565b9294505050602093945060ff191683830152151560051b0101903880808061478c565b906139db9260119183526040602084015260ff815460018060a01b0381166040860152818160a01c161515606086015260a81c1615156080840152610180928360a08201526101a06148e56148516101c084016001860161475f565b956148d26148be6148aa61488b614878603f199b8c8a82030160c08b015260028b0161475f565b8b8982030160e08a015260038a0161475f565b60048901546101008901528a8882030161012089015260058901613b96565b898782030161014088015260088801613b96565b8886820301610160870152600b8701613b96565b90878583030190850152600e8501613b96565b948286030191015201613b50565b156148fa57565b60405162461bcd60e51b815260206004820152603060248201527f4e617469766520636f696e20616d6f756e7420646f6573206e6f74206d61746360448201526f1a081d985b1d59481c9958d95a5d995960821b6064820152608490fd5b90602082820312611bba5781516001600160401b038111611bba576139db9201614700565b90939291936060825260c082018151606084015260209182810151916060608086015282518091528360e0860193019060005b85828210614a18575050505060400151838203605f190160a08501528051808352918301919083019060005b8181106149fb575050506001600160a01b039095169082015260400152565b82516001600160a01b0316845292840192918401916001016149dc565b8351865294850194909201916001016149b0565b8054600160401b8110156111ce57614a49916001820181556145a2565b819291549060031b91821b91600019901b1916179055565b9081526001600160a01b03909116602082015260606040820181905282549082015260a0608082015260e060ff6004614aa1610100850160018701613b96565b940154818116151560a0850152818160081c16151560c085015260101c16151591015290565b90805180614ba6575b5060005b602090818301805151821015614b9f5760018060a01b0390836040926044614b0d8683614b0482898d015161455f565b5116955161455f565b519160008651958694859363a9059cbb60e01b85528d16600485015260248401525af1918215614b955750600091614b59575b50614b549250614b4f90614262565b614593565b614ad4565b919282813d8311614b8e575b614b6f8183613775565b81010312610315575090614b4f614b88614b5493613d4c565b90614b40565b503d614b65565b513d6000823e3d90fd5b5050505050565b600080808093865af13d15614c28573d614bbf816139f2565b90614bcd6040519283613775565b8152600060203d92013e5b15614be35738614ad0565b60405162461bcd60e51b815260206004820152601a60248201527f4661696c656420746f2073656e64204e617469766520436f696e0000000000006044820152606490fd5b614bd856fe036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db0de08c16bab57f860da336c5a24fa2a8518e252221453c33938c8e8db90c902ddf652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3fa26469706673582212201f10c1c77fa2d2d66b7b5e11003df3c68ebc45902c9a49acec57fb8f61387c1664736f6c63430008120033"; - -type FundraisingConstructorParams = - | [linkLibraryAddresses: FundraisingLibraryAddresses, signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: FundraisingConstructorParams -): xs is ConstructorParameters => { - return ( - typeof xs[0] === "string" || - (Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) || - "_isInterface" in xs[0] - ); -}; - -export class Fundraising__factory extends ContractFactory { - constructor(...args: FundraisingConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - const [linkLibraryAddresses, signer] = args; - super( - _abi, - Fundraising__factory.linkBytecode(linkLibraryAddresses), - signer - ); - } - } - - static linkBytecode( - linkLibraryAddresses: FundraisingLibraryAddresses - ): string { - let linkedBytecode = _bytecode; - - linkedBytecode = linkedBytecode.replace( - new RegExp("__\\$57bd27dda7e7a9248efc1b58bcbb4a0ed7\\$__", "g"), - linkLibraryAddresses[ - "contracts/accessory/fundraising/FundraisingLib.sol:FundraisingLib" - ] - .replace(/^0x/, "") - .toLowerCase() - ); - - linkedBytecode = linkedBytecode.replace( - new RegExp("__\\$2e6ee47b30d794e0597b4af30f16ddb84c\\$__", "g"), - linkLibraryAddresses["contracts/core/struct.sol:AngelCoreStruct"] - .replace(/^0x/, "") - .toLowerCase() - ); - - return linkedBytecode; - } - - override deploy( - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - override getDeployTransaction( - overrides?: Overrides & { from?: PromiseOrValue } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - override attach(address: string): Fundraising { - return super.attach(address) as Fundraising; - } - override connect(signer: Signer): Fundraising__factory { - return super.connect(signer) as Fundraising__factory; - } - - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): FundraisingInterface { - return new utils.Interface(_abi) as FundraisingInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): Fundraising { - return new Contract(address, _abi, signerOrProvider) as Fundraising; - } -} - -export interface FundraisingLibraryAddresses { - ["contracts/accessory/fundraising/FundraisingLib.sol:FundraisingLib"]: string; - ["contracts/core/struct.sol:AngelCoreStruct"]: string; -} diff --git a/typechain-types/factories/contracts/accessory/fundraising/index.ts b/typechain-types/factories/contracts/accessory/fundraising/index.ts deleted file mode 100644 index 40940b572..000000000 --- a/typechain-types/factories/contracts/accessory/fundraising/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { Fundraising__factory } from "./Fundraising__factory"; -export { FundraisingLib__factory } from "./FundraisingLib__factory"; diff --git a/typechain-types/factories/contracts/accessory/gift-cards/GiftCards__factory.ts b/typechain-types/factories/contracts/accessory/gift-cards/GiftCards__factory.ts index fea401a63..0c3c75cbf 100644 --- a/typechain-types/factories/contracts/accessory/gift-cards/GiftCards__factory.ts +++ b/typechain-types/factories/contracts/accessory/gift-cards/GiftCards__factory.ts @@ -10,6 +10,11 @@ import type { } from "../../../../contracts/accessory/gift-cards/GiftCards"; const _abi = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor", + }, { anonymous: false, inputs: [ @@ -20,27 +25,22 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], indexed: false, - internalType: "struct AngelCoreStruct.GenericBalance", - name: "balance", - type: "tuple", + internalType: "address", + name: "token", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "amt", + type: "uint256", + }, + { + indexed: false, + internalType: "enum AngelCoreStruct.AllowanceAction", + name: "action", + type: "uint8", }, ], name: "GiftCardsUpdateBalances", @@ -98,31 +98,14 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "enum AngelCoreStruct.AssetInfoBase", - name: "info", - type: "uint8", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - { - internalType: "string", - name: "name", - type: "string", - }, - ], - internalType: "struct AngelCoreStruct.AssetBase", - name: "token", - type: "tuple", + internalType: "address", + name: "tokenAddress", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", }, { internalType: "bool", @@ -140,79 +123,71 @@ const _abi = [ type: "event", }, { + anonymous: false, inputs: [ { - internalType: "uint256", - name: "depositId", - type: "uint256", + indexed: false, + internalType: "uint8", + name: "version", + type: "uint8", + }, + ], + name: "Initialized", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "previousOwner", + type: "address", }, { + indexed: true, internalType: "address", - name: "recipient", + name: "newOwner", type: "address", }, ], - name: "executeClaim", - outputs: [], - stateMutability: "nonpayable", - type: "function", + name: "OwnershipTransferred", + type: "event", }, { inputs: [ { - internalType: "address", - name: "sender", - type: "address", + internalType: "uint256", + name: "depositId", + type: "uint256", }, { internalType: "address", - name: "toAddress", + name: "recipient", type: "address", }, ], - name: "executeDeposit", + name: "executeClaim", outputs: [], - stateMutability: "payable", + stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", - name: "sender", + name: "toAddress", type: "address", }, { internalType: "address", - name: "toAddress", + name: "tokenAddress", type: "address", }, { - components: [ - { - internalType: "enum AngelCoreStruct.AssetInfoBase", - name: "info", - type: "uint8", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - { - internalType: "string", - name: "name", - type: "string", - }, - ], - internalType: "struct AngelCoreStruct.AssetBase", - name: "fund", - type: "tuple", + internalType: "uint256", + name: "amount", + type: "uint256", }, ], name: "executeDepositERC20", @@ -223,35 +198,18 @@ const _abi = [ { inputs: [ { - components: [ - { - internalType: "enum AngelCoreStruct.AssetInfoBase", - name: "info", - type: "uint8", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - { - internalType: "string", - name: "name", - type: "string", - }, - ], - internalType: "struct AngelCoreStruct.AssetBase", - name: "fund", - type: "tuple", + internalType: "uint32", + name: "endowmentId", + type: "uint32", + }, + { + internalType: "address", + name: "tokenAddress", + type: "address", }, { internalType: "uint256", - name: "endowmentId", + name: "amount", type: "uint256", }, { @@ -286,7 +244,7 @@ const _abi = [ }, ], internalType: "struct GiftCardsMessage.InstantiateMsg", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -295,37 +253,38 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, { inputs: [ { internalType: "address", - name: "addr", + name: "userAddr", + type: "address", + }, + { + internalType: "address", + name: "tokenAddr", type: "address", }, ], name: "queryBalance", outputs: [ { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", + internalType: "uint256", name: "", - type: "tuple", + type: "uint256", }, ], stateMutability: "view", @@ -384,31 +343,14 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "enum AngelCoreStruct.AssetInfoBase", - name: "info", - type: "uint8", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - { - internalType: "string", - name: "name", - type: "string", - }, - ], - internalType: "struct AngelCoreStruct.AssetBase", - name: "token", - type: "tuple", + internalType: "address", + name: "tokenAddress", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", }, { internalType: "bool", @@ -424,6 +366,26 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "newOwner", + type: "address", + }, + ], + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, { inputs: [ { @@ -450,49 +412,25 @@ const _abi = [ ] as const; const _bytecode = - "0x608080604052346100205760ff19600654166006556123c890816100268239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816311c9a94d14611a295750806337f428411461190757806338485c5914611618578063935feaa51461150e578063b17ba7c414610eff578063b6a597dd14610e0d578063b7013b191461061f578063c1d78b6a146101155763e68f909d1461008457600080fd5b346101125780600319360112610112578060809160606040516100a681611c4c565b82815282602082015282604082015201526040516100c381611c4c565b60018060a01b0380925416918282528060015416602083019081528180600254169160408501928352606060035495019485526040519586525116602085015251166040830152516060820152f35b80fd5b5060403660031901126101125761012a611b48565b610132611b63565b61013d341515611d6b565b600390815460405161014e81611c4c565b600194858252602093348584015287604084015260405192604084019367ffffffffffffffff94818110868211176106095760405260068152654d617474696360d01b878201526060820152604051936101a785611c1c565b6001600160a01b039384168552868501918252604085018a8152928990808616898d82156104635760406101fc91600080516020612333833981519152968a526005848a510151948683525220918254611de2565b90558c526005895260408c209061021860405192839283611e88565b0390a1858a526004875260408a2093808651166001600160601b0360a01b90818754161786558a860193519384518b81101561044f5760ff801983541691161790558884015160028701558986019160408501511690825416179055606060048501920151805191821161043b578989916102938554611da8565b601f81116103eb575b5089908d601f86116001146103635794600594816000805160206123538339815191529d9c9b99956102fc999582956103129d9a95610358575b50501b92600019911b1c19161790555b51151591019060ff801983541691151516179055565b6040805194859485528401526040830190611b86565b0390a1805491820180921161034457556000805160206123738339815191526040518061033e81611d3a565b0390a180f35b634e487b7160e01b83526011600452602483fd5b0151935038806102d6565b9294939190601f1985168785528c8520945b8181106103d15750936102fc97936103129a979387936000805160206123538339815191529f9e9d9b9798600599106103b7575b50505050811b0190556102e6565b01519060f884600019921b161c19169055388d81806103a9565b8383015186558f97909501948e9450928d01928d01610375565b91509150838c52888c20601f840160051c8101918a8510610431575b918b9391601f8e940160051c01905b818110610423575061029c565b8e81558c94508d9301610416565b9091508190610407565b634e487b7160e01b8b52604160045260248bfd5b634e487b7160e01b8e52602160045260248efd5b92505050879150526004875260408a2093808651166001600160601b0360a01b90818754161786558a860193519384518b81101561044f5760ff801983541691161790558884015160028701558986019160408501511690825416179055606060048501920151805191821161043b578989916104e08554611da8565b601f81116105b9575b5089908d601f861160011461054c5794600594816000805160206123538339815191529d9c9b9995610547999582956103129d9a956103585750501b92600019911b1c191617905551151591019060ff801983541691151516179055565b6102fc565b9294939190601f1985168785528c8520945b81811061059f57509361054797936103129a979387936000805160206123538339815191529f9e9d9b9798600599106103b75750505050811b0190556102e6565b8383015186558f97909501948e9450928d01928d0161055e565b91509150838c52888c20601f840160051c8101918a85106105ff575b918b9391601f8e940160051c01905b8181106105f157506104e9565b8e81558c94508d93016105e4565b90915081906105d5565b634e487b7160e01b600052604160045260246000fd5b503461011257606036600319011261011257610639611b48565b90610642611b63565b916044359267ffffffffffffffff8411610e095761066560049436908601611c8a565b6003546001546040838101516020850151915163e68f909d60e01b8152986001600160a01b039182169792969294929389928b92918391165afa978815610dfe578798610dda575b508694875b6102a08a015151805160ff8316101561071457600582901b611fe01601602001516001600160a01b0316881461070b575b60ff8091169081146106f7576001016106b2565b634e487b7160e01b89526011600452602489fd5b600196506106e3565b5050879515610da05715610d67576040519161072f83611c1c565b6001600160a01b0384168352602083018590526040830186905284516003811015610d5357600114610d1a5761076a60208601511515611d6b565b6001600160a01b03811615610b8d57600160408401528573__$2e6ee47b30d794e0597b4af30f16ddb84c$__60018060a01b0383168252600560205260408220602086015191602060018060a01b0360408501511693015190803b15610b8957604051631bccc68560e21b815260048101939093526001600160a01b039390931660248301526044820152908290829060649082905af48015610a6a57610b71575b50506001600160a01b03811686526005602052604080872090516000805160206123338339815191529290918291610845919083611e88565b0390a180855260046020526040852060018060a01b038351166001600160601b0360a01b908183541617825560208401519081516003811015610b5d579060609291600185019060ff8019835416911617905560208201516002850155600384019060018060a01b0360408401511690825416179055015180519067ffffffffffffffff8211610b49576108dc6004840154611da8565b601f8111610b05575b50602090601f8311600114610a9457610936939291899183610a89575b50508160011b916000199060031b1c19161760048201555b60056040850151151591019060ff801983541691151516179055565b60035460018101809111610a755791600080516020612353833981519152916020949360035561097760405192839283526040878401526040830190611b86565b0390a16000805160206123738339815191526040518061099681611d3a565b0390a16040838101519383015190516323b872dd60e01b81526001600160a01b039283166004820152306024820152604481019190915292839160649183918791165af1908115610a6a578291610a2c575b50156109f15780f35b60405162461bcd60e51b8152602060048201526013602482015272151c985b9cd9995c919c9bdb4819985a5b1959606a1b6044820152606490fd5b90506020813d602011610a62575b81610a4760209383611c68565b81010312610a5e57610a5890611ed7565b826109e8565b5080fd5b3d9150610a3a565b6040513d84823e3d90fd5b634e487b7160e01b86526011600452602486fd5b015190508980610902565b906004840189526020892091895b601f1985168110610aed57509183916001936109369695601f19811610610ad4575b505050811b01600482015561091a565b015160001960f88460031b161c19169055898080610ac4565b91926020600181928685015181550194019201610aa2565b60048401895260208920601f840160051c810160208510610b42575b601f830160051c82018110610b375750506108e5565b8a8155600101610b21565b5080610b21565b634e487b7160e01b88526041600452602488fd5b634e487b7160e01b89526021600452602489fd5b610b7a90611c38565b610b8557858761080c565b8580fd5b8480fd5b5080855260046020526040852060018060a01b038351166001600160601b0360a01b908183541617825560208401519081516003811015610b5d579060609291600185019060ff8019835416911617905560208201516002850155600384019060018060a01b0360408401511690825416179055015180519067ffffffffffffffff8211610b4957610c226004840154611da8565b601f8111610cd6575b50602090601f8311600114610c7f57610c7a939291899183610a895750508160011b916000199060031b1c191617600482015560056040850151151591019060ff801983541691151516179055565b610936565b906004840189526020892091895b601f1985168110610cbe5750918391600193610c7a9695601f19811610610ad457505050811b01600482015561091a565b91926020600181928685015181550194019201610c8d565b60048401895260208920601f840160051c810160208510610d13575b601f830160051c82018110610d08575050610c2b565b8a8155600101610cf2565b5080610cf2565b60405162461bcd60e51b815260206004820152601160248201527043616e6e6f7420616464206e617469766560781b6044820152606490fd5b634e487b7160e01b87526021600452602487fd5b60405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a5916995c9bd05b5bdd5b9d607a1b6044820152606490fd5b60405162461bcd60e51b81526020600482015260126024820152712737ba1030b1b1b2b83a32b2103a37b5b2b760711b6044820152606490fd5b610df79198503d8089833e610def8183611c68565b810190611f8e565b96386106ad565b6040513d89823e3d90fd5b8280fd5b5034610112576040366003190112610112576040516040810181811067ffffffffffffffff82111761060957604052610e44611b48565b8152610e4e611b63565b602082019081526006549160ff8316610ec457600160ff199390931683176006558354336001600160a01b0319918216178555915183546001600160a01b039182169084161784559051600280549093169116179055600355604051600080516020612373833981519152908061033e81611d3a565b60405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5cd959606a1b6044820152606490fd5b50346101125760803660031901126101125760043567ffffffffffffffff8111610a5e57610f31903690600401611c8a565b906064610f418135604435611de2565b036114d357815160038110156114bf5760011491821561139b57338252600560205260408220545b80156113565760208201511161130257821561125a576020810151338352600560205260408320805491820391821161124657936004918495555b60015460405163e68f909d60e01b815292859184919082906001600160a01b03165afa91821561121f57849261122a575b501561109b57602090606060018060a01b0391015116910151604051610ffa81611c1c565b602435815260443560208201526064356040820152823b1561109657604080516312848b1b60e21b815282516004820152602083015160248201529101516044820152918391839160649183915af18015610a6a57611082575b50505b338152600560205260008051602061233383398151915261033e604083206040519182913383611e88565b61108b90611c38565b610112578038611054565b505050fd5b6040828101516060830151602080860151935163095ea7b360e01b81526001600160a01b0392831660048201526024810194909452939550919291839160449183918991165af190811561121f5784916111e1575b50156111ab576060909101516040518392916001600160a01b031661111482611c1c565b602435825260443560208301526064356040830152602060018060a01b0360408501511693015190803b15610b89576040805163665a62f360e01b81528451600482015260208501516024820152930151604484015291928492849260a492849286929091606485015260848401525af18015610a6a57611197575b5050611057565b6111a090611c38565b610112578038611190565b60405162461bcd60e51b815260206004820152600e60248201526d105c1c1c9bdd994819985a5b195960921b6044820152606490fd5b90506020813d602011611217575b816111fc60209383611c68565b810103126112135761120d90611ed7565b386110f0565b8380fd5b3d91506111ef565b6040513d86823e3d90fd5b61123f9192503d8086833e610def8183611c68565b9038610fd5565b634e487b7160e01b84526011600452602484fd5b819233835260056020526040832060018060a01b0360408401511690602084015173__$2e6ee47b30d794e0597b4af30f16ddb84c$__803b156112fe576040516333f7dbc360e11b815260048101939093526001600160a01b039390931660248301526044820152908490829060649082905af490811561121f5784916112e6575b5050600490610fa4565b6112ef90611c38565b6112fa5782386112dc565b5050fd5b8680fd5b60405162461bcd60e51b815260206004820152602660248201527f4e6f7420656e6f756768207370656e6461626c6520616d6f756e7420696e2062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152601e60248201527f4e6f207370656e6461626c6520616d6f756e7420696e2062616c616e636500006044820152606490fd5b33825260056020908152604080842083820151915163e9f4742760e01b8152606060048201526002820180546064830181905290875284872091938593859360848501936001600160a01b03938416938b905b8282106114a0575050505083830360031901602485015260010180548084529089528489209285019290895b8181106114875750505060448301528190038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af491821561121f578492611459575b5050610f69565b90809250813d8311611480575b6114708183611c68565b81010312610e0957513880611452565b503d611466565b825485528896889650909401936001928301920161141a565b8354811687528a988a98509096019560019384019391909101906113ee565b634e487b7160e01b82526021600452602482fd5b60405162461bcd60e51b8152602060048201526013602482015272496e76616c69642070657263656e746167657360681b6044820152606490fd5b50346101125760209081600319360112610112578060409182805161153281611c1c565b828152815161154081611c4c565b8381528387820152838382015260608082015286820152015260043581526004835220906040519161157183611c1c565b80546001600160a01b039081168452604051909161158e82611c4c565b60ff6001820154169160038310156116025760ff93600593825260028301548683015260038301541660408201526040516115d7816115d08160048701611ee4565b0382611c68565b606082015284860152015416151560408301526115fe604051928284938452830190611b86565b0390f35b634e487b7160e01b600052602160045260246000fd5b50346101125760403660031901126101125760043590611636611b63565b60025490926001600160a01b0391821633036118c25780835260209160048352600560ff816040872001541661187d578285526004845260ff6001604087208381018284198254161790550154166003811015611869576001036117785760ff90600080516020612333833981519152869785600080516020612353833981519152985260048752600260408a2001548582168a528388526116dd60408b20918254611de2565b90555b848116895282875260408920906116fc60405192839283611e88565b0390a183875260048552604087209260408051968796875286015280845416604086015260608086015261173960a0860184600187015416611b79565b600284015460c086015260038401541660e08501526080610100850152611767610120850160048501611ee4565b92015416151560808301520390a180f35b73__$2e6ee47b30d794e0597b4af30f16ddb84c$__82871686528185526040862090848752600486526040872060028560038301541691015492823b1561186557604051631bccc68560e21b815260048101919091526001600160a01b0391909116602482015260448101929092528690829060649082905af4801561185a57611826575b5060ff9060008051602061233383398151915260008051602061235383398151915296976116e0565b906000805160206123338339815191526000805160206123538339815191529661185160ff94611c38565b965050906117fd565b6040513d88823e3d90fd5b8880fd5b634e487b7160e01b86526021600452602486fd5b60405162461bcd60e51b815260048101859052601760248201527f4465706f73697420616c726561647920636c61696d65640000000000000000006044820152606490fd5b60405162461bcd60e51b815260206004820152601d60248201527f4f6e6c79206b65657065722063616e206578656375746520636c61696d0000006044820152606490fd5b503461011257602090816003193601126101125790611924611b48565b9160606040805161193481611c1c565b8381528285820152015260018060a01b03809316815260058252604081209060405161195f81611c1c565b8254815260405193600261199c6001956119868861197f818a8501611e05565b0389611c68565b8385019788526115d06040518094819301611e42565b60408301908152604051958287526080870193518388015251926060604088015283518091528260a08801940190855b818110611a16575050505195601f19868403016060870152818088519485815201970193905b8382106119ff5786880387f35b8451811688529682019693820193908501906119f2565b82518652948401949184019187016119cc565b905034610a5e576060366003190112610a5e57611a44611b48565b611a4c611b63565b604435926001600160a01b03808516939091908486036112fe578654918383163303611b06575082169081611af2575b50508116611acd575b50611aa8575b506000805160206123738339815191526040518061033e81611d3a565b600180546001600160a01b0319166001600160a01b0390921691909117905538611a8b565b600280546001600160a01b0319166001600160a01b0390921691909117905538611a85565b6001600160a01b0319161785553880611a7c565b62461bcd60e51b815260206004820152601c60248201527f4f6e6c79206f776e65722063616e2075706461746520636f6e666967000000006044820152606490fd5b600435906001600160a01b0382168203611b5e57565b600080fd5b602435906001600160a01b0382168203611b5e57565b9060038210156116025752565b9060018060a01b03808351168252606060209182850151908284860152611bb08386018351611b79565b83820151608086015260408201511660a0850152015190608060c08401528151918260e085015260005b838110611c07575050506040610100936000858486010152015115156040830152601f8019910116010190565b81810183015185820161010001528201611bda565b6060810190811067ffffffffffffffff82111761060957604052565b67ffffffffffffffff811161060957604052565b6080810190811067ffffffffffffffff82111761060957604052565b90601f8019910116810190811067ffffffffffffffff82111761060957604052565b9190608083820312611b5e5760405192611ca384611c4c565b8381356003811015611b5e5781526020828101358183015260408301356001600160a01b0381168103611b5e576040830152606083013567ffffffffffffffff93848211611b5e57019084601f83011215611b5e5781359384116106095760405194611d18601f8601601f1916830187611c68565b848652818584010111611b5e5783606094826000940183880137850101520152565b6000546001600160a01b03908116825260015481166020830152600254166040820152600354606082015260800190565b15611d7257565b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908185b5bdd5b9d60921b6044820152606490fd5b90600182811c92168015611dd8575b6020831014611dc257565b634e487b7160e01b600052602260045260246000fd5b91607f1691611db7565b91908201809211611def57565b634e487b7160e01b600052601160045260246000fd5b90815480825260208092019260005281600020916000905b828210611e2b575050505090565b835485529384019360019384019390910190611e1d565b90815480825260208092019260005281600020916000905b828210611e68575050505090565b83546001600160a01b031685529384019360019384019390910190611e5a565b6001600160a01b039091168152604060208201819052825490820152606080820152611ed491600290611ec160a0840160018301611e05565b926080603f198286030191015201611e42565b90565b51908115158203611b5e57565b9060009291805491611ef583611da8565b918282526001938481169081600014611f575750600114611f17575b50505050565b90919394506000526020928360002092846000945b838610611f43575050505001019038808080611f11565b805485870183015294019385908201611f2c565b9294505050602093945060ff191683830152151560051b01019038808080611f11565b51906001600160a01b0382168203611b5e57565b6020908181840312611b5e57805167ffffffffffffffff91828211611b5e570190818403916104e08312611b5e576040928351956104209182880188811086821117610609578652611fdf84611f7a565b8852611fec878501611f7a565b87890152611ffb868501611f7a565b8689015261200b60608501611f7a565b606089015261201c60808501611f7a565b608089015261202d60a08501611f7a565b60a089015261203e60c08501611f7a565b60c089015261204f60e08501611f7a565b60e0890152610100612062818601611f7a565b90890152610120612074818601611f7a565b90890152610140612086818601611f7a565b90890152610160612098818601611f7a565b908901526101806120aa818601611f7a565b908901526101a06120bc818601611f7a565b9089015260606101bf19820112611b5e578551906120d982611c1c565b6101c0928386015183526101e092838701518a82015261020094858801518a8301528b01526102209261210d848801611f7a565b908b015261024093612120858801611f7a565b908b015261026092612133848801611f7a565b908b015261028093612146858801611f7a565b908b01526102a09283870151908b01526102c093612165858801611f7a565b908b01526102e09283870151888111611b5e5787018a81840312611b5e578951928b8401918483108b84111761060957828c528051908b8211611b5e570181601f82011215611b5e578051908b821161060957816121ca8f9360051b93840186611c68565b84528d8d870192820101928311611b5e578d809101915b83831061231a57505050908352508a01526103009260a09190612205878601611f7a565b908b015261031f190112611b5e57855160a081019586118187101761060957866104c09661231398526122c561032095612240878901611ed7565b84526103409a6122518c8a01611ed7565b9085015261036092838901519085015261038093612270858a01611ed7565b60608201526103a095868a015160808301528d01526103c095612294878a01611f7a565b908d01526103e0966122a7888a01611f7a565b908d01526104009a6122ba8c8a01611f7a565b908d01528701611f7a565b908a01526122d66104408601611f7a565b908901526122e76104608501611f7a565b908801526122f86104808401611f7a565b908701526123096104a08301611f7a565b9086015201611f7a565b9082015290565b819061232584611f7a565b8152019101908d906121e156fe07a13161a1fb5cdfc9ad207b809e5b5b19fb4892c44537a1dde260fa10f82ff48999fb1df5d21606b4c9805cf97ce1db4895cb902b001f270b450abfa5faf647d3b4944622ba3933e922c4ed265fe2df22540c84d2eca7fbd9d942593577453fa26469706673582212203a062b4b0fe975d74218eeeb3e193ad89b39ba6bb1134dc935e4706a426e269b64736f6c63430008120033"; + "0x608080604052346100c6576001606b556006549060ff8260081c16610074575060ff80821610610039575b6040516114d890816100cc8239f35b60ff90811916176006557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a13861002a565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe60806040818152600436101561001457600080fd5b600091823560e01c90816311c9a94d14611098575080631dbfb30f14610cbe57806338485c5914610acf578063715018a614610a6f5780638da5cb5b14610a47578063935feaa5146109aa578063ac42a4eb14610962578063b6a597dd14610740578063e687f79f146101a5578063e68f909d1461012f5763f2fde38b1461009b57600080fd5b3461012b57602036600319011261012b576100b46111f4565b906100bd611295565b6001600160a01b038216156100d957506100d6906112ed565b80f35b5162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b5080fd5b503461012b578160031936011261012b579060809161014c61147d565b5080519061015982611225565b60018060a01b0380935416928383528060015416602084019081528180600254169184860192835260606003549601958652845196875251166020860152511690830152516060820152f35b503461012b5760a036600319011261012b5760043563ffffffff9182821680920361073c576101d261120f565b6101da611413565b608435606494853591866101ee82856113f0565b036107035760443595610202871515611396565b33895260209760058952868a209560018060a01b0380911696878c528a5288888c2054106106c15780600154168851809163e68f909d60e01b82528160046103e09485935afa918d83156106b657908b93929192610423575b5050018b8b8b6044858551168d51948593849263095ea7b360e01b8452600484015260248301528d5af1908115610419578d916103ec575b50156103b857908b959493929151168851926102ae84611257565b83528a8301968752888301938452803b156103b45787869260a4958b51998a988997631b13439160e01b8952511660048801525160248701525160448601528401528960848401525af180156103aa5761037b575b5033855260058452818520816000528452816000208054908482039182116103675755815133815293840152820152600160608201527f1d569e9ccc852fe0e371351b3eba47af14f39603cc94343da84fda12c1d01db490608090a16001606b5580f35b634e487b7160e01b87526011600452602487fd5b67ffffffffffffffff81969296116103965782529338610303565b634e487b7160e01b82526041600452602482fd5b83513d88823e3d90fd5b8580fd5b885162461bcd60e51b8152600481018c9052600e60248201526d105c1c1c9bdd994819985a5b195960921b60448201528390fd5b61040c91508c8d3d10610412575b6104048183611273565b8101906113d8565b38610293565b503d6103fa565b8a513d8f823e3d90fd5b8193508092503d83116106af575b61043b8183611273565b8101039081126106ab578951906103a09081830183811067ffffffffffffffff821117610696578c526060908e61047186611469565b855261047e818701611469565b9085015261048d8d8601611469565b8d85015261049c828601611469565b828501526104ac60808601611469565b60808501526104bd60a08601611469565b60a08501526104ce60c08601611469565b60c08501526104df60e08601611469565b60e08501526101006104f2818701611469565b90850152610120610504818701611469565b90850152610140610516818701611469565b90850152610160610528818701611469565b9085015261018061053a818701611469565b9085015261019f190112610692576106876103c08c948f9361067d87519161056183611257565b6101a0928385015181526101c09788860151908201526101e093848601518b83015289015261020096610595888601611469565b90890152610220926105a8848601611469565b90890152610240966105bb888601611469565b90890152610260928385015190890152610280966105da888601611469565b908901526102a0926105ed848601611469565b908901526102c096610600888601611469565b908901526102e092610613848601611469565b9089015261030096610626888601611469565b9089015261032092610639848601611469565b908901526103409661064c888601611469565b908901526103609261065f848601611469565b9089015261038096610672888601611469565b908901528301611469565b9086015201611469565b90820152388061025b565b8d80fd5b50634e487b7160e01b8f52604160045260248ffd5b8c80fd5b503d610431565b8b51903d90823e3d90fd5b50865162461bcd60e51b8152600481018a9052601e60248201527f496e73756666696369656e74207370656e6461626c652062616c616e636500006044820152fd5b845162461bcd60e51b8152602060048201526013602482015272496e76616c69642070657263656e746167657360681b60448201528790fd5b8380fd5b503461012b578060031936011261012b57805181810181811067ffffffffffffffff82111761094e5782526107736111f4565b815261077d61120f565b906020810191825260069182549160ff8360081c161592838094610941575b801561092a575b156108cf5760ff1981166001178555610823929190846108be575b506107e160ff865460081c166107d381611336565b6107dc81611336565b611336565b6107ea336112ed565b8654336001600160a01b03199182161788559151600180546001600160a01b039283169085161790559051600280549093169116179055565b6001600381905583516000546001600160a01b03908116825282548116602083015260025416604082015260608101919091527fd3b4944622ba3933e922c4ed265fe2df22540c84d2eca7fbd9d942593577453f90608090a1610884578280f35b805461ff001916905551600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b61ffff1916610101178555386107be565b855162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156107a35750600160ff8216146107a3565b50600160ff82161061079c565b634e487b7160e01b84526041600452602484fd5b503461012b578060031936011261012b578060209261097f6111f4565b61098761120f565b6001600160a01b0391821683526005865283832091168252845220549051908152f35b503461012b57602036600319011261012b57610a45816080936109cb61147d565b5060043581526004602052209160ff60038251946109e886611225565b60018060a01b038082541687526001820154166020870152600281015484870152015416151560608401525180926060809160018060a01b0380825116855260208201511660208501526040810151604085015201511515910152565bf35b503461012b578160031936011261012b5760395490516001600160a01b039091168152602090f35b8234610acc5780600319360112610acc57610a88611295565b603980546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b509034610acc5781600319360112610acc57600435610aec61120f565b610af4611413565b6002546001600160a01b03919082163303610c7a5782845260206004815260ff6003878720015416610c375784956004610c2e92867f1d569e9ccc852fe0e371351b3eba47af14f39603cc94343da84fda12c1d01db4979852818152828920977f363486153e7f2aa0a57195763226fc3a6fd1caf0d7820b2ba18cc536be40582160a060038b01600260019c8d928360ff198254161790558b89519387855281835416898601528201541689840152015460608201528b6080820152a1808a528282526002848b2001548787168b52600583528a888b8780842093868152888852200154168c528352610beb858c209182546113f0565b90558952528087208681015460029091015491516001600160a01b0394851681529416909216602084015260408301919091526000606083015281906080820190565b0390a1606b5580f35b60649086519062461bcd60e51b82526004820152601760248201527f4465706f73697420616c726561647920636c61696d65640000000000000000006044820152fd5b845162461bcd60e51b815260206004820152601e60248201527f4f6e6c79206b65657065722063616e20636c61696d206465706f7369747300006044820152606490fd5b503461012b57606036600319011261012b57610cd86111f4565b610ce061120f565b610ce8611413565b825191610cf483611225565b3383526001600160a01b038216602084015260443584840181905260608401869052610d21901515611396565b60015484516302b05ecb60e11b81526001600160a01b038481166004830152909160209183916024918391165afa908115610fcd578691611079575b5015611045578351636eb1769f60e11b81523360048201523060248201526020816044816001600160a01b0387165afa908115610fcd578691611013575b5060443511610fd75783516323b872dd60e01b81523360048201523060248201526044803590820152602081606481896001600160a01b0388165af1908115610fcd578691610fae575b5015610f78577f363486153e7f2aa0a57195763226fc3a6fd1caf0d7820b2ba18cc536be4058219260a09290916001600160a01b0381169182610ef5575b505050600354855260046020526003848620600180851b038351166bffffffffffffffffffffffff851b90818354161782556001820190600180871b0360208601511690825416179055858301516002820155016060820151151560ff80198354169116179055610eca60035494519185835260208301906060809160018060a01b0380825116855260208201511660208501526040810151604085015201511515910152565ba160018101809111610ee1576003556001606b5580f35b634e487b7160e01b82526011600452602482fd5b7f1d569e9ccc852fe0e371351b3eba47af14f39603cc94343da84fda12c1d01db4926001606086015288526005602052868820600180871b0382168952602052868820610f4560443582546113f0565b905586516001600160a01b03928316815291166020820152604435604082015260006060820152608090a1388080610e23565b835162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8811985a5b1959608a1b6044820152606490fd5b610fc7915060203d602011610412576104048183611273565b38610de5565b85513d88823e3d90fd5b835162461bcd60e51b8152602060048201526015602482015274496e737566696369656e7420416c6c6f77616e636560581b6044820152606490fd5b90506020813d60201161103d575b8161102e60209383611273565b810103126103b4575138610d9b565b3d9150611021565b835162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2102a37b5b2b760991b6044820152606490fd5b611092915060203d602011610412576104048183611273565b38610d5d565b83833461012b57606036600319011261012b576110b36111f4565b926110bc61120f565b604435916001600160a01b0380841692918385036111f05786549082821633036111ae5750817fd3b4944622ba3933e922c4ed265fe2df22540c84d2eca7fbd9d942593577453f979816908161119a575b50508116611175575b50611150575b50516000546001600160a01b039081168252600154811660208301526002541660408201526003546060820152608090a180f35b600180546001600160a01b0319166001600160a01b039092169190911790558361111c565b600280546001600160a01b0319166001600160a01b0390921691909117905585611116565b6001600160a01b031916178755878061110d565b62461bcd60e51b815260206004820152601c60248201527f4f6e6c79206f776e65722063616e2075706461746520636f6e666967000000006044820152606490fd5b8680fd5b600435906001600160a01b038216820361120a57565b600080fd5b602435906001600160a01b038216820361120a57565b6080810190811067ffffffffffffffff82111761124157604052565b634e487b7160e01b600052604160045260246000fd5b6060810190811067ffffffffffffffff82111761124157604052565b90601f8019910116810190811067ffffffffffffffff82111761124157604052565b6039546001600160a01b031633036112a957565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603980546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561133d57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b1561139d57565b60405162461bcd60e51b8152602060048201526013602482015272125b9d985b1a59081e995c9bc8185b5bdd5b9d606a1b6044820152606490fd5b9081602091031261120a5751801515810361120a5790565b919082018092116113fd57565b634e487b7160e01b600052601160045260246000fd5b6002606b5414611424576002606b55565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b51906001600160a01b038216820361120a57565b6040519061148a82611225565b6000606083828152826020820152826040820152015256fea264697066735822122014d0a1b495208bf635d77d5ae677423fa2ff1dd859f2ff55a606b436fe7f949764736f6c63430008120033"; type GiftCardsConstructorParams = - | [linkLibraryAddresses: GiftCardsLibraryAddresses, signer?: Signer] + | [signer?: Signer] | ConstructorParameters; const isSuperArgs = ( xs: GiftCardsConstructorParams -): xs is ConstructorParameters => { - return ( - typeof xs[0] === "string" || - (Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) || - "_isInterface" in xs[0] - ); -}; +): xs is ConstructorParameters => xs.length > 1; export class GiftCards__factory extends ContractFactory { constructor(...args: GiftCardsConstructorParams) { if (isSuperArgs(args)) { super(...args); } else { - const [linkLibraryAddresses, signer] = args; - super( - _abi, - GiftCards__factory.linkBytecode(linkLibraryAddresses), - signer - ); + super(_abi, _bytecode, args[0]); } } - static linkBytecode(linkLibraryAddresses: GiftCardsLibraryAddresses): string { - let linkedBytecode = _bytecode; - - linkedBytecode = linkedBytecode.replace( - new RegExp("__\\$2e6ee47b30d794e0597b4af30f16ddb84c\\$__", "g"), - linkLibraryAddresses["contracts/core/struct.sol:AngelCoreStruct"] - .replace(/^0x/, "") - .toLowerCase() - ); - - return linkedBytecode; - } - override deploy( overrides?: Overrides & { from?: PromiseOrValue } ): Promise { @@ -522,7 +460,3 @@ export class GiftCards__factory extends ContractFactory { return new Contract(address, _abi, signerOrProvider) as GiftCards; } } - -export interface GiftCardsLibraryAddresses { - ["contracts/core/struct.sol:AngelCoreStruct"]: string; -} diff --git a/typechain-types/factories/contracts/accessory/index.ts b/typechain-types/factories/contracts/accessory/index.ts index 62aa9a9cd..0098118c4 100644 --- a/typechain-types/factories/contracts/accessory/index.ts +++ b/typechain-types/factories/contracts/accessory/index.ts @@ -1,5 +1,4 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -export * as fundraising from "./fundraising"; export * as giftCards from "./gift-cards"; diff --git a/typechain-types/factories/contracts/axelar/AxelarExecutable__factory.ts b/typechain-types/factories/contracts/axelar/AxelarExecutable__factory.ts index 04ed5ec40..edf2061a6 100644 --- a/typechain-types/factories/contracts/axelar/AxelarExecutable__factory.ts +++ b/typechain-types/factories/contracts/axelar/AxelarExecutable__factory.ts @@ -115,7 +115,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001657610426908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c908163116191b6146102c2575080631a98b2e0146101945763491606581461004457600080fd5b3461019057826003196080368201126101845767ffffffffffffffff9060243582811161018c5761007890369086016102e9565b6044929192358481116101885761009290369088016102e9565b959092606435958611610184576101009661010f89926100c16100ba60209a369087016102e9565b3691610370565b8981519101209260018060a01b03865460101c16978d519b8c9a8b998a98635f6970c360e01b8a528035908a0152608060248a015260848901916103cf565b928684030160448701526103cf565b90606483015203925af1908115610177578491610149575b501561013b5750610138905161031c565b80f35b9051631403112d60e21b8152fd5b61016a915060203d8111610170575b610162818361034e565b8101906103b7565b38610127565b503d610158565b50505051903d90823e3d90fd5b5080fd5b8580fd5b8380fd5b8280fd5b5034610190578260031960c0368201126101845767ffffffffffffffff9060243582811161018c576101c990369086016102e9565b604492919235848111610188576101e390369088016102e9565b959094606435818111610190576101fd9036908a016102e9565b96909760843592831161018c57610274986020988c97610284610298956102368f9861022c9036908b016102e9565b9690953691610370565b8d81519101209560018060a01b038a5460101c169b519e8f9d8e9c8d9b631876eed960e01b8d528035908d015260c060248d015260c48c01916103cf565b91848a84030160448b01526103cf565b9360648701528584030160848601526103cf565b60a43560a483015203925af190811561017757849161014957501561013b5750610138905161031c565b849034610184578160031936011261018457905460101c6001600160a01b03168152602090f35b9181601f840112156103175782359167ffffffffffffffff8311610317576020838186019501011161031757565b600080fd5b60e0810190811067ffffffffffffffff82111761033857604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761033857604052565b92919267ffffffffffffffff8211610338576040519161039a601f8201601f19166020018461034e565b829481845281830111610317578281602093846000960137010152565b90816020910312610317575180151581036103175790565b908060209392818452848401376000828201840152601f01601f191601019056fea26469706673582212207dcc8612868fa86371eed9fea486496e09d517545e2aef24906b8b1be92bde0a64736f6c63430008120033"; + "0x6080806040523461001657610427908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c908163116191b6146102c2575080631a98b2e0146101945763491606581461004457600080fd5b3461019057826003196080368201126101845767ffffffffffffffff9060243582811161018c5761007890369086016102e9565b6044929192358481116101885761009290369088016102e9565b959092606435958611610184576101009661010f89926100c16100ba60209a369087016102e9565b3691610371565b8981519101209260018060a01b03865460101c16978d519b8c9a8b998a98635f6970c360e01b8a528035908a0152608060248a015260848901916103d0565b928684030160448701526103d0565b90606483015203925af1908115610177578491610149575b501561013b5750610138905161031c565b80f35b9051631403112d60e21b8152fd5b61016a915060203d8111610170575b610162818361034f565b8101906103b8565b38610127565b503d610158565b50505051903d90823e3d90fd5b5080fd5b8580fd5b8380fd5b8280fd5b5034610190578260031960c0368201126101845767ffffffffffffffff9060243582811161018c576101c990369086016102e9565b604492919235848111610188576101e390369088016102e9565b959094606435818111610190576101fd9036908a016102e9565b96909760843592831161018c57610274986020988c97610284610298956102368f9861022c9036908b016102e9565b9690953691610371565b8d81519101209560018060a01b038a5460101c169b519e8f9d8e9c8d9b631876eed960e01b8d528035908d015260c060248d015260c48c01916103d0565b91848a84030160448b01526103d0565b9360648701528584030160848601526103d0565b60a43560a483015203925af190811561017757849161014957501561013b5750610138905161031c565b849034610184578160031936011261018457905460101c6001600160a01b03168152602090f35b9181601f840112156103175782359167ffffffffffffffff8311610317576020838186019501011161031757565b600080fd5b610100810190811067ffffffffffffffff82111761033957604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761033957604052565b92919267ffffffffffffffff8211610339576040519161039b601f8201601f19166020018461034f565b829481845281830111610317578281602093846000960137010152565b90816020910312610317575180151581036103175790565b908060209392818452848401376000828201840152601f01601f191601019056fea2646970667358221220a1d732a14f08110ce1006dca8e520668e3c2b9ec64dd1af8eda95bfe9c978cee64736f6c63430008120033"; type AxelarExecutableConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/core/accounts/IAccounts__factory.ts b/typechain-types/factories/contracts/core/accounts/IAccounts__factory.ts index 8cb777c5b..c90092b71 100644 --- a/typechain-types/factories/contracts/core/accounts/IAccounts__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/IAccounts__factory.ts @@ -13,9 +13,62 @@ const _abi = [ { inputs: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", + }, + { + components: [ + { + components: [ + { + internalType: "uint32", + name: "endowId", + type: "uint32", + }, + { + internalType: "uint256", + name: "fundId", + type: "uint256", + }, + { + internalType: "address", + name: "addr", + type: "address", + }, + ], + internalType: "struct AngelCoreStruct.BeneficiaryData", + name: "data", + type: "tuple", + }, + { + internalType: "enum AngelCoreStruct.BeneficiaryEnum", + name: "enumData", + type: "uint8", + }, + ], + internalType: "struct AngelCoreStruct.Beneficiary", + name: "beneficiary", + type: "tuple", + }, + ], + name: "closeEndowment", + outputs: [ + { + internalType: "bool", + name: "response", + type: "bool", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "uint32", + name: "id", + type: "uint32", }, { internalType: "enum AngelCoreStruct.AccountType", @@ -92,7 +145,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -107,7 +160,7 @@ const _abi = [ }, { internalType: "address[]", - name: "cw4_members", + name: "members", type: "address[]", }, { @@ -146,17 +199,17 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.Duration", - name: "cw3MaxVotingPeriod", + name: "maxVotingPeriod", type: "tuple", }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { @@ -183,17 +236,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -205,14 +253,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -227,14 +270,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -249,17 +287,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -310,29 +343,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -358,44 +391,43 @@ const _abi = [ type: "uint128", }, ], - internalType: - "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -429,24 +461,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -461,31 +483,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -500,31 +512,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -539,31 +541,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -578,31 +570,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -617,31 +599,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -656,31 +628,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -695,31 +657,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -734,31 +686,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -780,24 +722,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -819,63 +751,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -890,31 +773,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -936,24 +809,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -975,24 +838,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1014,24 +867,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1053,24 +896,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1092,24 +925,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1133,13 +956,13 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1176,7 +999,7 @@ const _abi = [ }, ], internalType: "struct AccountMessages.CreateEndowmentRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -1201,9 +1024,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "uint256", @@ -1217,17 +1040,17 @@ const _abi = [ }, ], internalType: "struct AccountMessages.DepositRequest", - name: "curDetails", + name: "details", type: "tuple", }, { internalType: "address", - name: "curTokenaddress", + name: "tokenaddress", type: "address", }, { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -1263,24 +1086,66 @@ const _abi = [ name: "registrarContract", type: "address", }, - ], - internalType: "struct AccountMessages.ConfigResponse", - name: "", - type: "tuple", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "curId", - type: "uint256", - }, - ], - name: "queryEndowmentDetails", + { + internalType: "uint256", + name: "nextAccountId", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxGeneralCategoryId", + type: "uint256", + }, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, + ], + internalType: "struct AccountMessages.ConfigResponse", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint32", + name: "id", + type: "uint32", + }, + ], + name: "queryEndowmentDetails", outputs: [ { components: [ @@ -1318,7 +1183,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1331,21 +1196,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -1409,18 +1259,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -1428,12 +1278,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -1449,13 +1304,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -1479,17 +1334,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1501,17 +1356,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1523,14 +1373,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1545,14 +1390,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1567,17 +1407,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1586,24 +1421,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1618,31 +1443,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1657,31 +1472,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1696,31 +1501,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1735,31 +1530,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1774,31 +1559,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1813,31 +1588,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1852,31 +1617,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1891,31 +1646,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1937,24 +1682,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1976,63 +1711,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2047,31 +1733,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2093,24 +1769,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2132,24 +1798,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2171,24 +1827,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2210,24 +1856,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2249,24 +1885,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2290,9 +1916,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -2338,9 +1964,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", - name: "curId", - type: "uint256", + internalType: "uint32", + name: "id", + type: "uint32", }, ], name: "queryState", @@ -2373,9 +1999,14 @@ const _abi = [ components: [ { components: [ + { + internalType: "uint32", + name: "endowId", + type: "uint32", + }, { internalType: "uint256", - name: "id", + name: "fundId", type: "uint256", }, { @@ -2410,9 +2041,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", - name: "curId", - type: "uint256", + internalType: "uint32", + name: "id", + type: "uint32", }, { internalType: "enum AngelCoreStruct.AccountType", @@ -2421,17 +2052,17 @@ const _abi = [ }, { internalType: "uint128", - name: "curAmount", + name: "amount", type: "uint128", }, { internalType: "address", - name: "curTokenin", + name: "tokenin", type: "address", }, { internalType: "address", - name: "curTokenout", + name: "tokenout", type: "address", }, ], @@ -2473,9 +2104,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "string", @@ -2514,25 +2145,15 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", name: "owner", type: "address", }, - { - internalType: "bool", - name: "kycDonorsOnly", - type: "bool", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", - type: "uint8", - }, { internalType: "string", name: "name", @@ -2555,11 +2176,6 @@ const _abi = [ name: "categories", type: "tuple", }, - { - internalType: "uint256", - name: "tier", - type: "uint256", - }, { internalType: "string", name: "logo", @@ -2574,18 +2190,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -2593,18 +2209,23 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, ], internalType: "struct AccountMessages.UpdateEndowmentDetailsRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -2619,66 +2240,6 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, - { - inputs: [ - { - components: [ - { - internalType: "uint256", - name: "endowmentId", - type: "uint256", - }, - { - internalType: "uint256", - name: "status", - type: "uint256", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "beneficiary", - type: "tuple", - }, - ], - internalType: "struct AccountMessages.UpdateEndowmentStatusRequest", - name: "curDetails", - type: "tuple", - }, - ], - name: "updateEndowmentStatusMsg", - outputs: [ - { - internalType: "bool", - name: "response", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, { inputs: [ { @@ -2701,9 +2262,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "enum AngelCoreStruct.AccountType", @@ -2743,22 +2304,22 @@ const _abi = [ inputs: [ { internalType: "uint32", - name: "curId", + name: "id", type: "uint32", }, { internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { internalType: "address[]", - name: "curTokens", + name: "tokens", type: "address[]", }, { internalType: "uint256[]", - name: "curAmount", + name: "amount", type: "uint256[]", }, ], diff --git a/typechain-types/factories/contracts/core/accounts/diamond/Diamond__factory.ts b/typechain-types/factories/contracts/core/accounts/diamond/Diamond__factory.ts index 078f0e217..ff9c678e9 100644 --- a/typechain-types/factories/contracts/core/accounts/diamond/Diamond__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/diamond/Diamond__factory.ts @@ -20,12 +20,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curContractowner", + name: "contractowner", type: "address", }, { internalType: "address", - name: "curDiamondcutfacet", + name: "diamondcutfacet", type: "address", }, ], @@ -36,12 +36,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curInitializationcontractaddress", + name: "initializationcontractaddress", type: "address", }, { internalType: "bytes", - name: "curCalldata", + name: "data", type: "bytes", }, ], @@ -59,7 +59,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6001600160401b03610f6c6080601f38839003908101601f19168201908482118383101761072c57808391604095869485528339810103126107275761004481610780565b906100526020809201610780565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080546001600160a01b039485166001600160a01b031982168117909255919260009290919085167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08480a36100c6610761565b9260019081855282845b8181106107035750506100e1610761565b8281528336818301376307e4c70760e21b6100fb82610794565b5286610105610742565b9216825284848301528782015261011b85610794565b5261012584610794565b50855196828801908111888210176106ef5786528287529382855b610262575b5085519460608087019080885286518092526080938489019086868560051b8c010199019588935b8585106101bf57508b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738c8f6101b08e83928f8f850152838203878501526107f0565b0390a15160e29081610e2a8239f35b9091929394959699607f198c82030185528a5190828101918581511682528a810151600381101561024e578b8301528e0151818f018490528051928390528a019189918b91908601908d905b80821061022a575050819293509c01950195019396959492919061016d565b85516001600160e01b0319168352948301948c948e9493909301929091019061020b565b634e487b7160e01b8d52602160045260248dfd5b84959195518110156106e7578261027982876107b7565b51015160038110156106d357806104025750818661029783886107b7565b515116886102a584896107b7565b5101516102b481511515610830565b6102bf821515610890565b6001600160a01b0382166000908152600080516020610f4c83398151915260205260409020546001600160601b031680156103f4575b9280949388915b610317575b5050505061030f905b6107cb565b909591610140565b909192939483518310156103ed57506001600160e01b031961033983856107b7565b5116808952600080516020610f0c83398151915288528a8c8a205416610383576103748261036f878a9897969561037a95610a45565b6108f1565b916107cb565b908495946102fc565b8b5162461bcd60e51b815260048101899052603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608490fd5b9493610301565b6103fd83610930565b6102f5565b8083036105725750818661041683886107b7565b5151168861042484896107b7565b51015161043381511515610830565b61043e821515610890565b6001600160a01b0382166000908152600080516020610f4c83398151915260205260409020546001600160601b03168015610564575b9280949388915b61048c575050505061030f906107cb565b909192939483518310156103ed57506001600160e01b03196104ae83856107b7565b5116808952600080516020610f0c83398151915288528a8c8a2054168581146104fa578261036f878a98979695856104ec6104f19761037497610b30565b610a45565b9084959461047b565b8c5162461bcd60e51b8152600481018a9052603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608490fd5b61056d83610930565b610474565b60020361067f578561058482876107b7565b5151168761059283886107b7565b510151906105a282511515610830565b6106155782919085835b6105bc575b505061030f906107cb565b819293915181101561060c576106039061030a6001600160e01b03196105e283876107b7565b5116808a52600080516020610f0c83398151915289528b8d8b205416610b30565b819392916105ac565b819392506105b1565b875162461bcd60e51b815260048101859052603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608490fd5b865162461bcd60e51b815260048101849052602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b6064820152608490fd5b634e487b7160e01b85526021600452602485fd5b949094610145565b634e487b7160e01b84526041600452602484fd5b61070b610742565b868152868382015260608a8201528282890101520183906100d0565b600080fd5b634e487b7160e01b600052604160045260246000fd5b60405190606082016001600160401b0381118382101761072c57604052565b60408051919082016001600160401b0381118382101761072c57604052565b51906001600160a01b038216820361072757565b8051156107a15760200190565b634e487b7160e01b600052603260045260246000fd5b80518210156107a15760209160051b010190565b60001981146107da5760010190565b634e487b7160e01b600052601160045260246000fd5b919082519283825260005b84811061081c575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016107fb565b1561083757565b60405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201526a1858d95d081d1bc818dd5d60aa1b6064820152608490fd5b1561089757565b60405162461bcd60e51b815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201526b65206164647265737328302960a01b6064820152608490fd5b6001600160601b039081169081146107da5760010190565b600080516020610f2c83398151915280548210156107a15760005260206000200190600090565b610938610742565b602481527f4c69624469616d6f6e644375743a204e657720666163657420686173206e6f20602082015263636f646560e01b6040820152813b156109fa5750600080516020610f2c83398151915280546001600160a01b0383166000908152600080516020610f4c8339815191526020526040902060010181905591906801000000000000000083101561072c57826109d99160016109f895019055610909565b90919082549060031b9160018060a01b03809116831b921b1916179055565b565b60405162461bcd60e51b815260206004820152908190610a1e9060248301906107f0565b0390fd5b91909180548310156107a157600052601c60206000208360031c019260021b1690565b6001600160e01b031981166000818152600080516020610f0c83398151915260208190526040822080546001600160a01b031660a09690961b6001600160a01b031916959095179094559194939092906001600160a01b0316808352600080516020610f4c8339815191526020526040832080549194919068010000000000000000821015610b1c5796610ae68260409798996001610b0395018155610a22565b90919063ffffffff83549160031b9260e01c831b921b1916179055565b82526020522080546001600160a01b0319169091179055565b634e487b7160e01b85526041600452602485fd5b9091906001600160a01b039081168015610dbe57308114610d625763ffffffff60e01b809416600092818452600080516020610f0c833981519152926020918483526040948587205460a01c90838852600080516020610f4c8339815191529586865287892054926000199b8c8501948511610d4e57908991888c898c89808703610ce0575b505090525050508787525087892080548015610ccc578c0190610bd98282610a22565b63ffffffff82549160031b1b191690555588528452868681205515610c03575b5050505050509050565b600080516020610f2c8339815191528054898101908111610cb857838852858552826001888a20015491808303610c86575b5050508054988915610c725760019798990191610c5183610909565b909182549160031b1b19169055558552528220015580388080808080610bf9565b634e487b7160e01b88526031600452602488fd5b610c8f90610909565b90549060031b1c16610ca4816109d984610909565b885285855260018789200155388281610c35565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b8b52603160045260248bfd5b610d419784610ae693610cff8a9487610d159952828a52848420610a22565b90549060031b1c60e01b97889683525220610a22565b168b52838852898b2080546001600160a01b031660a09290921b6001600160a01b031916919091179055565b873880888c898c89610bb6565b634e487b7160e01b8b52601160045260248bfd5b60405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608490fd5b60405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608490fdfe6080604052361560aa57600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205260408120546001600160a01b03168015606c57818091368280378136915af43d82803e156068573d90f35b3d90fd5b62461bcd60e51b6080526020608452602060a4527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460c45260646080fd5b00fea2646970667358221220a1f95a51f0776c7157e1c836049b615168e6f2dbdb687d6fb5cd61660336e4e564736f6c63430008120033c8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131cc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131ec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d"; + "0x6001600160401b03610f6c6080601f38839003908101601f19168201908482118383101761072c57808391604095869485528339810103126107275761004481610780565b906100526020809201610780565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c132080546001600160a01b039485166001600160a01b031982168117909255919260009290919085167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08480a36100c6610761565b9260019081855282845b8181106107035750506100e1610761565b8281528336818301376307e4c70760e21b6100fb82610794565b5286610105610742565b9216825284848301528782015261011b85610794565b5261012584610794565b50855196828801908111888210176106ef5786528287529382855b610262575b5085519460608087019080885286518092526080938489019086868560051b8c010199019588935b8585106101bf57508b7f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb6738c8f6101b08e83928f8f850152838203878501526107f0565b0390a15160e29081610e2a8239f35b9091929394959699607f198c82030185528a5190828101918581511682528a810151600381101561024e578b8301528e0151818f018490528051928390528a019189918b91908601908d905b80821061022a575050819293509c01950195019396959492919061016d565b85516001600160e01b0319168352948301948c948e9493909301929091019061020b565b634e487b7160e01b8d52602160045260248dfd5b84959195518110156106e7578261027982876107b7565b51015160038110156106d357806104025750818661029783886107b7565b515116886102a584896107b7565b5101516102b481511515610830565b6102bf821515610890565b6001600160a01b0382166000908152600080516020610f4c83398151915260205260409020546001600160601b031680156103f4575b9280949388915b610317575b5050505061030f905b6107cb565b909591610140565b909192939483518310156103ed57506001600160e01b031961033983856107b7565b5116808952600080516020610f0c83398151915288528a8c8a205416610383576103748261036f878a9897969561037a95610a45565b6108f1565b916107cb565b908495946102fc565b8b5162461bcd60e51b815260048101899052603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f60448201527f6e207468617420616c72656164792065786973747300000000000000000000006064820152608490fd5b9493610301565b6103fd83610930565b6102f5565b8083036105725750818661041683886107b7565b5151168861042484896107b7565b51015161043381511515610830565b61043e821515610890565b6001600160a01b0382166000908152600080516020610f4c83398151915260205260409020546001600160601b03168015610564575b9280949388915b61048c575050505061030f906107cb565b909192939483518310156103ed57506001600160e01b03196104ae83856107b7565b5116808952600080516020610f0c83398151915288528a8c8a2054168581146104fa578261036f878a98979695856104ec6104f19761037497610b30565b610a45565b9084959461047b565b8c5162461bcd60e51b8152600481018a9052603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608490fd5b61056d83610930565b610474565b60020361067f578561058482876107b7565b5151168761059283886107b7565b510151906105a282511515610830565b6106155782919085835b6105bc575b505061030f906107cb565b819293915181101561060c576106039061030a6001600160e01b03196105e283876107b7565b5116808a52600080516020610f0c83398151915289528b8d8b205416610b30565b819392916105ac565b819392506105b1565b875162461bcd60e51b815260048101859052603660248201527f4c69624469616d6f6e644375743a2052656d6f7665206661636574206164647260448201527f657373206d7573742062652061646472657373283029000000000000000000006064820152608490fd5b865162461bcd60e51b815260048101849052602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b6064820152608490fd5b634e487b7160e01b85526021600452602485fd5b949094610145565b634e487b7160e01b84526041600452602484fd5b61070b610742565b868152868382015260608a8201528282890101520183906100d0565b600080fd5b634e487b7160e01b600052604160045260246000fd5b60405190606082016001600160401b0381118382101761072c57604052565b60408051919082016001600160401b0381118382101761072c57604052565b51906001600160a01b038216820361072757565b8051156107a15760200190565b634e487b7160e01b600052603260045260246000fd5b80518210156107a15760209160051b010190565b60001981146107da5760010190565b634e487b7160e01b600052601160045260246000fd5b919082519283825260005b84811061081c575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016107fb565b1561083757565b60405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201526a1858d95d081d1bc818dd5d60aa1b6064820152608490fd5b1561089757565b60405162461bcd60e51b815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201526b65206164647265737328302960a01b6064820152608490fd5b6001600160601b039081169081146107da5760010190565b600080516020610f2c83398151915280548210156107a15760005260206000200190600090565b610938610742565b602481527f4c69624469616d6f6e644375743a204e657720666163657420686173206e6f20602082015263636f646560e01b6040820152813b156109fa5750600080516020610f2c83398151915280546001600160a01b0383166000908152600080516020610f4c8339815191526020526040902060010181905591906801000000000000000083101561072c57826109d99160016109f895019055610909565b90919082549060031b9160018060a01b03809116831b921b1916179055565b565b60405162461bcd60e51b815260206004820152908190610a1e9060248301906107f0565b0390fd5b91909180548310156107a157600052601c60206000208360031c019260021b1690565b6001600160e01b031981166000818152600080516020610f0c83398151915260208190526040822080546001600160a01b031660a09690961b6001600160a01b031916959095179094559194939092906001600160a01b0316808352600080516020610f4c8339815191526020526040832080549194919068010000000000000000821015610b1c5796610ae68260409798996001610b0395018155610a22565b90919063ffffffff83549160031b9260e01c831b921b1916179055565b82526020522080546001600160a01b0319169091179055565b634e487b7160e01b85526041600452602485fd5b9091906001600160a01b039081168015610dbe57308114610d625763ffffffff60e01b809416600092818452600080516020610f0c833981519152926020918483526040948587205460a01c90838852600080516020610f4c8339815191529586865287892054926000199b8c8501948511610d4e57908991888c898c89808703610ce0575b505090525050508787525087892080548015610ccc578c0190610bd98282610a22565b63ffffffff82549160031b1b191690555588528452868681205515610c03575b5050505050509050565b600080516020610f2c8339815191528054898101908111610cb857838852858552826001888a20015491808303610c86575b5050508054988915610c725760019798990191610c5183610909565b909182549160031b1b19169055558552528220015580388080808080610bf9565b634e487b7160e01b88526031600452602488fd5b610c8f90610909565b90549060031b1c16610ca4816109d984610909565b885285855260018789200155388281610c35565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b8b52603160045260248bfd5b610d419784610ae693610cff8a9487610d159952828a52848420610a22565b90549060031b1c60e01b97889683525220610a22565b168b52838852898b2080546001600160a01b031660a09290921b6001600160a01b031916919091179055565b873880888c898c89610bb6565b634e487b7160e01b8b52601160045260248bfd5b60405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608490fd5b60405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608490fdfe6080604052361560aa57600080356001600160e01b03191681527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c60205260408120546001600160a01b03168015606c57818091368280378136915af43d82803e156068573d90f35b3d90fd5b62461bcd60e51b6080526020608452602060a4527f4469616d6f6e643a2046756e6374696f6e20646f6573206e6f7420657869737460c45260646080fd5b00fea264697066735822122011335ecab85df916eee753736368eca6cdc5064d6a6aca6dc107accca84a5eef64736f6c63430008120033c8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131cc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131ec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d"; type DiamondConstructorParams = | [signer?: Signer] @@ -79,24 +79,24 @@ export class Diamond__factory extends ContractFactory { } override deploy( - curContractowner: PromiseOrValue, - curDiamondcutfacet: PromiseOrValue, + contractowner: PromiseOrValue, + diamondcutfacet: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise { return super.deploy( - curContractowner, - curDiamondcutfacet, + contractowner, + diamondcutfacet, overrides || {} ) as Promise; } override getDeployTransaction( - curContractowner: PromiseOrValue, - curDiamondcutfacet: PromiseOrValue, + contractowner: PromiseOrValue, + diamondcutfacet: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): TransactionRequest { return super.getDeployTransaction( - curContractowner, - curDiamondcutfacet, + contractowner, + diamondcutfacet, overrides || {} ); } diff --git a/typechain-types/factories/contracts/core/accounts/diamond/facets/DiamondCutFacet__factory.ts b/typechain-types/factories/contracts/core/accounts/diamond/facets/DiamondCutFacet__factory.ts index 6906cae04..40a5e73e2 100644 --- a/typechain-types/factories/contracts/core/accounts/diamond/facets/DiamondCutFacet__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/diamond/facets/DiamondCutFacet__factory.ts @@ -14,12 +14,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curInitializationcontractaddress", + name: "initializationcontractaddress", type: "address", }, { internalType: "bytes", - name: "curCalldata", + name: "data", type: "bytes", }, ], @@ -49,19 +49,19 @@ const _abi = [ ], indexed: false, internalType: "struct IDiamondCut.FacetCut[]", - name: "curDiamondcut", + name: "diamondcut", type: "tuple[]", }, { indexed: false, internalType: "address", - name: "curInit", + name: "init", type: "address", }, { indexed: false, internalType: "bytes", - name: "curCalldata", + name: "data", type: "bytes", }, ], @@ -89,17 +89,17 @@ const _abi = [ }, ], internalType: "struct IDiamondCut.FacetCut[]", - name: "curDiamondcut", + name: "diamondcut", type: "tuple[]", }, { internalType: "address", - name: "curInit", + name: "init", type: "address", }, { internalType: "bytes", - name: "curCalldata", + name: "data", type: "bytes", }, ], @@ -111,7 +111,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001657611163908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c631f931c1c1461002857600080fd5b346108535760603660031901126108535767ffffffffffffffff600435116108535736602360043501121561085357600435600401359067ffffffffffffffff8211610853573660248360051b600435010111610853576024356001600160a01b03811690036108535767ffffffffffffffff60443511610853573660236044350112156108535767ffffffffffffffff60443560040135116108535736602460443560040135604435010111610853577fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c1320546001600160a01b0316330361086e575061011c61011782610901565b6108db565b90602082828152018091602460043501915b60248260051b6004350101831061071557838561015361011760443560040135610919565b60443560048101358083529060240160208301376000602060443560040135830101526000915b80518310156105f757602061018f848361095a565b51015160038110156105e1578061030e57506001600160a01b036101b3848361095a565b5151169160406101c3858461095a565b510151916101d3835115156109c4565b6101de841515610a24565b6001600160a01b038416600090815260008051602061110e83398151915260205260409020546001600160601b0316918215610300575b6000925b84518410156102e6576001600160e01b0319610235858761095a565b511660008181526000805160206110ee83398151915260205260409020546001600160a01b031661028357816102728861027d9461027794610bed565b610a85565b93610935565b92610219565b60405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f6044820152746e207468617420616c72656164792065786973747360581b6064820152608490fd5b509491509492506102f891505b610935565b91909261017a565b61030985610af2565b610215565b9193916001810361048757506001600160a01b0361032c848361095a565b51511693604061033c858461095a565b5101519161034c835115156109c4565b610357861515610a24565b6001600160a01b038616600090815260008051602061110e83398151915260205260409020546001600160601b0316918215610479575b6000925b8451841015610469576001600160e01b03196103ae858761095a565b511660008181526000805160206110ee83398151915260205260409020546001600160a01b0316918983146103fe576102728a82846103f3610277966103f898610cd3565b610bed565b92610392565b60405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608490fd5b5094915094506102f89150610935565b61048287610af2565b61038e565b60020361058c576001600160a01b036104a0848361095a565b5151169360406104b0858461095a565b510151946104c0865115156109c4565b6105285760005b855181101561051b57610516906102f36001600160e01b03196104ea838a61095a565b511660008181526000805160206110ee83398151915260205260409020546001600160a01b0316610cd3565b6104c7565b50926102f8919450610935565b60405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f76652066616365742061646472604482015275657373206d757374206265206164647265737328302960501b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b6064820152608490fd5b634e487b7160e01b600052602160045260246000fd5b9091506040519060608201906060835251809152608082019060808160051b84010194916000905b82821061067d576024356001600160a01b03166020860152848703604086015261067b867f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67387806106708c85610984565b0390a1602435610fde565b005b848703607f19018152835180516001600160a01b03168852602081015194979394929391929060038210156105e1576040916020840152015190606060408201526020608060608301928451809452019201906000905b8082106106f25750505060208060019298019201920190929161061f565b82516001600160e01b0319168452602093840193909201916001909101906106d4565b67ffffffffffffffff833511610853576060600435843501360360231901126108535760405180606081011067ffffffffffffffff6060830111176108585760608101604052600435843501602401356001600160a01b038116900361085357600435843501602481013582526044013560038110156108535760208201526064843560043501013567ffffffffffffffff811161085357366043828735600435010101121561085357602481863560043501010135906107d861011783610901565b91602083828152013660448360051b858b356004350101010111610853576044838935600435010101905b60448360051b858b356004350101010182106108305750505050604082015281526020928301920161012e565b81356001600160e01b031981169003610853578135815260209182019101610803565b600080fd5b634e487b7160e01b600052604160045260246000fd5b62461bcd60e51b815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201526132b960f11b6064820152608490fd5b604051906060820182811067ffffffffffffffff82111761085857604052565b6040519190601f01601f1916820167ffffffffffffffff81118382101761085857604052565b67ffffffffffffffff81116108585760051b60200190565b67ffffffffffffffff811161085857601f01601f191660200190565b60001981146109445760010190565b634e487b7160e01b600052601160045260246000fd5b805182101561096e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b919082519283825260005b8481106109b0575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161098f565b156109cb57565b60405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201526a1858d95d081d1bc818dd5d60aa1b6064820152608490fd5b15610a2b57565b60405162461bcd60e51b815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201526b65206164647265737328302960a01b6064820152608490fd5b6001600160601b038091169081146109445760010190565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e805482101561096e576000527fb5c239a29faf02594141bbc5e6982a9b85ba2b4d59c3ed3baaf4cb8e5e11cbef0190600090565b610b3a610afd6108bb565b602481527f4c69624469616d6f6e644375743a204e657720666163657420686173206e6f20602082015263636f646560e01b6040820152826110c0565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e80546001600160a01b038316600090815260008051602061110e833981519152602052604090206001018190559190600160401b8310156108585782610ba9916001610bc895019055610a9d565b90919082549060031b9160018060a01b03809116831b921b1916179055565b565b919091805483101561096e57600052601c60206000208360031c019260021b1690565b6001600160e01b0319811660008181526000805160206110ee83398151915260208190526040822080546001600160a01b031660a09690961b6001600160a01b031916959095179094559194939092906001600160a01b031680835260008051602061110e83398151915260205260408320805491949190600160401b821015610cbf5796610c898260409798996001610ca695018155610bca565b90919063ffffffff83549160031b9260e01c831b921b1916179055565b82526020522080546001600160a01b0319169091179055565b634e487b7160e01b85526041600452602485fd5b9091906001600160a01b039081168015610f7357308114610f175763ffffffff60e01b8094166000928184526000805160206110ee833981519152926020918483526040948587205460a01c9083885260008051602061110e8339815191529586865287892054926000199b8c8501948511610f0357908991888c898c89808703610e95575b505090525050508787525087892080548015610e81578c0190610d7c8282610bca565b63ffffffff82549160031b1b191690555588528452868681205515610da6575b5050505050509050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e8054898101908111610e6d57838852858552826001888a20015491808303610e3b575b5050508054988915610e275760019798990191610e0683610a9d565b909182549160031b1b19169055558552528220015580388080808080610d9c565b634e487b7160e01b88526031600452602488fd5b610e4490610a9d565b90549060031b1c16610e5981610ba984610a9d565b885285855260018789200155388281610dea565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b8b52603160045260248bfd5b610ef69784610c8993610eb48a9487610eca9952828a52848420610bca565b90549060031b1c60e01b97889683525220610bca565b168b52838852898b2080546001600160a01b031660a09290921b6001600160a01b031916919091179055565b873880888c898c89610d59565b634e487b7160e01b8b52601160045260248bfd5b60405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608490fd5b60405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608490fd5b6001600160a01b038116919082156110bb5760008091611042610fff6108bb565b602a81527f4c69624469616d6f6e644375743a20637572496e6974206164647265737320686020820152696173206e6f20636f646560b01b6040820152826110c0565b83519060208501905af4913d156110b3573d9261106161011785610919565b9384523d6000602086013e5b1561107757505050565b82511561108657825160208401fd5b6110af60405192839263192105d760e01b84526004840152604060248401526044830190610984565b0390fd5b60609261106d565b505050565b3b156110c95750565b60405162461bcd60e51b8152602060048201529081906110af90602483019061098456fec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131cc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131da2646970667358221220e7a15f22dbd320d735011f2abbe01ed8f6006e675d03f087a2e7f3870ac7f97d64736f6c63430008120033"; + "0x6080806040523461001657611160908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c631f931c1c1461002857600080fd5b346108535760603660031901126108535767ffffffffffffffff600435116108535736602360043501121561085357600435600401359067ffffffffffffffff8211610853573660248360051b600435010111610853576024356001600160a01b03811690036108535767ffffffffffffffff60443511610853573660236044350112156108535767ffffffffffffffff60443560040135116108535736602460443560040135604435010111610853577fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c1320546001600160a01b0316330361086e575061011c61011782610901565b6108db565b90602082828152018091602460043501915b60248260051b6004350101831061071557838561015361011760443560040135610919565b60443560048101358083529060240160208301376000602060443560040135830101526000915b80518310156105f757602061018f848361095a565b51015160038110156105e1578061030e57506001600160a01b036101b3848361095a565b5151169160406101c3858461095a565b510151916101d3835115156109c4565b6101de841515610a24565b6001600160a01b038416600090815260008051602061110b83398151915260205260409020546001600160601b0316918215610300575b6000925b84518410156102e6576001600160e01b0319610235858761095a565b511660008181526000805160206110eb83398151915260205260409020546001600160a01b031661028357816102728861027d9461027794610bed565b610a85565b93610935565b92610219565b60405162461bcd60e51b815260206004820152603560248201527f4c69624469616d6f6e644375743a2043616e2774206164642066756e6374696f6044820152746e207468617420616c72656164792065786973747360581b6064820152608490fd5b509491509492506102f891505b610935565b91909261017a565b61030985610af2565b610215565b9193916001810361048757506001600160a01b0361032c848361095a565b51511693604061033c858461095a565b5101519161034c835115156109c4565b610357861515610a24565b6001600160a01b038616600090815260008051602061110b83398151915260205260409020546001600160601b0316918215610479575b6000925b8451841015610469576001600160e01b03196103ae858761095a565b511660008181526000805160206110eb83398151915260205260409020546001600160a01b0316918983146103fe576102728a82846103f3610277966103f898610cd3565b610bed565b92610392565b60405162461bcd60e51b815260206004820152603860248201527f4c69624469616d6f6e644375743a2043616e2774207265706c6163652066756e60448201527f6374696f6e20776974682073616d652066756e6374696f6e00000000000000006064820152608490fd5b5094915094506102f89150610935565b61048287610af2565b61038e565b60020361058c576001600160a01b036104a0848361095a565b5151169360406104b0858461095a565b510151946104c0865115156109c4565b6105285760005b855181101561051b57610516906102f36001600160e01b03196104ea838a61095a565b511660008181526000805160206110eb83398151915260205260409020546001600160a01b0316610cd3565b6104c7565b50926102f8919450610935565b60405162461bcd60e51b815260206004820152603660248201527f4c69624469616d6f6e644375743a2052656d6f76652066616365742061646472604482015275657373206d757374206265206164647265737328302960501b6064820152608490fd5b60405162461bcd60e51b815260206004820152602760248201527f4c69624469616d6f6e644375743a20496e636f727265637420466163657443756044820152663a20b1ba34b7b760c91b6064820152608490fd5b634e487b7160e01b600052602160045260246000fd5b9091506040519060608201906060835251809152608082019060808160051b84010194916000905b82821061067d576024356001600160a01b03166020860152848703604086015261067b867f8faa70878671ccd212d20771b795c50af8fd3ff6cf27f4bde57e5d4de0aeb67387806106708c85610984565b0390a1602435610fde565b005b848703607f19018152835180516001600160a01b03168852602081015194979394929391929060038210156105e1576040916020840152015190606060408201526020608060608301928451809452019201906000905b8082106106f25750505060208060019298019201920190929161061f565b82516001600160e01b0319168452602093840193909201916001909101906106d4565b67ffffffffffffffff833511610853576060600435843501360360231901126108535760405180606081011067ffffffffffffffff6060830111176108585760608101604052600435843501602401356001600160a01b038116900361085357600435843501602481013582526044013560038110156108535760208201526064843560043501013567ffffffffffffffff811161085357366043828735600435010101121561085357602481863560043501010135906107d861011783610901565b91602083828152013660448360051b858b356004350101010111610853576044838935600435010101905b60448360051b858b356004350101010182106108305750505050604082015281526020928301920161012e565b81356001600160e01b031981169003610853578135815260209182019101610803565b600080fd5b634e487b7160e01b600052604160045260246000fd5b62461bcd60e51b815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201526132b960f11b6064820152608490fd5b604051906060820182811067ffffffffffffffff82111761085857604052565b6040519190601f01601f1916820167ffffffffffffffff81118382101761085857604052565b67ffffffffffffffff81116108585760051b60200190565b67ffffffffffffffff811161085857601f01601f191660200190565b60001981146109445760010190565b634e487b7160e01b600052601160045260246000fd5b805182101561096e5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b919082519283825260005b8481106109b0575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161098f565b156109cb57565b60405162461bcd60e51b815260206004820152602b60248201527f4c69624469616d6f6e644375743a204e6f2073656c6563746f727320696e206660448201526a1858d95d081d1bc818dd5d60aa1b6064820152608490fd5b15610a2b57565b60405162461bcd60e51b815260206004820152602c60248201527f4c69624469616d6f6e644375743a204164642066616365742063616e2774206260448201526b65206164647265737328302960a01b6064820152608490fd5b6001600160601b038091169081146109445760010190565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e805482101561096e576000527fb5c239a29faf02594141bbc5e6982a9b85ba2b4d59c3ed3baaf4cb8e5e11cbef0190600090565b610b3a610afd6108bb565b602481527f4c69624469616d6f6e644375743a204e657720666163657420686173206e6f20602082015263636f646560e01b6040820152826110bd565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e80546001600160a01b038316600090815260008051602061110b833981519152602052604090206001018190559190600160401b8310156108585782610ba9916001610bc895019055610a9d565b90919082549060031b9160018060a01b03809116831b921b1916179055565b565b919091805483101561096e57600052601c60206000208360031c019260021b1690565b6001600160e01b0319811660008181526000805160206110eb83398151915260208190526040822080546001600160a01b031660a09690961b6001600160a01b031916959095179094559194939092906001600160a01b031680835260008051602061110b83398151915260205260408320805491949190600160401b821015610cbf5796610c898260409798996001610ca695018155610bca565b90919063ffffffff83549160031b9260e01c831b921b1916179055565b82526020522080546001600160a01b0319169091179055565b634e487b7160e01b85526041600452602485fd5b9091906001600160a01b039081168015610f7357308114610f175763ffffffff60e01b8094166000928184526000805160206110eb833981519152926020918483526040948587205460a01c9083885260008051602061110b8339815191529586865287892054926000199b8c8501948511610f0357908991888c898c89808703610e95575b505090525050508787525087892080548015610e81578c0190610d7c8282610bca565b63ffffffff82549160031b1b191690555588528452868681205515610da6575b5050505050509050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e8054898101908111610e6d57838852858552826001888a20015491808303610e3b575b5050508054988915610e275760019798990191610e0683610a9d565b909182549160031b1b19169055558552528220015580388080808080610d9c565b634e487b7160e01b88526031600452602488fd5b610e4490610a9d565b90549060031b1c16610e5981610ba984610a9d565b885285855260018789200155388281610dea565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b8b52603160045260248bfd5b610ef69784610c8993610eb48a9487610eca9952828a52848420610bca565b90549060031b1c60e01b97889683525220610bca565b168b52838852898b2080546001600160a01b031660a09290921b6001600160a01b031916919091179055565b873880888c898c89610d59565b634e487b7160e01b8b52601160045260248bfd5b60405162461bcd60e51b815260206004820152602e60248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f766520696d6d7560448201526d3a30b1363290333ab731ba34b7b760911b6064820152608490fd5b60405162461bcd60e51b815260206004820152603760248201527f4c69624469616d6f6e644375743a2043616e27742072656d6f76652066756e6360448201527f74696f6e207468617420646f65736e27742065786973740000000000000000006064820152608490fd5b6001600160a01b038116919082156110b8576000809161103f610fff6108bb565b602781527f4c69624469616d6f6e644375743a20696e6974206164647265737320686173206020820152666e6f20636f646560c81b6040820152826110bd565b83519060208501905af4913d156110b0573d9261105e61011785610919565b9384523d6000602086013e5b1561107457505050565b82511561108357825160208401fd5b6110ac60405192839263192105d760e01b84526004840152604060248401526044830190610984565b0390fd5b60609261106a565b505050565b3b156110c65750565b60405162461bcd60e51b8152602060048201529081906110ac90602483019061098456fec8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131cc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131da26469706673582212204468fb206a65f11f573bb1e1f63c38231f3acfcfc8ca128286155b91560ee2d364736f6c63430008120033"; type DiamondCutFacetConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/core/accounts/diamond/facets/DiamondLoupeFacet__factory.ts b/typechain-types/factories/contracts/core/accounts/diamond/facets/DiamondLoupeFacet__factory.ts index d87ca4f27..5227116bb 100644 --- a/typechain-types/factories/contracts/core/accounts/diamond/facets/DiamondLoupeFacet__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/diamond/facets/DiamondLoupeFacet__factory.ts @@ -14,7 +14,7 @@ const _abi = [ inputs: [ { internalType: "bytes4", - name: "curFunctionselector", + name: "functionSelector", type: "bytes4", }, ], @@ -22,7 +22,7 @@ const _abi = [ outputs: [ { internalType: "address", - name: "curFacetaddress", + name: "facetAddress_", type: "address", }, ], @@ -35,7 +35,7 @@ const _abi = [ outputs: [ { internalType: "address[]", - name: "curFacetaddresses", + name: "facetAddresses_", type: "address[]", }, ], @@ -46,7 +46,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curFacet", + name: "facet", type: "address", }, ], @@ -54,7 +54,7 @@ const _abi = [ outputs: [ { internalType: "bytes4[]", - name: "curFacetfunctionselectors", + name: "facetfunctionselectors", type: "bytes4[]", }, ], @@ -79,7 +79,7 @@ const _abi = [ }, ], internalType: "struct IDiamondLoupe.Facet[]", - name: "curFacets", + name: "facets_", type: "tuple[]", }, ], @@ -90,7 +90,7 @@ const _abi = [ inputs: [ { internalType: "bytes4", - name: "curInterfaceid", + name: "interfaceId", type: "bytes4", }, ], @@ -108,7 +108,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001657610760908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a7146104785750806352ef6b2c146103945780637a0ed62714610175578063adfca15e146100bf5763cdffacc61461005a57600080fd5b346100bb5760203660031901126100bb573563ffffffff60e01b81168091036100bb5782527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020908152918190205490516001600160a01b039091168152f35b8280fd5b5090346100bb576020918260031936011261017157356001600160a01b0381168103610171576001600160a01b031660009081527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d60205260409020829084906101289061054d565b9083519383808695860192818752855180945286019401925b82811061015057505050500390f35b83516001600160e01b03191685528695509381019392810192600101610141565b8380fd5b5091346103915780600319360112610391577fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e928354906101b58261050b565b946101c2855196876104d3565b828652601f196101d18461050b565b01845b81811061034a575050835b83811061029357858588825191602080840191818552835180935285850182878560051b880101950196825b8584106102185787870388f35b90919293809596603f198982030185528951826060818785019360018060a01b038151168652015193878382015284518094520192019084905b80821061026f57505050988101989695946001019301919061020b565b82516001600160e01b03191684528994938401939092019160019190910190610252565b8185527fb5c239a29faf02594141bbc5e6982a9b85ba2b4d59c3ed3baaf4cb8e5e11cbef81015461030d906001600160a01b0316806102d2848b610523565b51526001600160a01b031660009081527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d6020526040902090565b610324602061031c848b610523565b51019161054d565b90526000198114610337576001016101df565b634e487b7160e01b855260118352602485fd5b865187810181811067ffffffffffffffff82111761037e579060209291895287815282606081830152828b010152016101d4565b634e487b7160e01b885260418652602488fd5b80fd5b8284346103915780600319360112610391579080519182907fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e918254808652602080960190819484527fb5c239a29faf02594141bbc5e6982a9b85ba2b4d59c3ed3baaf4cb8e5e11cbef90845b81811061045b57505050816104179103826104d3565b83519485948186019282875251809352850193925b82811061043b57505050500390f35b83516001600160a01b03168552869550938101939281019260010161042c565b82546001600160a01b031684529288019260019283019201610401565b9291905034610171576020366003190112610171573563ffffffff60e01b81168091036101715783527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f602090815292205460ff1615158152f35b90601f8019910116810190811067ffffffffffffffff8211176104f557604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff81116104f55760051b60200190565b80518210156105375760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b906040918251809382549283835260209182840191600052826000209460005b8160078201106106b757846105c8975493838310610697575b838310610677575b838310610657575b838310610637575b838310610617575b8383106105fa575b508282106105de575b50106105ca575b50905003836104d3565b565b6001600160e01b03191681520180386105be565b83811b6001600160e01b031916855290930192600101846105b7565b84901b6001600160e01b03191685529093019260010184386105ae565b606085901b6001600160e01b0319168652948101946001909201916105a6565b608085901b6001600160e01b03191686529481019460019092019161059e565b60a085901b6001600160e01b031916865294810194600190920191610596565b60c085901b6001600160e01b03191686529481019460019092019161058e565b60e085901b6001600160e01b031916865294810194600190920191610586565b86546001600160e01b031960e082811b8216875260c083811b83168989015260a084811b8416888a0152608085811b85166060808c019190915286901b8516908a015284881b84169089015283891b8316908801529116908501526001909601958895506101009093019260080161056d56fea26469706673582212204e99012988682c7c92f2c98bee05b8fa147327a321257a055da07137c796353064736f6c63430008120033"; + "0x6080806040523461001657610760908161001c8239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c90816301ffc9a7146104785750806352ef6b2c146103945780637a0ed62714610175578063adfca15e146100bf5763cdffacc61461005a57600080fd5b346100bb5760203660031901126100bb573563ffffffff60e01b81168091036100bb5782527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6020908152918190205490516001600160a01b039091168152f35b8280fd5b5090346100bb576020918260031936011261017157356001600160a01b0381168103610171576001600160a01b031660009081527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d60205260409020829084906101289061054d565b9083519383808695860192818752855180945286019401925b82811061015057505050500390f35b83516001600160e01b03191685528695509381019392810192600101610141565b8380fd5b5091346103915780600319360112610391577fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e928354906101b58261050b565b946101c2855196876104d3565b828652601f196101d18461050b565b01845b81811061034a575050835b83811061029357858588825191602080840191818552835180935285850182878560051b880101950196825b8584106102185787870388f35b90919293809596603f198982030185528951826060818785019360018060a01b038151168652015193878382015284518094520192019084905b80821061026f57505050988101989695946001019301919061020b565b82516001600160e01b03191684528994938401939092019160019190910190610252565b8185527fb5c239a29faf02594141bbc5e6982a9b85ba2b4d59c3ed3baaf4cb8e5e11cbef81015461030d906001600160a01b0316806102d2848b610523565b51526001600160a01b031660009081527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131d6020526040902090565b610324602061031c848b610523565b51019161054d565b90526000198114610337576001016101df565b634e487b7160e01b855260118352602485fd5b865187810181811067ffffffffffffffff82111761037e579060209291895287815282606081830152828b010152016101d4565b634e487b7160e01b885260418652602488fd5b80fd5b8284346103915780600319360112610391579080519182907fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131e918254808652602080960190819484527fb5c239a29faf02594141bbc5e6982a9b85ba2b4d59c3ed3baaf4cb8e5e11cbef90845b81811061045b57505050816104179103826104d3565b83519485948186019282875251809352850193925b82811061043b57505050500390f35b83516001600160a01b03168552869550938101939281019260010161042c565b82546001600160a01b031684529288019260019283019201610401565b9291905034610171576020366003190112610171573563ffffffff60e01b81168091036101715783527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f602090815292205460ff1615158152f35b90601f8019910116810190811067ffffffffffffffff8211176104f557604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff81116104f55760051b60200190565b80518210156105375760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b906040918251809382549283835260209182840191600052826000209460005b8160078201106106b757846105c8975493838310610697575b838310610677575b838310610657575b838310610637575b838310610617575b8383106105fa575b508282106105de575b50106105ca575b50905003836104d3565b565b6001600160e01b03191681520180386105be565b83811b6001600160e01b031916855290930192600101846105b7565b84901b6001600160e01b03191685529093019260010184386105ae565b606085901b6001600160e01b0319168652948101946001909201916105a6565b608085901b6001600160e01b03191686529481019460019092019161059e565b60a085901b6001600160e01b031916865294810194600190920191610596565b60c085901b6001600160e01b03191686529481019460019092019161058e565b60e085901b6001600160e01b031916865294810194600190920191610586565b86546001600160e01b031960e082811b8216875260c083811b83168989015260a084811b8416888a0152608085811b85166060808c019190915286901b8516908a015284881b84169089015283891b8316908801529116908501526001909601958895506101009093019260080161056d56fea2646970667358221220744a63f3733bd719f754362441b91ad67da3e4338218748aeb634b384099523664736f6c63430008120033"; type DiamondLoupeFacetConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/core/accounts/diamond/facets/OwnershipFacet__factory.ts b/typechain-types/factories/contracts/core/accounts/diamond/facets/OwnershipFacet__factory.ts index fbaf1dddb..f84cbe69e 100644 --- a/typechain-types/factories/contracts/core/accounts/diamond/facets/OwnershipFacet__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/diamond/facets/OwnershipFacet__factory.ts @@ -35,7 +35,7 @@ const _abi = [ outputs: [ { internalType: "address", - name: "curOwner", + name: "owner_", type: "address", }, ], @@ -46,7 +46,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curNewowner", + name: "newOwner", type: "address", }, ], @@ -58,7 +58,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001657610196908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081638da5cb5b14610118575063f2fde38b1461003757600080fd5b34610115576020366003190112610115576004356001600160a01b0381811691829003610111577fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c13208054918216918233036100c1576001600160a01b031916831790557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60405162461bcd60e51b815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201526132b960f11b6064820152608490fd5b8280fd5b80fd5b90503461015c578160031936011261015c577fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c1320546001600160a01b03168152602090f35b5080fdfea2646970667358221220b60f7c5ad6c3a5c1398e232cca9de65507f4f3b3b82557b1674075aed7594cf564736f6c63430008120033"; + "0x6080806040523461001657610196908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081638da5cb5b14610118575063f2fde38b1461003757600080fd5b34610115576020366003190112610115576004356001600160a01b0381811691829003610111577fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c13208054918216918233036100c1576001600160a01b031916831790557f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b60405162461bcd60e51b815260206004820152602260248201527f4c69624469616d6f6e643a204d75737420626520636f6e7472616374206f776e60448201526132b960f11b6064820152608490fd5b8280fd5b80fd5b90503461015c578160031936011261015c577fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c1320546001600160a01b03168152602090f35b5080fdfea2646970667358221220649e04da03691b93f3c838e0d08c444d1f6392ccedf0dcd77cfd5b747a083ac264736f6c63430008120033"; type OwnershipFacetConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/core/accounts/diamond/interfaces/IDiamondCut__factory.ts b/typechain-types/factories/contracts/core/accounts/diamond/interfaces/IDiamondCut__factory.ts index 0370baa22..392d049c5 100644 --- a/typechain-types/factories/contracts/core/accounts/diamond/interfaces/IDiamondCut__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/diamond/interfaces/IDiamondCut__factory.ts @@ -33,19 +33,19 @@ const _abi = [ ], indexed: false, internalType: "struct IDiamondCut.FacetCut[]", - name: "curDiamondcut", + name: "diamondcut", type: "tuple[]", }, { indexed: false, internalType: "address", - name: "curInit", + name: "init", type: "address", }, { indexed: false, internalType: "bytes", - name: "curCalldata", + name: "data", type: "bytes", }, ], @@ -73,17 +73,17 @@ const _abi = [ }, ], internalType: "struct IDiamondCut.FacetCut[]", - name: "curDiamondcut", + name: "diamondcut", type: "tuple[]", }, { internalType: "address", - name: "curInit", + name: "init", type: "address", }, { internalType: "bytes", - name: "curCalldata", + name: "data", type: "bytes", }, ], diff --git a/typechain-types/factories/contracts/core/accounts/diamond/interfaces/IDiamondLoupe__factory.ts b/typechain-types/factories/contracts/core/accounts/diamond/interfaces/IDiamondLoupe__factory.ts index cd8c1f66d..ef252bf2b 100644 --- a/typechain-types/factories/contracts/core/accounts/diamond/interfaces/IDiamondLoupe__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/diamond/interfaces/IDiamondLoupe__factory.ts @@ -14,7 +14,7 @@ const _abi = [ inputs: [ { internalType: "bytes4", - name: "curFunctionselector", + name: "functionselector", type: "bytes4", }, ], @@ -22,7 +22,7 @@ const _abi = [ outputs: [ { internalType: "address", - name: "curFacetaddress", + name: "facetaddress", type: "address", }, ], @@ -35,7 +35,7 @@ const _abi = [ outputs: [ { internalType: "address[]", - name: "curFacetaddresses", + name: "facetaddresses", type: "address[]", }, ], @@ -46,7 +46,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curFacet", + name: "facet", type: "address", }, ], @@ -54,7 +54,7 @@ const _abi = [ outputs: [ { internalType: "bytes4[]", - name: "curFacetfunctionselectors", + name: "facetfunctionselectors", type: "bytes4[]", }, ], @@ -79,7 +79,7 @@ const _abi = [ }, ], internalType: "struct IDiamondLoupe.Facet[]", - name: "curFacets", + name: "facets", type: "tuple[]", }, ], diff --git a/typechain-types/factories/contracts/core/accounts/diamond/interfaces/IERC173__factory.ts b/typechain-types/factories/contracts/core/accounts/diamond/interfaces/IERC173__factory.ts index 3c8d1d0cf..728cde596 100644 --- a/typechain-types/factories/contracts/core/accounts/diamond/interfaces/IERC173__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/diamond/interfaces/IERC173__factory.ts @@ -35,7 +35,7 @@ const _abi = [ outputs: [ { internalType: "address", - name: "curOwner", + name: "owner", type: "address", }, ], @@ -46,7 +46,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curNewowner", + name: "newowner", type: "address", }, ], diff --git a/typechain-types/factories/contracts/core/accounts/diamond/libraries/LibDiamond__factory.ts b/typechain-types/factories/contracts/core/accounts/diamond/libraries/LibDiamond__factory.ts index 2690f2c5d..02ede93dc 100644 --- a/typechain-types/factories/contracts/core/accounts/diamond/libraries/LibDiamond__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/diamond/libraries/LibDiamond__factory.ts @@ -33,19 +33,19 @@ const _abi = [ ], indexed: false, internalType: "struct IDiamondCut.FacetCut[]", - name: "curDiamondcut", + name: "diamondcut", type: "tuple[]", }, { indexed: false, internalType: "address", - name: "curInit", + name: "init", type: "address", }, { indexed: false, internalType: "bytes", - name: "curCalldata", + name: "data", type: "bytes", }, ], @@ -74,7 +74,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220fa2064192c50554434c3677244f4eedeccff35d2d5b6065f6fadd6af548a491664736f6c63430008120033"; + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122070cb793473ef5fd1d75324eae0156c41ec0901983f7bb76788f01933dd6fb94f64736f6c63430008120033"; type LibDiamondConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/core/accounts/diamond/upgradeInitializers/DiamondInit__factory.ts b/typechain-types/factories/contracts/core/accounts/diamond/upgradeInitializers/DiamondInit__factory.ts index 628f24a31..312051561 100644 --- a/typechain-types/factories/contracts/core/accounts/diamond/upgradeInitializers/DiamondInit__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/diamond/upgradeInitializers/DiamondInit__factory.ts @@ -14,12 +14,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curOwner", + name: "owner", type: "address", }, { internalType: "address", - name: "curRegistrar", + name: "registrar", type: "address", }, ], @@ -31,7 +31,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608080604052346100165761028a908161001c8239f35b600080fdfe6080604090808252600436101561001557600080fd5b600091823560e01c63f09a40161461002c57600080fd5b34610238578060031936011261023857600435916001600160a01b0380841692908385036102345760243590811692838203610230576301ffc9a760e01b87527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f6020528287208054600160ff1991821681179092556307e4c70760e21b895284892080548216831790556348e2b09360e01b895284892080548216831790556307f5828d60e41b8952848920805490911682179055956100ec9061023c565b156101ee57506100fb9061023c565b156101ab57506bffffffffffffffffffffffff60a01b917ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4590838254161790557ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4691825416179055807ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d47557ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d485580f35b5162461bcd60e51b815260206004820152601f60248201527f456e74657220612076616c6964207265676973747261722061646472657373006044820152606490fd5b62461bcd60e51b815260206004820152601b60248201527f456e74657220612076616c6964206f776e6572206164647265737300000000006044820152606490fd5b8680fd5b8580fd5b8280fd5b6001600160a01b03161561024f57600190565b60009056fea2646970667358221220a1f0f6da3ce929c6ef255805601c40b2672e9bcd1104c3c07e1ff126d8dbf3ca64736f6c63430008120033"; + "0x60808060405234610016576102e8908161001c8239f35b600080fdfe6080604090808252600436101561001557600080fd5b600091823560e01c63f09a40161461002c57600080fd5b346102965780600319360112610296576004356001600160a01b0381811693848303610292576024359182169283830361028e576301ffc9a760e01b87527fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f6020528487208054600160ff1991821681179092556307e4c70760e21b895286892080548216831790556348e2b09360e01b895286892080548216831790556307f5828d60e41b8952868920805490911690911790556100ea9061029a565b1561024c57506100f99061029a565b15610208577ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4480546001600160a01b031990811690941790557ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4680546001600160c01b031916909117600160a01b17905560017ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4755805167ffffffffffffffff9181019182119110176101f4577ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b90815416905560647ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4c5580f35b634e487b7160e01b82526041600452602482fd5b815162461bcd60e51b815260206004820152601f60248201527f456e74657220612076616c6964207265676973747261722061646472657373006044820152606490fd5b62461bcd60e51b815260206004820152601b60248201527f456e74657220612076616c6964206f776e6572206164647265737300000000006044820152606490fd5b8680fd5b8580fd5b8280fd5b6001600160a01b0316156102ad57600190565b60009056fea2646970667358221220acb992633edd64a9a21f2b8f071d89db7f7b440e536828a4211f508e8f6e16f064736f6c63430008120033"; type DiamondInitConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountDeployContract__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountDeployContract__factory.ts index 18621df5c..38bb720d1 100644 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountDeployContract__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/facets/AccountDeployContract__factory.ts @@ -32,37 +32,10 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], indexed: false, - internalType: "struct AccountStorage.AllowanceData", + internalType: "uint256", name: "allowance", - type: "tuple", + type: "uint256", }, ], name: "AllowanceStateUpdatedTo", @@ -74,9 +47,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -129,29 +102,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -177,43 +150,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -228,7 +201,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -244,7 +217,7 @@ const _abi = [ ], indexed: false, internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", + name: "createdaomessage", type: "tuple", }, { @@ -263,13 +236,13 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -365,7 +338,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -378,21 +351,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -456,18 +414,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -475,12 +433,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -496,13 +459,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -526,17 +489,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -548,17 +511,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -570,14 +528,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -592,14 +545,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -614,17 +562,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -633,24 +576,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -665,31 +598,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -704,31 +627,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -743,31 +656,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -782,31 +685,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -821,31 +714,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -860,31 +743,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -899,31 +772,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -938,31 +801,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -984,24 +837,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1023,63 +866,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1094,31 +888,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1140,24 +924,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1179,24 +953,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1218,24 +982,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1257,24 +1011,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1296,24 +1040,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1337,9 +1071,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -1433,37 +1167,37 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { indexed: false, internalType: "address", - name: "curTokenin", + name: "tokenin", type: "address", }, { indexed: false, internalType: "address", - name: "curTokenout", + name: "tokenout", type: "address", }, { indexed: false, internalType: "uint256", - name: "curAmountout", + name: "amountout", type: "uint256", }, ], @@ -1480,23 +1214,65 @@ const _abi = [ name: "owner", type: "address", }, + { + internalType: "string", + name: "version", + type: "string", + }, { internalType: "address", name: "registrarContract", type: "address", }, { - internalType: "uint256", + internalType: "uint32", name: "nextAccountId", - type: "uint256", + type: "uint32", }, { internalType: "uint256", name: "maxGeneralCategoryId", type: "uint256", }, - ], - indexed: false, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + internalType: "bool", + name: "reentrancyGuardLocked", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, + ], + indexed: false, internalType: "struct AccountStorage.Config", name: "config", type: "tuple", @@ -1550,7 +1326,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1563,21 +1339,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -1641,18 +1402,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -1660,12 +1421,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -1681,13 +1447,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -1711,17 +1477,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1733,17 +1499,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1755,14 +1516,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1777,14 +1533,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1799,17 +1550,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1818,24 +1564,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1850,31 +1586,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1889,31 +1615,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1928,31 +1644,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1967,31 +1673,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2006,31 +1702,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2045,31 +1731,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2084,31 +1760,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2123,31 +1789,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2169,24 +1825,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2208,63 +1854,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2279,31 +1876,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2325,24 +1912,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2364,24 +1941,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2403,24 +1970,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2442,24 +1999,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2481,24 +2028,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2522,9 +2059,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -2568,137 +2105,14 @@ const _abi = [ name: "UpdateEndowment", type: "event", }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", - type: "tuple", - }, - { - internalType: "bool", - name: "closingEndowment", - type: "bool", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", - type: "tuple", - }, - ], - indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", - type: "tuple", - }, - ], - name: "UpdateEndowmentState", - type: "event", - }, { inputs: [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -2751,29 +2165,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -2799,43 +2213,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -2850,7 +2264,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -2865,7 +2279,7 @@ const _abi = [ }, ], internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", + name: "createDaoMessage", type: "tuple", }, ], @@ -2883,7 +2297,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001657611cbd908161001c8239f35b600080fdfe60043610156200000e57600080fd5b6000803560e01c63e85fb24b146200002557600080fd5b3462000c6d57602036600319011262000c6d576001600160401b036004351162000c6d576101a06004353603600319011262000c6d57610220604052600435600401356080526200007b60246004350162000cd8565b60a052600435604481013560c052606481013560e05260848101356101005260a48101356101205260c48101356101405260e4810135610160526101048101356101805261012401356001600160401b038111620005ff576004350160406003198236030112620005ff5760405190620000f58262000c70565b6004810135600381101562000b3a5782526024810135906001600160401b03821162000b3a576101e08183013603600319011262000b3a5760405191826101608101106001600160401b0361016085011117620006385761016083016040526200016460048284010162000cd8565b83526024818301013560208401526001600160401b03604482840101351162000ba8576200019e3683830160448101350160040162000cf2565b6040840152606481830101356001600160401b03811162000b9057620001cd9060043691848601010162000cf2565b606084015260a08282013603608319011262000ba857604051620001f18162000c70565b60848284010135600381101562000c695781526080838301360360a319011262000b90576040518060808101106001600160401b0360808301111762000b7c57608081016040526200024860a48486010162000d4d565b815283830160c48101356020830152620002659060e40162000d4d565b60408201526200027b6101048486010162000d4d565b60608201526020820152608084015261012481830101356001600160401b03811162000b9057620002b59060043691848601010162000cf2565b60a08401526001600160401b0361014482840101351162000ba8576101c491620002ec368383016101448101350160040162000cf2565b60c085015280820161016481013560e08601526200030e906101840162000cd8565b610100850152016101a4810135610120840152013561014082015260208201526101a05260043561014401356003811015620005ff576101c052620003596004356101640162000cd8565b6101e0526200036e6004356101840162000cd8565b610200527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b5460a081901c60ff1615801562000c5f575b1562000c1a5733300362000be4575b5030330362000bb0577ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d465460405163e68f909d60e01b815291908190839060049082906001600160a01b03165afa9182156200062b5781926200064c575b5060a08201516103a083015161014084015160405162503e1360e01b60208201526001600160a01b039384169390928116916200046c9184916200045d911660806024840162000fab565b03601f19810184528362000cb6565b6040519283610cb28101106001600160401b03610cb286011117620006385791620004bd918493610cb262000fd68639610cb285019081526020810191909152606060408201819052019062000da6565b039082f080156200062b57610140909201516001600160a01b039283169216803b15620005ff5781604051809263a377732160e01b8252856004830152604060248301528183816200051460448201608062000de8565b03925af1801562000620576200060e575b5090803b15620005ff57604051635bf24d9760e01b8152602060048201528281806200055660248201608062000de8565b038183865af180156200060357620005e7575b50602091507fbf304854c6c71cab67e525acfbaa006dbd6a8d86ed6a72ab2e4c90981701374260405180620005a18460808362000fab565b0390a1333003620005b5575b604051908152f35b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff60a01b19169055620005ad565b620005f3839162000ca2565b620005ff578162000569565b5080fd5b6040513d85823e3d90fd5b620006199062000ca2565b3862000525565b6040513d84823e3d90fd5b50604051903d90823e3d90fd5b634e487b7160e01b85526041600452602485fd5b9091503d908183823e62000661828262000cb6565b602081838101031262000bac5780516001600160401b03811162000b3a576104e0818301848401031262000b3a5760405192836104208101106001600160401b036104208601111762000638576104208401604052620006c382840162000d62565b8452620006d560208385010162000d62565b6020850152620006ea60408385010162000d62565b6040850152620006ff60608385010162000d62565b60608501526200071460808385010162000d62565b60808501526200072960a08385010162000d62565b60a08501526200073e60c08385010162000d62565b60c08501526200075360e08385010162000d62565b60e0850152620007696101008385010162000d62565b610100850152620007806101208385010162000d62565b610120850152620007976101408385010162000d62565b610140850152620007ae6101608385010162000d62565b610160850152620007c56101808385010162000d62565b610180850152620007dc6101a08385010162000d62565b6101a08501526060838301828501036101bf19011262000ba8576040518060608101106001600160401b0360608301111762000b9457606081016040526101c09081848601015181526101e08486010151602082015261020091828587010151604083015286015261022062000856818587010162000d62565b6101e0870152610240916200086f838688010162000d62565b908701526102609062000886828688010162000d62565b90870152610280916200089d838688010162000d62565b908701526102a0848601015190860152620008be6102c08486010162000d62565b908501526102e082840101516001600160401b03811162000b905760208184860101838601031262000b9057604051908160208101106001600160401b0360208401111762000b7c57602082016040528084860101516001600160401b03811162000b7857838601601f8284888a01010101121562000b78578082868801010151906001600160401b03821162000b64578160051b9162000966602084016020870162000cb6565b6020850152604084019185880160208284878b8d01010101011162000b60579060208185898b01010101925b60208383878b8d0101010101841062000b3e5750505060208301835250506102a085015260a090620009ca8484016103000162000d62565b6102c08601528383019084010361031f19011262000b3a57604051918260a08101106001600160401b0360a085011117620006385762000b2e916104c09160a0850160405261032062000a21818484010162000d77565b86526103409562000a36878585010162000d77565b602082015261036090818585010151604082015261038062000a5c818787010162000d77565b60608301526103a09182878701015160808201526102e08b01526103c09262000a89848888010162000d62565b6103008c01526103e09462000aa2868989010162000d62565b908c01526104009962000ab98b8989010162000d62565b908c015262000ace6104208888010162000d62565b908b015262000ae36104408787010162000d62565b908a015262000af86104608686010162000d62565b9089015262000b0d6104808585010162000d62565b9088015262000b226104a08484010162000d62565b90870152010162000d62565b90820152903862000412565b8380fd5b9060208080949362000b508762000d62565b8152019401939091925062000992565b8980fd5b634e487b7160e01b89526041600452602489fd5b8780fd5b634e487b7160e01b87526041600452602487fd5b8580fd5b634e487b7160e01b86526041600452602486fd5b8480fd5b8280fd5b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b60ff60a01b1916600160a01b177ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b5538620003b4565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50333014620003a5565b8680fd5b80fd5b604081019081106001600160401b0382111762000c8c57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811162000c8c57604052565b90601f801991011681019081106001600160401b0382111762000c8c57604052565b35906001600160a01b038216820362000ced57565b600080fd5b81601f8201121562000ced578035906001600160401b03821162000c8c576040519262000d2a601f8401601f19166020018562000cb6565b8284526020838301011162000ced57816000926020809301838601378301015290565b35906001600160801b038216820362000ced57565b51906001600160a01b038216820362000ced57565b5190811515820362000ced57565b6003111562000d9057565b634e487b7160e01b600052602160045260246000fd5b919082519283825260005b84811062000dd3575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520162000db1565b908151815260018060a01b03916020928084830151168484015260408201516040840152606082015160608401526080820151608084015260a082015160a084015260c082015160c084015260e082015160e08401526101009384830151858501526101208262000f5183838701516101a080868b015281519062000e6d8262000d85565b8a015201519360406101c089015262000f3a62000eb1848751166101e090818c0152838801516102008c01526040880151906102208c01526103c08b019062000da6565b60608701516101df198b830381016102408d0152939162000ed29162000da6565b9060608160808a01518d61026082519162000eed8362000d85565b0152015180516001600160801b039081166102808f0152928101516102a08e0152604081015183166102c08e01520151166102e08b015260a08701518a820384016103008c015262000da6565b9060c086015190898303016103208a015262000da6565b9660e084015161034088015283015116610360860152810151610380850152610140809101516103a0850152808301519062000f8d8262000d85565b84015261016081818401511690840152610180809201511691015290565b9062000fc560209194939460408452604084019062000de8565b6001600160a01b0390941691015256fe604060808152346200030c5762000cb2803803806200001e8162000311565b9283398101906060818303126200030c576200003a816200034d565b916020926200004b8484016200034d565b8584015190936001600160401b0391908282116200030c57019280601f850112156200030c5783519362000089620000838662000362565b62000311565b94808652878601928882840101116200030c578288620000aa93016200037e565b823b15620002b2577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03199081166001600160a01b0386811691821790935590959194600093909290917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2805115801590620002aa575b620001fb575b50505050507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103937f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f86865493815196818616885216958684820152a18315620001a95750161790555161085590816200045d8239f35b60849086519062461bcd60e51b82526004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b895194606086019081118682101762000296578a52602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c89860152660819985a5b195960ca1b8a86015251620002809493929183918291845af4903d156200028c573d62000270620000838262000362565b90815280938a3d92013e620003a3565b50388080808062000133565b60609250620003a3565b634e487b7160e01b85526041600452602485fd5b50836200012d565b865162461bcd60e51b815260048101879052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033757604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200030c57565b6001600160401b0381116200033757601f01601f191660200190565b60005b838110620003925750506000910152565b818101518382015260200162000381565b91929015620004085750815115620003b9575090565b3b15620003c35790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156200041c5750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526200044e81518092816024860152602086860191016200037e565b601f01601f19168101030190fdfe60806040526004361015610018575b366100a6576100a6565b6000803560e01c80636e9960c3146100725763aaf10f421461003a575061000e565b3461006f578060031936011261006f57600080516020610800833981519152546040516001600160a01b039091168152602090f35b80fd5b503461006f578060031936011261006f576000805160206107e0833981519152546001600160a01b03166080908152602090f35b6000805160206107e0833981519152546001600160a01b031633036101c6576000356001600160e01b031916631b2ce7f360e11b81036100f157506100e9610426565b602081519101f35b63278f794360e11b810361010d57506101086105c8565b6100e9565b6308f2839760e41b81036101245750610108610350565b6303e1469160e61b810361013b5750610108610275565b635c60da1b60e01b03610150576101086102ae565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a490fd5b60008051602061080083398151915254600090819081906001600160a01b0316368280378136915af43d82803e156101fc573d90f35b3d90fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761023257604052565b610200565b6020810190811067ffffffffffffffff82111761023257604052565b90601f8019910116810190811067ffffffffffffffff82111761023257604052565b61027d610659565b60018060a01b036000805160206107e08339815191525416604051906020820152602081526102ab81610216565b90565b6102b6610659565b60018060a01b036000805160206108008339815191525416604051906020820152602081526102ab81610216565b600435906001600160a01b03821682036102fa57565b600080fd5b60209060031901126102fa576004356001600160a01b03811681036102fa5790565b67ffffffffffffffff811161023257601f01601f191660200190565b6040519061034a82610237565b60008252565b610358610659565b366004116102fa576001600160a01b0380610372366102ff565b166000805160206107e0833981519152917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f604084549281519084168152846020820152a181156103d2576001600160a01b0319161790556102ab61033d565b60405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b61042e610659565b366004116102fa576001600160a01b03610447366102ff565b166040519061045582610237565b60008252803b156104ec5760008051602061080083398151915280546001600160a01b03191682179055807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906104e4575b6104ca575b50506040516104c381610237565b6000815290565b6104dc916104d6610660565b916106ba565b5038806104b5565b5060006104b0565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b803b156104ec5760008051602061080083398151915280546001600160a01b0319166001600160a01b0383169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906105c0575b6105b1575050565b6105bd916104d6610660565b50565b5060016105a9565b366004116102fa5760403660031901126102fa576105e46102e4565b6024359067ffffffffffffffff82116102fa57366023830112156102fa5781600401359061061182610321565b9161061f6040519384610253565b80835236602482860101116102fa576020816000926024610651970183870137840101526001600160a01b0316610547565b6102ab61033d565b346102fa57565b604051906060820182811067ffffffffffffffff8211176102325760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b6000806102ab9493602081519101845af43d156106f9573d916106dc83610321565b926106ea6040519485610253565b83523d6000602085013e61074d565b60609161074d565b1561070857565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9192901561076d5750815115610761575090565b6102ab903b1515610701565b8251909150156107805750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106107c6575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506107a356feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c61acf3b60fe54f1c7b5e35eb3227d4fadb64a46e27a14985085e09c0322a78c64736f6c63430008120033a2646970667358221220a28268a22425a55ba89ba5324132015b87b95099098d6630e1f9efec5003ab7a64736f6c63430008120033"; + "0x6080806040523461001657611a88908161001c8239f35b600080fdfe60043610156200000e57600080fd5b6000803560e01c6380270225146200002557600080fd5b3462000a1d5760031960203682011262000616576001600160401b036004351162000616576101a0816004353603011262000616576102206040526004356004013563ffffffff8116810362000957576080526200008860246004350162000aac565b60a052600435604481013560c052606481013560e05260848101356101005260a48101356101205260c48101356101405260e4810135610160526101048101356101805261012401356001600160401b038111620009575760043501906040818336030112620009575760405191620001018362000a44565b6004810135600381101562000a205783526024810135916001600160401b03831162000a20576101e0908383013603011262000a405760405191826101608101106001600160401b03610160850111176200064f5761016083016040526200016e60048284010162000aac565b83526024818301013560208401526001600160401b03604482840101351162000a2057620001a83683830160448101350160040162000ac6565b60408401526001600160401b03606482840101351162000a2057620001d93683830160648101350160040162000ac6565b606084015260a08282013603608319011262000a2057604051620001fd8162000a44565b60848284010135600381101562000a3c5781526080838301360360a319011262000a24576040518060808101106001600160401b0360808301111762000a2857608081016040526200025460a48486010162000b21565b815283830160c48101356020830152620002719060e40162000b21565b6040820152620002876101048486010162000b21565b60608201526020820152608084015261012481830101356001600160401b03811162000a2457620002c19060043691848601010162000ac6565b60a08401526001600160401b0361014482840101351162000a20576101c491620002f8368383016101448101350160040162000ac6565b60c085015280820161016481013560e08601526200031a906101840162000aac565b610100850152016101a4810135610120840152013561014082015260208201526101a05260026004356101440135101562000a1d576004356101448101356101c0526200036b906101640162000aac565b6101e052620003806004356101840162000aac565b610200527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a5460a081901c60ff1615801562000a13575b15620009ce5733300362000998575b5030330362000964577ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d465460405163e68f909d60e01b815291906103e090839060049082906001600160a01b03165afa9182156200064257819262000663575b5060808281015161032084015161012085015160405162503e1360e01b60208201526001600160a01b0393841694909392831692620004839285926200047492909116906024840162000d76565b03601f19810184528362000a8a565b6040519283610cb28101106001600160401b03610cb2860111176200064f5791620004d4918493610cb262000da18639610cb285019081526020810191909152606060408201819052019062000b6c565b039082f080156200064257610120909201516001600160a01b039283169216803b1562000616578160405180926303bfa11960e31b8252856004830152604060248301528183816200052b60448201608062000bae565b03925af18015620006375762000625575b5090803b156200061657604051630d42a43960e01b8152602060048201528281806200056d60248201608062000bae565b038183865af180156200061a57620005fe575b50602091507f289cf98de109506cdfed6b8ebb60d5a678d396822eef5c440c5d7803fa06792c60405180620005b88460808362000d76565b0390a1333003620005cc575b604051908152f35b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff60a01b19169055620005c4565b6200060a839162000a76565b62000616578162000580565b5080fd5b6040513d85823e3d90fd5b620006309062000a76565b386200053c565b6040513d84823e3d90fd5b50604051903d90823e3d90fd5b634e487b7160e01b85526041600452602485fd5b9091506103e0903d6103e0116200095b575b62000681828262000a8a565b6103e0818381010312620009575760405191826103a08101106001600160401b036103a08501111762000943576060906103a08401604052620006c48362000b36565b8452620006d46020840162000b36565b6020850152620006e76040840162000b36565b6040850152620006f982840162000b36565b828501526200070b6080840162000b36565b60808501526200071e60a0840162000b36565b60a08501526200073160c0840162000b36565b60c08501526200074460e0840162000b36565b60e085015262000758610100840162000b36565b6101008501526200076d610120840162000b36565b61012085015262000782610140840162000b36565b61014085015262000797610160840162000b36565b610160850152620007ac610180840162000b36565b610180850152820182900361019f1901126200095757604051908160608101106001600160401b0360608401111762000943576103c06200093791606084016040526101a081015184526101c0938482015160208201526101e082015160408201526101a0860152610200936200082585830162000b36565b908601526102206200083981830162000b36565b6101e0870152610240946200085086840162000b36565b90870152610260908183015190870152610280946200087186840162000b36565b908701526102a0906200088682840162000b36565b908701526102c0946200089b86840162000b36565b908701526102e090620008b082840162000b36565b9087015261030094620008c586840162000b36565b9087015261032090620008da82840162000b36565b9087015261034094620008ef86840162000b36565b90870152610360906200090482840162000b36565b90870152610380946200091986840162000b36565b908701526200092c6103a0830162000b36565b908601520162000b36565b90820152903862000426565b634e487b7160e01b84526041600452602484fd5b8280fd5b3d915062000675565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b60ff60a01b1916600160a01b177ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a5538620003c6565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50333014620003b7565b80fd5b8480fd5b8580fd5b634e487b7160e01b87526041600452602487fd5b8680fd5b8380fd5b604081019081106001600160401b0382111762000a6057604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811162000a6057604052565b90601f801991011681019081106001600160401b0382111762000a6057604052565b35906001600160a01b038216820362000ac157565b600080fd5b81601f8201121562000ac1578035906001600160401b03821162000a60576040519262000afe601f8401601f19166020018562000a8a565b8284526020838301011162000ac157816000926020809301838601378301015290565b35906001600160801b038216820362000ac157565b51906001600160a01b038216820362000ac157565b6003111562000b5657565b634e487b7160e01b600052602160045260246000fd5b919082519283825260005b84811062000b99575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520162000b77565b9063ffffffff825116815260018060a01b03916020928084830151168484015260408201516040840152606082015160608401526080820151608084015260a082015160a084015260c082015160c084015260e082015160e08401526101009384830151858501526101208262000d1d83838701516101a080868b015281519062000c398262000b4b565b8a015201519360406101c089015262000d0662000c7d848751166101e090818c0152838801516102008c01526040880151906102208c01526103c08b019062000b6c565b60608701516101df198b830381016102408d0152939162000c9e9162000b6c565b9060608160808a01518d61026082519162000cb98362000b4b565b0152015180516001600160801b039081166102808f0152928101516102a08e0152604081015183166102c08e01520151166102e08b015260a08701518a820384016103008c015262000b6c565b9060c086015190898303016103208a015262000b6c565b9660e084015161034088015283015116610360860152810151610380850152610140809101516103a08501528083015190600282101562000b565784015261016081818401511690840152610180809201511691015290565b9062000d9060209194939460408452604084019062000bae565b6001600160a01b0390941691015256fe604060808152346200030c5762000cb2803803806200001e8162000311565b9283398101906060818303126200030c576200003a816200034d565b916020926200004b8484016200034d565b8584015190936001600160401b0391908282116200030c57019280601f850112156200030c5783519362000089620000838662000362565b62000311565b94808652878601928882840101116200030c578288620000aa93016200037e565b823b15620002b2577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03199081166001600160a01b0386811691821790935590959194600093909290917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2805115801590620002aa575b620001fb575b50505050507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103937f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f86865493815196818616885216958684820152a18315620001a95750161790555161085590816200045d8239f35b60849086519062461bcd60e51b82526004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b895194606086019081118682101762000296578a52602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c89860152660819985a5b195960ca1b8a86015251620002809493929183918291845af4903d156200028c573d62000270620000838262000362565b90815280938a3d92013e620003a3565b50388080808062000133565b60609250620003a3565b634e487b7160e01b85526041600452602485fd5b50836200012d565b865162461bcd60e51b815260048101879052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033757604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200030c57565b6001600160401b0381116200033757601f01601f191660200190565b60005b838110620003925750506000910152565b818101518382015260200162000381565b91929015620004085750815115620003b9575090565b3b15620003c35790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156200041c5750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526200044e81518092816024860152602086860191016200037e565b601f01601f19168101030190fdfe60806040526004361015610018575b366100a6576100a6565b6000803560e01c80636e9960c3146100725763aaf10f421461003a575061000e565b3461006f578060031936011261006f57600080516020610800833981519152546040516001600160a01b039091168152602090f35b80fd5b503461006f578060031936011261006f576000805160206107e0833981519152546001600160a01b03166080908152602090f35b6000805160206107e0833981519152546001600160a01b031633036101c6576000356001600160e01b031916631b2ce7f360e11b81036100f157506100e9610426565b602081519101f35b63278f794360e11b810361010d57506101086105c8565b6100e9565b6308f2839760e41b81036101245750610108610350565b6303e1469160e61b810361013b5750610108610275565b635c60da1b60e01b03610150576101086102ae565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a490fd5b60008051602061080083398151915254600090819081906001600160a01b0316368280378136915af43d82803e156101fc573d90f35b3d90fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761023257604052565b610200565b6020810190811067ffffffffffffffff82111761023257604052565b90601f8019910116810190811067ffffffffffffffff82111761023257604052565b61027d610659565b60018060a01b036000805160206107e08339815191525416604051906020820152602081526102ab81610216565b90565b6102b6610659565b60018060a01b036000805160206108008339815191525416604051906020820152602081526102ab81610216565b600435906001600160a01b03821682036102fa57565b600080fd5b60209060031901126102fa576004356001600160a01b03811681036102fa5790565b67ffffffffffffffff811161023257601f01601f191660200190565b6040519061034a82610237565b60008252565b610358610659565b366004116102fa576001600160a01b0380610372366102ff565b166000805160206107e0833981519152917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f604084549281519084168152846020820152a181156103d2576001600160a01b0319161790556102ab61033d565b60405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b61042e610659565b366004116102fa576001600160a01b03610447366102ff565b166040519061045582610237565b60008252803b156104ec5760008051602061080083398151915280546001600160a01b03191682179055807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906104e4575b6104ca575b50506040516104c381610237565b6000815290565b6104dc916104d6610660565b916106ba565b5038806104b5565b5060006104b0565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b803b156104ec5760008051602061080083398151915280546001600160a01b0319166001600160a01b0383169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906105c0575b6105b1575050565b6105bd916104d6610660565b50565b5060016105a9565b366004116102fa5760403660031901126102fa576105e46102e4565b6024359067ffffffffffffffff82116102fa57366023830112156102fa5781600401359061061182610321565b9161061f6040519384610253565b80835236602482860101116102fa576020816000926024610651970183870137840101526001600160a01b0316610547565b6102ab61033d565b346102fa57565b604051906060820182811067ffffffffffffffff8211176102325760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b6000806102ab9493602081519101845af43d156106f9573d916106dc83610321565b926106ea6040519485610253565b83523d6000602085013e61074d565b60609161074d565b1561070857565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9192901561076d5750815115610761575090565b6102ab903b1515610701565b8251909150156107805750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106107c6575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506107a356feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b73d54cdeedb79ac10b05dcfd6196ca3c80a671a4fbd8a0e9e661d3360347dd764736f6c63430008120033a2646970667358221220d91f480492c5b0f17e9c9c0190a255d47a6c941a0bee7236a10c9d610b83102f64736f6c63430008120033"; type AccountDeployContractConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountDepositWithdrawEndowments__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountDepositWithdrawEndowments__factory.ts index 149852ebf..b5b9d0649 100644 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountDepositWithdrawEndowments__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/facets/AccountDepositWithdrawEndowments__factory.ts @@ -32,37 +32,10 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], indexed: false, - internalType: "struct AccountStorage.AllowanceData", + internalType: "uint256", name: "allowance", - type: "tuple", + type: "uint256", }, ], name: "AllowanceStateUpdatedTo", @@ -74,9 +47,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -129,29 +102,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -177,43 +150,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -228,7 +201,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -244,7 +217,7 @@ const _abi = [ ], indexed: false, internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", + name: "createdaomessage", type: "tuple", }, { @@ -263,13 +236,13 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -365,7 +338,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -378,21 +351,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -456,18 +414,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -475,12 +433,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -496,13 +459,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -526,17 +489,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -548,17 +511,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -570,14 +528,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -592,14 +545,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -614,17 +562,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -633,24 +576,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -665,31 +598,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -704,31 +627,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -743,31 +656,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -782,31 +685,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -821,31 +714,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -860,31 +743,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -899,31 +772,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -938,31 +801,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -984,24 +837,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1023,63 +866,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1094,31 +888,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1140,24 +924,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1179,24 +953,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1218,24 +982,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1257,24 +1011,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1296,24 +1040,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1337,9 +1071,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -1433,37 +1167,37 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { indexed: false, internalType: "address", - name: "curTokenin", + name: "tokenin", type: "address", }, { indexed: false, internalType: "address", - name: "curTokenout", + name: "tokenout", type: "address", }, { indexed: false, internalType: "uint256", - name: "curAmountout", + name: "amountout", type: "uint256", }, ], @@ -1493,23 +1227,65 @@ const _abi = [ name: "owner", type: "address", }, + { + internalType: "string", + name: "version", + type: "string", + }, { internalType: "address", name: "registrarContract", type: "address", }, { - internalType: "uint256", + internalType: "uint32", name: "nextAccountId", - type: "uint256", + type: "uint32", }, { internalType: "uint256", name: "maxGeneralCategoryId", type: "uint256", }, - ], - indexed: false, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + internalType: "bool", + name: "reentrancyGuardLocked", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, + ], + indexed: false, internalType: "struct AccountStorage.Config", name: "config", type: "tuple", @@ -1563,7 +1339,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1576,21 +1352,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -1654,18 +1415,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -1673,12 +1434,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -1694,13 +1460,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -1724,17 +1490,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1746,17 +1512,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1768,14 +1529,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1790,14 +1546,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1812,17 +1563,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1831,24 +1577,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1863,31 +1599,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1902,31 +1628,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1941,31 +1657,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1980,31 +1686,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2019,31 +1715,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2058,31 +1744,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2097,31 +1773,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2136,31 +1802,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2182,24 +1838,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2221,63 +1867,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2292,31 +1889,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2338,24 +1925,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2377,24 +1954,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2416,24 +1983,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2455,24 +2012,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2494,24 +2041,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2535,9 +2072,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -2582,136 +2119,13 @@ const _abi = [ type: "event", }, { - anonymous: false, inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, { components: [ { - components: [ - { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", - type: "tuple", - }, - { - internalType: "bool", - name: "closingEndowment", - type: "bool", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", - type: "tuple", - }, - ], - indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", - type: "tuple", - }, - ], - name: "UpdateEndowmentState", - type: "event", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "uint256", @@ -2725,23 +2139,23 @@ const _abi = [ }, ], internalType: "struct AccountMessages.DepositRequest", - name: "curDetails", + name: "details", type: "tuple", }, { internalType: "address", - name: "curTokenaddress", + name: "tokenAddress", type: "address", }, { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], name: "depositERC20", outputs: [], - stateMutability: "payable", + stateMutability: "nonpayable", type: "function", }, { @@ -2749,9 +2163,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "uint256", @@ -2765,11 +2179,11 @@ const _abi = [ }, ], internalType: "struct AccountMessages.DepositRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], - name: "depositEth", + name: "depositMatic", outputs: [], stateMutability: "payable", type: "function", @@ -2777,9 +2191,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", - name: "curId", - type: "uint256", + internalType: "uint32", + name: "id", + type: "uint32", }, { internalType: "enum AngelCoreStruct.AccountType", @@ -2788,18 +2202,23 @@ const _abi = [ }, { internalType: "address", - name: "curBeneficiary", + name: "beneficiaryAddress", type: "address", }, { - internalType: "address[]", - name: "curTokenaddress", - type: "address[]", + internalType: "uint32", + name: "beneficiaryEndowId", + type: "uint32", + }, + { + internalType: "address", + name: "tokenAddress", + type: "address", }, { - internalType: "uint256[]", - name: "curAmount", - type: "uint256[]", + internalType: "uint256", + name: "amount", + type: "uint256", }, ], name: "withdraw", @@ -2810,7 +2229,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001657614758908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c908163275aac9e1461004a575080634a122c6c146100455763665a62f31461004057600080fd5b61045a565b6102e5565b3461011e5760a036600319011261011e5760243561006781610121565b610072604435610130565b6001600160401b03906064358281116100fd57366023820112156100fd57806004013561009e81610240565b916100ac60405193846101c0565b81835260209160248385019160051b8301019136831161011a57602401905b82821061010157505050506084359283116100fd576100f16100fa933690600401610257565b9160043561321a565b80f35b8380fd5b838091833561010f81610130565b8152019101906100cb565b8780fd5b80fd5b6003111561012b57565b600080fd5b6001600160a01b0381160361012b57565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b0382111761017257604052565b610141565b602081019081106001600160401b0382111761017257604052565b6001600160401b03811161017257604052565b604081019081106001600160401b0382111761017257604052565b90601f801991011681019081106001600160401b0382111761017257604052565b6040519061042082018281106001600160401b0382111761017257604052565b6040519061010082018281106001600160401b0382111761017257604052565b6040519060c082018281106001600160401b0382111761017257604052565b6001600160401b0381116101725760051b60200190565b81601f8201121561012b5780359161026e83610240565b9261027c60405194856101c0565b808452602092838086019260051b82010192831161012b578301905b8282106102a6575050505090565b81358152908301908301610298565b606090600319011261012b57604051906102ce82610157565b600435825260243560208301526044356040830152565b606036600319011261012b576102fa366102b5565b61030261459a565b61030d341515610499565b60008051602061470383398151915254610337906001600160a01b03165b6001600160a01b031690565b60405191829163e68f909d60e01b835282600460009586935afa908115610431576004928492610436575b506103008201516020906103809061032b906001600160a01b031681565b604051631d727ceb60e21b8152948591829034905af1918215610431576103f19385936103f9575b506040518381526103eb916103c0917fa848a32340995bb12bf943995fb951bb27b67c71c4ffa1f4df96cfc7eab0d11b90602090a101516001600160a01b031690565b90612040565b6100fa61463b565b6103eb9193506104226103c09160203d811161042a575b61041a81836101c0565b8101906108bc565b9391506103a8565b503d610410565b6108b0565b6104539192503d8086833e61044b81836101c0565b810190610620565b9038610362565b60a036600319011261012b5761048f610472366102b5565b60643561047e81610130565b61048661459a565b60843591610a34565b61049761463b565b005b156104a057565b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b6044820152606490fd5b51906104e182610130565b565b919082606091031261012b576040516104fb81610157565b604080829480518452602081015160208501520151910152565b91906020808483031261012b576040519061052f82610177565b81948051906001600160401b03821161012b57019280601f8501121561012b57835161055a81610240565b9461056860405196876101c0565b818652838087019260051b82010192831161012b578301905b82821061058f575050505052565b838091835161059d81610130565b815201910190610581565b5190811515820361012b57565b91908260a091031261012b5760405160a081018181106001600160401b038211176101725760405260808082946105eb816105a8565b84526105f9602082016105a8565b602085015260408101516040850152610614606082016105a8565b60608501520151910152565b9060208282031261012b5781516001600160401b039283821161012b57016104e08183031261012b576106516101e1565b9261065b826104d6565b8452610669602083016104d6565b602085015261067a604083016104d6565b604085015261068b606083016104d6565b606085015261069c608083016104d6565b60808501526106ad60a083016104d6565b60a08501526106be60c083016104d6565b60c08501526106cf60e083016104d6565b60e08501526101006106e28184016104d6565b908501526101206106f48184016104d6565b908501526101406107068184016104d6565b908501526101606107188184016104d6565b9085015261018061072a8184016104d6565b908501526101a061073c8184016104d6565b908501526101c061074f848285016104e3565b90850152610220916107628382016104d6565b6101e0860152610240936107778583016104d6565b6102008701526102609361078c8584016104d6565b908701526102809461079f8684016104d6565b908701526102a09384830151908701526102c0946107be8684016104d6565b908701526102e08083015193841161012b576108a9946107e3836104c0968601610515565b90880152610300956107f68785016104d6565b90880152610809610320928385016105b5565b908701526103c09461081c8684016104d6565b908701526103e09061082f8284016104d6565b90870152610400946108428684016104d6565b61034088015261085561042084016104d6565b61036088015261086861044084016104d6565b61038088015261087b61046084016104d6565b6103a088015261088e61048084016104d6565b9087015261089f6104a083016104d6565b90860152016104d6565b9082015290565b6040513d6000823e3d90fd5b9081602091031261012b575190565b156108d257565b60405162461bcd60e51b8152602060048201526015602482015274496e76616c696420546f6b656e204164647265737360581b6044820152606490fd5b9081602091031261012b57610923906105a8565b90565b9092919260408201604083528151809152606083019060208093019060005b8482821061095f57505050509360018060a01b0316910152565b83516001600160a01b031685529384019390920191600101610945565b1561098357565b60405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2102a37b5b2b760991b6044820152606490fd5b156109bf57565b60405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b156109fd57565b60405162461bcd60e51b815260206004820152600f60248201526e105c1c1c9bdd985b0819985a5b1959608a1b6044820152606490fd5b9091906001600160a01b038084169190610a749061032b90610a578515156108cb565b60008051602061470383398151915254166001600160a01b031690565b6040805193849263e68f909d60e01b845283600460009586935afa80156104315787958491610cf9575b506102a0810151518351906312f1ee0960e01b82528180610ac660209c8d9460048401610926565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4801561043157610af6918691610cdc575b5061097c565b82516323b872dd60e01b815233600482015230602482015260448101889052888160648188875af1801561043157610b35918691610cbf575b506109b8565b61030081018051845163095ea7b360e01b81526001600160a01b039091166004820152602481018990529091898260448189885af1918215610431576103c092610b86918891610c92575b506109f6565b018051909290610b9e906001600160a01b031661032b565b03610bb157505050506104e19350612040565b519295610c089592949391928892610bd39061032b906001600160a01b031681565b86516379470bc960e01b81526001600160a01b0390921660048301526024820192909252958691908290899082906044820190565b03925af1938415610431577fa848a32340995bb12bf943995fb951bb27b67c71c4ffa1f4df96cfc7eab0d11b96610c649695610c69575b505051610c569184916001600160a01b03166103eb565b519081529081906020820190565b0390a1565b6103eb9550610c56939181610c8992903d1061042a5761041a81836101c0565b94819350610c3f565b610cb291508c8d3d10610cb8575b610caa81836101c0565b81019061090f565b38610b80565b503d610ca0565b610cd691508a3d8c11610cb857610caa81836101c0565b38610b2f565b610cf391508a3d8c11610cb857610caa81836101c0565b38610af0565b610d0d91503d8086833e61044b81836101c0565b38610a9e565b6000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b15610d4957565b60405162461bcd60e51b815260206004820152602c60248201527f4465706f7369747320617265206e6f7420617070726f76656420666f7220746860448201526b1a5cc8195b991bdddb595b9d60a21b6064820152608490fd5b15610daa57565b60405162461bcd60e51b815260206004820152601360248201527224b73b30b634b21022a9219918103a37b5b2b760691b6044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b91908201809211610e0857565b610de5565b15610e1457565b60405162461bcd60e51b815260206004820152600c60248201526b125b9d985b1a5914dc1b1a5d60a21b6044820152606490fd5b15610e4f57565b60405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742046756e647360701b6044820152606490fd5b15610e9057565b60405162461bcd60e51b815260206004820152601560248201527410dbdb9d1c9858dd139bdd10dbdb999a59dd5c9959605a1b6044820152606490fd5b634e487b7160e01b600052602160045260246000fd5b60031115610eed57565b610ecd565b919082604091031261012b576020825192015190565b600091031261012b57565b90815480825260208092019260005281600020916000905b828210610f39575050505090565b835485529384019360019384019390910190610f2b565b90815480825260208092019260005281600020916000905b828210610f76575050505090565b83546001600160a01b031685529384019360019384019390910190610f68565b906002610923928054835260606020840152610fb86060840160018301610f13565b92604081850391015201610f50565b60041115610eed57565b8054825260018101546001600160a01b031660208301526002015460ff1690604090610ffc83610fc7565b0152565b9161092391835260406020840152805460408401526001810154606084015260e060808401526040610120840152600960c061105d611046610160870160028601610f96565b86810361011f190161014088015260058501610f96565b600884015460ff16151560a087015294019101610fd1565b90600182811c921680156110a5575b602083101461108f57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611084565b8181106110ba575050565b600081556001016110af565b9190601f81116110d557505050565b6104e1926000526020600020906020601f840160051c83019310611101575b601f0160051c01906110af565b90915081906110f4565b9190918281146111f45761111f8354611075565b6001600160401b038111610172576111418161113b8454611075565b846110c6565b600093601f821160011461117d579381929394600092611172575b50508160011b916000199060031b1c1916179055565b01549050388061115c565b611191601f19831691600052602060002090565b946111a184600052602060002090565b91815b8181106111dc575095836001959697106111c3575b505050811b019055565b015460001960f88460031b161c191690553880806111b9565b878301548455600193840193909201916020016111a4565b509050565b81810292918115918404141715610e0857565b90600160401b81116101725781549080835581811061122a57505050565b6104e192600052602060002091820191016110af565b81811461129e578154916001600160401b03831161017257611262838361120c565b60005260206000209060005260206000208154916000925b848410611288575050505050565b600180919201938454928185015501929061127a565b5050565b8181036112ad575050565b600180836112be6104e19585611240565b019101611240565b906112d081610ee3565b60ff80198354169116179055565b906112d081610fc7565b81811461129e57815491600160401b8311610172578154838355808410611356575b5061131d61132991600052602060002090565b91600052602060002090565b906000905b83821061133b5750505050565b806113486001928561110b565b92810192918101910161132e565b6000838152846020822092830192015b82811061137457505061130a565b8061138160019254611075565b8061138e575b5001611366565b601f9081811184146113a65750508281555b38611387565b836113c8926113ba85600052602060002090565b920160051c820191016110af565b600081815260208120818355556113a0565b8181036113e5575050565b600380836113f66104e195856112e8565b6114066001820160018601611240565b6112be60028201600286016112e8565b90808203611422575050565b60038161144060ff83945416859060ff801983541691151516179055565b8054845461ff001916600891821c60ff16151590911b61ff00161784556001810154600185015561148760ff600283015416600286019060ff801983541691151516179055565b0154910155565b81811461129e578154916001600160401b038311610172576114b0838361120c565b60005260206000209060005260206000208154916000925b8484106114d6575050505050565b600191820180546001600160a01b03909216848601559390910192906114c8565b818103611502575050565b815481546001600160a01b0319166001600160a01b03919091161781556104e19160029060ff9082906001810154600186015501541691019060ff801983541691151516179055565b90808203611557575050565b61157160ff825416839060ff801983541691151516179055565b8054825461ff001916600891821c60ff16151590911b61ff00161782558054825462ff00001916601091821c60ff16151590911b62ff0000161782556001820160018201918282036115c4575b50505050565b915481546001600160a01b0319166001600160a01b0391909116179055600290810154910155388080806115be565b8181036115fe575050565b6033808361160f6104e1958561154b565b61161f600382016003860161154b565b61162f600682016006860161154b565b61163f600982016009860161154b565b61164f600c8201600c860161154b565b61165f600f8201600f860161154b565b61166f601282016012860161154b565b61167f601582016015860161154b565b61168f601882016018860161154b565b61169f601b8201601b860161154b565b6116af601e8201601e860161154b565b6116bf602182016021860161154b565b6116cf602482016024860161154b565b6116df602782016027860161154b565b6116ef602a8201602a860161154b565b6116ff602d8201602d860161154b565b61170f603082016030860161154b565b01910161154b565b90808203611723575050565b6002818192548455600181015460018501550154910155565b90808203611748575050565b805482546001600160a01b0319166001600160a01b039091161782556067908190611779600182016001860161110b565b61178960028201600286016112a2565b600481015460048501556117ad6117a4600583015460ff1690565b600586016112c6565b6117bd600682016006860161110b565b6117cd600782016007860161110b565b6118336008850161181b600884016117ef6117e9825460ff1690565b846112de565b80546118119060081c60ff16845461ff00191690151560081b61ff0016178455565b5460101c60ff1690565b815462ff0000191690151560101b62ff000016179055565b6009810154600985015561184d600a8201600a86016113da565b61185d600e8201600e86016113da565b61186d6012820160128601611416565b61189361187e601683015460ff1690565b601686019060ff801983541691151516179055565b601781810154908501556018808201549085015560198082015490850155601a8082015490850180546001600160a01b039283166001600160a01b031991821617909155601b8084018054918801805490931691909316178155611919916118ff905460a01c60ff1690565b815460ff60a01b191690151560a01b60ff60a01b16179055565b601c8181015490850180546001600160a01b0319166001600160a01b0390921691909117905561194f601d8201601d860161148e565b61195f601e8201601e860161148e565b61196f601f8201601f860161148e565b61197f60208201602086016114f7565b61198f60238201602386016114f7565b61199f60268201602686016114f7565b6119af60298201602986016114f7565b6119bf602c8201602c86016115f3565b606281015460628501556119ef6119da606383015460ff1690565b606386019060ff801983541691151516179055565b6114876064820160648601611717565b9060009291805491611a1083611075565b918282526001938481169081600014611a715750600114611a315750505050565b90919394506000526020928360002092846000945b838610611a5d5750505050010190388080806115be565b805485870183015294019385908201611a46565b9294505050602093945060ff191683830152151560051b010190388080806115be565b9060016109239260408352611aac6040840182610f13565b92602081850391015201610f13565b90611ac582610ee3565b52565b90611ac582610fc7565b9080825490818152602080910192818360051b8201019460005281600020936000915b848310611b055750505050505090565b909192939495846001611b228193601f198682030187528a6119ff565b9801930193019194939290611af5565b9060036109239260808352611b72611b61611b506080860184611ad2565b858103602087015260018401610f13565b848103604086015260028301611ad2565b92606081850391015201610f13565b600260809160ff815481811615158652818160081c161515602087015260101c161515604085015260018060a01b0360018201541660608501520154910152565b6033610aa06104e193611bd58185611b81565b611be560a0820160038601611b81565b611bf6610140820160068601611b81565b611c076101e0820160098601611b81565b611c186102808201600c8601611b81565b611c296103208201600f8601611b81565b611c3a6103c0820160128601611b81565b611c4b610460820160158601611b81565b611c5c610500820160188601611b81565b611c6d6105a08201601b8601611b81565b611c7e6106408201601e8601611b81565b611c8f6106e0820160218601611b81565b611ca0610780820160248601611b81565b611cb1610820820160278601611b81565b611cc26108c08201602a8601611b81565b611cd36109608201602d8601611b81565b611ce4610a00820160308601611b81565b019101611b81565b90815260406020820181905282546001600160a01b03169082015261112060608201526111406067611f23611d286111608501600187016119ff565b611f0f611efb611e13611dff611da2611d8e8b611d7b8c60c0611d736005611d60603f199d8e86820301608087015260028801611a94565b95600481015460a0860152015460ff1690565b910190611abb565b878c82030160e08d015260068d016119ff565b868b8203016101008c015260078c016119ff565b611de060088c0154611dbb6101208d0160ff8316611ac8565b611dd06101408d0160ff8360081c1615159052565b60101c60ff1615156101608c0152565b60098b01546101808b0152858a8203016101a08b0152600a8b01611b32565b84898203016101c08a0152600e8a01611b32565b611e5a6101e0890160128b01600360809160ff81548181161515865260081c16151560208501526001810154604085015260ff600282015416151560608501520154910152565b611e75611e6b60168b015460ff1690565b15156102808a0152565b60178901546102a089015260188901546102c089015260198901546102e0890152601a8901546001600160a01b0316610300890152601b8901546001600160a01b0381166103208a0152611ed39060a01c60ff1615156103408a0152565b601c8901546001600160a01b03166103608901528388820301610380890152601d8901610f50565b82878203016103a0880152601e8801610f50565b90858203016103c0860152601f8601610f50565b60208501546001600160a01b03166103e08501526021850154610400850152602285015460ff1615156104208501529360238101546001600160a01b03166104408501526024810154610460850152602581015460ff16151561048085015260268101546001600160a01b03166104a085015260278101546104c0850152602881015460ff1615156104e085015260298101546001600160a01b0316610500850152602a810154610520850152602b81015460ff161515610540850152611ff16105608501602c8301611bc2565b60628101546110a085015261201761200d606383015460ff1690565b15156110c0860152565b60648101546110e085015260658101546111008501526066810154611120850152015491015290565b909161207682516000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b9161209161208c600885015460ff9060081c1690565b610d42565b6001600160a01b0384166120a6811515610da3565b60208201938451936040946120cb60646120c588880193845190610dfb565b14610e0d565b60008051602061470383398151915280549093906120f39061032b906001600160a01b031681565b918751988996879463e68f909d60e01b8652600098899160049d8e915afa948515610431578895612851575b5060268401908a898d612136602889015460ff1690565b80612844575b80612828575b61277a575b5050505050519051886101c08501518b61218a61032b84890161217d61217661032b835160018060a01b031690565b1515610e89565b516001600160a01b031690565b3303612595575b5050506121a8906121af6121a86121b594886111f9565b6064900490565b956111f9565b926121c08751610d13565b6121cb828254610dfb565b905560016121d98851610d13565b016121e5858254610dfb565b9055600582015460ff166121f881610ee3565b80158061258c575b8061256c575b1561247d57506101808301516122269061032b906001600160a01b031681565b87516101e094909401516001600160a01b031693813b1561011a57895163d61e991b60e01b8152808c01918252602082018490523260408301526001600160a01b0390951660608201528791859182908490829060800103925af1928315610431576122a79361246a575b505b865185546001600160a01b03169290612f30565b92909173__$2e6ee47b30d794e0597b4af30f16ddb84c$__9360026122cc8851610d13565b01853b15612466578851631bccc68560e21b808252818c019283526001600160a01b038d1660208401526040830196909652949594939291908790859081906060010381885af49384156104315761233794612453575b50875192546001600160a01b031692612c0c565b96909260056123468751610d13565b0193833b1561244f5787519182529181019384526001600160a01b039098166020840152604083015286918290819060600103915af4908115610431577f364502d723e5ab665a7fdb51cffd24931248ebbf2a52d809c6fd1e9005b4dd9e94610c6492612436575b507f758243dab8e0b86a43e2f0b0d6e842211dc46a791072e017f73e274b81ad1e5281516123db81610d13565b906123ea865192839283611000565b0390a161242a8461242583516000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b61173c565b51915192839283611cec565b8061244361244992610192565b80610f08565b386123ae565b8580fd5b8061244361246092610192565b38612323565b8680fd5b8061244361247792610192565b38612291565b600191935061248b81610ee3565b148061254d575b80612544575b6124a6575b6122a791612293565b601c8101546124bf9061032b906001600160a01b031681565b8651601b8301546001600160a01b0316939190813b1561011a57895163d61e991b60e01b8152808c01918252602082018490523260408301526001600160a01b0390951660608201528791859182908490829060800103925af1928315610431576122a793612531575b50915061249d565b8061244361253e92610192565b38612529565b50811515612498565b50601c810154612565906001600160a01b031661032b565b1515612492565b50610180840151612585906001600160a01b031661032b565b1515612206565b50811515612200565b9091926125a6600587015460ff1690565b6125af81610ee3565b158015612761575b1561269857612617906125ce606388015460ff1690565b908551968795869563b9fb75c560e01b875286019260a09295949195604060c0860197805187526020810151602088015201516040860152606085015260808401521515910152565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af48015610431576121b5916121a8918891899161265e575b506121a86121af91925b9450508a9192508b612191565b6121a892506121af9150612687908c8d3d10612691575b61267f81836101c0565b810190610ef2565b9290929150612647565b503d612675565b9391506126f96126ac606387015460ff1690565b845163b9fb75c560e01b8152958694859460648a019086018154815260018201546020820152600290910154604082015260c081019493909260a092606085015260808401521515910152565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af48015610431576121b5916121a89188918991612737575b506121a86121af9192612651565b6121a892506121af9150612757908c8d3d106126915761267f81836101c0565b9290929150612729565b5060658601541580156125b757506064860154156125b7565b91602093916127e5959a936127b16127a361279c6121a860278e0154896111f9565b809761286d565b9c546001600160a01b031690565b925163a9059cbb60e01b81526001600160a01b03909316908301908152602081019490945290948593849291839160400190565b03925af180156104315761280091899161280a575b50610e48565b38808a898d612147565b612822915060203d8111610cb857610caa81836101c0565b386127fa565b50845461283d906001600160a01b031661032b565b1515612142565b506027880154151561213c565b6128669195503d808a833e61044b81836101c0565b933861211f565b91908203918211610e0857565b6000198114610e085760010190565b634e487b7160e01b600052603260045260246000fd5b80548210156128b75760005260206000200190600090565b612889565b60005b8381106128cf5750506000910152565b81810151838201526020016128bf565b81601f8201121561012b5780516001600160401b0381116101725760405192612912601f8301601f1916602001856101c0565b8184526020828401011161012b5761092391602080850191016128bc565b51906104e182610121565b81601f8201121561012b5780519161295283610240565b9261296060405194856101c0565b808452602092838086019260051b82010192831161012b578301905b82821061298a575050505090565b838091835161299881610121565b81520191019061297c565b5190600482101561012b57565b60208183031261012b5780516001600160401b039182821161012b5701916101008382031261012b576129e1610201565b92805183811161012b57826129f79183016128df565b845260208101516020850152612a0f604082016104d6565b6040850152612a20606082016104d6565b6060850152612a31608082016105a8565b608085015260a081015192831161012b57612a5360e092612a6f94830161293b565b60a0850152612a6460c08201612930565b60c0850152016129a3565b60e082015290565b9060206109239281815201906119ff565b15612a8f57565b60405162461bcd60e51b815260206004820152602860248201527f5661756c74206973206e6f7420617070726f76656420746f20616363657074206044820152676465706f7369747360c01b6064820152608490fd5b60405190612af2826101a5565b6001825260203681840137565b8051156128b75760200190565b80518210156128b75760209160051b010190565b602090612b3a9282604051948386809551938492016128bc565b82019081520301902090565b91909182516001600160401b03811161017257612b678161113b8454611075565b602080601f8311600114612ba2575081929394600092612b975750508160011b916000199060031b1c1916179055565b01519050388061115c565b90601f19831695612bb885600052602060002090565b926000905b888210612bf457505083600195969710612bdb57505050811b019055565b015160001960f88460031b161c191690553880806111b9565b80600185968294968601518155019501930190612bbd565b90929173__$2e6ee47b30d794e0597b4af30f16ddb84c$__803b1561012b576040805163564343ff60e01b8152600a8701600480830191909152600e880160248301529193600093909291908490829060449082905af4801561043157612f1d575b508183600d890198600c8101925b8a54831015612edb578a6064612ca8612ca2612c98878561289f565b90549060031b1c90565b896111f9565b10612ed05790612cc46121a8612ca2612c9887612cca9661289f565b9061286d565b91612cf487612cd9838761289f565b508c8b518080958194635950625960e11b83528c8301612a77565b03916001600160a01b03165afa908115610431578a8a8e938e938c91612eae575b508b608080830151612d2690151590565b612d2f90612a88565b8c612d38612ae5565b978963ffffffff8816612d4a8b612aff565b63ffffffff9091169052612d5d9161289f565b905460039190911b1c612d6f916111f9565b6064900494612da7906000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4d602052604060002090565b612dbb906001600052602052604060002090565b835190612dc791612b20565b85815490612dd491610dfb565b905582519384519460209586820120612df39063ffffffff60e01b1690565b6001600160e01b03191660009081527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4c6020526040902090612e3491612b46565b83518051908601206001600160e01b031916848201519098906001600160a01b031691612e5f610221565b6001600160e01b0319909a168a526320dcd90b60e01b8a8801528901526001600160a01b031660608801528601528260a0860152015191612e9f9361414c565b612ea89061287a565b91612c7c565b612eca91503d808e833e612ec281836101c0565b8101906129b0565b38612d15565b5091612ea89061287a565b985099985050505050507f364502d723e5ab665a7fdb51cffd24931248ebbf2a52d809c6fd1e9005b4dd9e91612f1686925192839283611cec565b0390a19190565b80612443612f2a92610192565b38612c6e565b939291909373__$2e6ee47b30d794e0597b4af30f16ddb84c$__600a860191813b1561012b576040805163973d5ef560e01b81526004808201869052600e8a01602483015291946000949091908590829060449082905af4801561043157613207575b509697600b810197908490875b8a548310156131cb578a6064612fc2612fbc612c98878561289f565b8c6111f9565b106131c05790612cc46121a8612fbc612c9887612fde9661289f565b91612fed87612cd9838761289f565b03916001600160a01b03165afa908115610431578c8a89938e938c916131a6575b508d6080938483015161302090151590565b61302990612a88565b87613032612ae5565b9763ffffffff1661304289612aff565b63ffffffff90911690526130559161289f565b905460039190911b1c613067916111f9565b6064900480936130a08d6000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4d602052604060002090565b6130b39060008052602052604060002090565b8351906130bf91612b20565b828154906130cc91610dfb565b9055825193845194602095868201206130eb9063ffffffff60e01b1690565b6001600160e01b03191660009081527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4c602052604090209061312c91612b46565b83518051908601206001600160e01b031916848201519098906001600160a01b031691613157610221565b6001600160e01b0319909a168a526320dcd90b60e01b8a8801528901526001600160a01b031660608801528601528b60a08601520151916131979361414c565b6131a09061287a565b91612fa0565b6131ba91503d808e833e612ec281836101c0565b3861300e565b50916131a09061287a565b985099985050505090507f364502d723e5ab665a7fdb51cffd24931248ebbf2a52d809c6fd1e9005b4dd9e9250612f1686925192839283611cec565b8061244361321492610192565b38612f93565b919293909361322761459a565b61325a836000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b9361326c61326785610d13565b6139b3565b93613287613282600888015460ff9060101c1690565b613a4a565b600080516020614703833981519152546132ab9061032b906001600160a01b031681565b9360409687519563e68f909d60e01b875260009660049288828581865afa8015610431578c928a91613905575b50600582015460ff16916132eb83610ee3565b8215809481956138f3575b50156135db5750610380015161332991906133249061331d906001600160a01b031661032b565b3314613aac565b610ee3565b1561355c5788516325dfce7d60e21b815260209281018381526019818501527f6163636f756e74735f77697468647261775f6368617269747900000000000000604082015290929183918290819060600103915afa80156104315761353e575b505b613393613ae7565b5061339d88610ee3565b8761352b576020860151519591979490975b81925b84519960ff85169a8b10156134b2576133d66133ce8c89612b0c565b511515613b18565b839784805b8c8c018051519060ff83169182101561344c578f61032b61217d846134078f61340e9561217d91612b0c565b9451612b0c565b6001600160a01b039091161461342e575b5061342990613b07565b6133db565b909650613441919a5060208c0151612b0c565b51988561342961341f565b505050988a61349b60ff6134a79697999598949f6134846020918e61347f6134a1986134788484612b0c565b5110613b58565b612b0c565b519301519416916134958386612b0c565b5161286d565b92612b0c565b52613b07565b9290989591986133b2565b995096925094905061351393507f758243dab8e0b86a43e2f0b0d6e842211dc46a791072e017f73e274b81ad1e529692506134ec81610ee3565b61351e576020850151525b6135098461350485610d13565b613c88565b5192839283613e43565b0390a16104e161463b565b60208086015101526134f7565b60208087015101519591979490976133af565b6135559060203d811161042a5761041a81836101c0565b5038613389565b88516325dfce7d60e21b815260209281018381526018818501527f6163636f756e74735f77697468647261775f6e6f726d616c0000000000000000604082015290929183918290819060600103915afa8015610431576135bd575b5061338b565b6135d49060203d811161042a5761041a81836101c0565b50386135b7565b90506135e682610ee3565b82806138e0575b1561360e575461332991906133249061331d906001600160a01b031661032b565b61361782610ee3565b6001908282148e81806138cf575b15613798575050906009820154801515908161378e575b5061370b5790601f8b91018054915b8281106136c8575050506136625761332990610ee3565b8a5162461bcd60e51b815260208186018181526032918101919091527f53656e6465722061646472657373206973206e6f74206c697374656420696e2060408201527136b0ba3ab934ba3cabb434ba32b634b9ba1760711b606082015281906080010390fd5b61032b6136ef6136d8838561289f565b9054339360039290921b1c6001600160a01b031690565b14613703575b6136fe9061287a565b61364b565b8c93506136f5565b8c5162461bcd60e51b815260208188018181526049918101919091527f456e646f776d656e74206973206e6f74206d61747572652e2043616e6e6f742060408201527f7769746864726177206265666f7265206d617475726974792074696d65206973606082015268103932b0b1b432b21760b91b6080820152819060a0010390fd5b905042103861363c565b83906137a386610ee3565b826138bb575b50506137bb575b505061332990610ee3565b8a918b90601d83018054925b83811061387757505091546137e792506001600160a01b0316905061032b565b331490811561386f575b50156137fe5738806137b0565b8a5162461bcd60e51b81526020818601818152603c918101919091527f53656e646572206973206e6f7420456e646f776d656e74206f776e6572206f7260408201527f206973206e6f74206c697374656420696e2077686974656c6973742e00000000606082015281906080010390fd5b9050386137f1565b61389c61032b613887838561289f565b905460039190911b1c6001600160a01b031690565b33146138b1575b6138ac9061287a565b6137c7565b91945084916138a3565b9091506138c781610ee3565b14828f6137a9565b506138d981610ee3565b8015613625565b506138ea8d610ee3565b60018d146135ed565b6138fd9150610ee3565b8d158e6132f6565b61391991503d808c833e61044b81836101c0565b386132d8565b9060026040805161392f81610157565b610ffc81958054835283516139528161394b8160018601610f13565b03826101c0565b602084015261396684518096819301610f50565b03846101c0565b9060405161397a816101a5565b602060ff6002839560405161398e816101a5565b8154815260018201546001600160a01b031685820152855201541691610ffc83610fc7565b9060405160808101928184106001600160401b0385111761017257613a4560096060928660405284966139e5816101a5565b81548152600182015460a08701528552604051613a01816101a5565b613a0d6002830161391f565b8152613a1b6005830161391f565b60208201526020860152613a3f613a36600883015460ff1690565b15156040870152565b0161396d565b910152565b15613a5157565b60405162461bcd60e51b815260206004820152602d60248201527f57697468647261777320617265206e6f7420617070726f76656420666f72207460448201526c1a1a5cc8195b991bdddb595b9d609a1b6064820152608490fd5b15613ab357565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b60405190613af482610157565b6060604083600081528260208201520152565b60ff1660ff8114610e085760010190565b15613b1f57565b60405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a5916995c9bd05b5bdd5b9d607a1b6044820152606490fd5b15613b5f57565b60405162461bcd60e51b8152602060048201526011602482015270496e73756666696369656e7446756e647360781b6044820152606490fd5b815181556001918282016020808301519384516001600160401b0395868211610172578390613bc7838761120c565b01600094855283852088865b848110613c2f5750505050506002604091019301518051948511610172578190613bfd868661120c565b01928252808220915b848110613c1557505050505050565b83516001600160a01b031683820155928101928501613c06565b86845194019381840155018990613bd3565b8151805182556020908101516001830180546001600160a01b0319166001600160a01b039290921691909117905590600201910151613c7f81610fc7565b6112d081610fc7565b908051805183556020809101516001908185015581830151908151805160028701556003860190848101519182516001600160401b0393848211610172578790613cd2838561120c565b01600092835287832086845b848110613d7e5750505050506040600489019201518051938411610172578690613d08858561120c565b01918152858120905b838110613d645750505050506104e19392613d36600993606093015160058601613b98565b613d5b613d466040830151151590565b600886019060ff801983541691151516179055565b01519101613c41565b82516001600160a01b031682820155918601918401613d11565b8a845194019381840155018790613cde565b606082018151835260209182810151916060848601528251809152836080860193019060005b818110613e07575050506040015192604081830391015281808451928381520193019160005b828110613dea575050505090565b83516001600160a01b031685529381019392810192600101613ddc565b825185529385019391850191600101613db6565b8051805183526020908101516001600160a01b031683820152015190604090610ffc83610fc7565b6109239181526040602082015260208351805160408401520151606082015260c06060613ea5602086015160e060808601526020613e8f82516040610120890152610160880190613d90565b91015185820361011f1901610140870152613d90565b946040810151151560a08501520151910190613e1b565b60209182825260e082019263ffffffff60e01b80835116828501528183015116604084015260408201519360c06060850152845180915281610100850195019160005b828110613f345750505060608201516001600160a01b031660808401525060c09060a090608081015182850152015191015290565b835163ffffffff1687529581019592810192600101613eff565b9060208282031261012b5781516001600160401b039283821161012b57016101008183031261012b57613f7f610201565b92815181811161012b5783613f959184016128df565b845260208201516020850152613fad604083016104d6565b6040850152613fbe606083016104d6565b6060850152608082015181811161012b5783613fdb9184016128df565b608085015260a082015190811161012b5760e092613ffa9183016128df565b60a084015261400b60c082016104d6565b60c0840152015160e082015290565b9060208282031261012b5781516001600160401b03811161012b5761092392016128df565b90602091614058815180928185528580860191016128bc565b601f01601f1916010190565b9597969260c09591946140a66140b4926140986140c29660018060a01b03809a168c5260e060208d015260e08c019061403f565b908a820360408c015261403f565b9088820360608a015261403f565b90868203608088015261403f565b9560a085015216910152565b604051906140db826101a5565b601082526f10d85b1b1a5b99c818dbdb9d1c9858dd60821b6020830152565b9594939060809361412b6141479461411d6141399460a08c5260a08c019061403f565b908a820360208c015261403f565b9088820360408a015261403f565b90868203606088015261403f565b930152565b9092604090815194614173866141658660208301613ebc565b03601f1981018852876101c0565b60018060a01b03169082519463820d0f1560e01b928387526000966004938882806141a5468983019190602083019252565b0381865afa928315610431576141d6968a93849561457e575b50885180988194829383528983019190602083019252565b03915afa93841561043157879461455a575b5060e0840151806143f4575b506060809161420246614672565b61420b84614672565b01805190969061422b906001600160a01b03166142266140ce565b6146b4565b019461428160208361424961032b61032b8b5160018060a01b031690565b8451895163095ea7b360e01b81526001600160a01b03909116888201908152602081019390935293849283918d918391604090910190565b03925af18015610431576142aa9261032b9261032b926143d6575b50516001600160a01b031690565b8351938501518551635e57966d60e01b81526001600160a01b03909116848201908152919591889082908190602001038173__$cdb3a974a6603f5f21ad73b7f4e0c6fc0b$__5af496871561043157889182986143a8575b50518492919061431c9061032b906001600160a01b031681565b82516395d89b4160e01b815293849182905afa918215610431578892614384575b50853b1561011a57916143669188949351998a9889978896632d505c2160e21b885287016140fa565b03925af18015610431576143775750565b806124436104e192610192565b6143a19192503d808a833e61439981836101c0565b81019061401a565b903861433d565b85939291985061032b61032b6143ca61431c933d8087833e61439981836101c0565b9a939495505050614302565b6143ed9060203d8111610cb857610caa81836101c0565b503861429c565b60c08201516144489291906144139061032b906001600160a01b031681565b8651888801518951635e57966d60e01b81526001600160a01b039091168882019081529095929391928c918791829160200190565b038173__$cdb3a974a6603f5f21ad73b7f4e0c6fc0b$__5af4918215610431578b8b8997829561452f575b506060015161448c9061032b906001600160a01b031681565b8b516395d89b4160e01b815297889182905afa958615610431578c96614512575b50833b1561450e57918b93918d936144de8a8a8e519a8b9889978896636316100160e11b8852339530908901614064565b03925af19081156104315760609283926144fb575b5091506141f4565b8061244361450892610192565b386144f3565b8b80fd5b6145289196508c3d8091833e61439981836101c0565b94386144ad565b61448c91955061032b606061455061032b933d8088833e61439981836101c0565b9793505050614473565b6145779194503d8089833e61456f81836101c0565b810190613f4e565b92386141e8565b6145939195503d8086833e61456f81836101c0565b93386141be565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff8160a01c16158015614632575b156145ed573330036145dc575050565b60ff60a01b1916600160a01b179055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b503330146145cc565b33300361464457565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff60a01b19169055565b6104e1906040519063f82c50f160e01b602083015260248201526024815261469981610157565b600080916020815191016a636f6e736f6c652e6c6f675afa50565b6146996146e3916104e19360405193849263319af33360e01b602085015260406024850152606484019061403f565b6001600160a01b0391909116604483015203601f1981018352826101c056fef42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46a26469706673582212200e09ce108253061d07e0edf2dc90671af1e57e5bc04622f309c0cdf0b686837b64736f6c63430008120033"; + "0x608080604052346100165761311b908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80631b13439114610ed9578063244dbab014610af157633b57f1e01461003d57600080fd5b346106215760c03660031901126106215763ffffffff8060043516600435036106215760026024351015610621576044356001600160a01b03811690819003610621578160643516908160643503610621576084356001600160a01b0381169003610621576100aa612fed565b60a43515610ab8571580159182919082610aaf575b8215610a94575b505015610a35576100d86004356110b1565b906100f460ff60066100eb60043561107c565b015416156110e6565b6000805160206130c68339815191525460405163e68f909d60e01b81526001600160a01b0390911693906103e081600481885afa90811561040957600091610a04575b5060088401549485151595866109f9575b50600090610157602435611759565b602435159687806109f1575b610921575b60ff6005880154169061017a82611759565b60018083146106bb575b505060649160209161019581611759565b61062e57604051928380926325dfce7d60e21b8252846004830152601960248301527f6163636f756e74735f77697468647261775f636861726974790000000000000060448301525afa908115610409576000916105f8575b50915b6101fc602435611759565b86156105cb57600361020f60043561107c565b6084356001600160a01b03166000908152910160205260409020545b60a43510156105925760206103e86102486102929560a4356118c2565b6060909301519204916001600160a01b03166102648484611736565b60405163a9059cbb60e01b81526001600160a01b039092166004830152602482015293849081906044820190565b038160006084356001600160a01b03165af1908115610409576102c46102cc926102d1956000916103da575b506113ad565b60a435612fa3565b612fa3565b9160009383151580610585575b6104ae575b501561041557506102f961032b92602092612fa3565b60405163a9059cbb60e01b8152604480356001600160a01b031660048301526024820192909252928391829190820190565b038160006084356001600160a01b03165af1801561040957610354916000916103da57506113ad565b61035f602435611759565b156103a257600361037160043561107c565b0160018060a01b0360843516600052602052604060002061039560a4358254612fa3565b90555b6103a061308e565b005b60056103af60043561107c565b0160018060a01b036084351660005260205260406000206103d360a4358254612fa3565b9055610398565b6103fc915060203d602011610402575b6103f48183610f4c565b810190611395565b386102be565b503d6103ea565b6040513d6000823e3d90fd5b9060ff600661042560643561107c565b015416610469576104649261045a916040519361044185610f1c565b6004351684526000602085015260646040850152612fa3565b9060843590611c8c565b610354565b60405162461bcd60e51b815260206004820152601f60248201527f42656e656669636961727920656e646f776d656e7420697320636c6f736564006044820152606490fd5b93506104ff602060646104c5601f880154876118c2565b601e9097015460405163a9059cbb60e01b81526001600160a01b039190911660048201529604602487018190529591829081906044820190565b038160006084356001600160a01b03165af190811561040957600091610566575b501561052c57386102e3565b60405162461bcd60e51b8152602060048201526012602482015271496e73756666696369656e742046756e647360701b6044820152606490fd5b61057f915060203d602011610402576103f48183610f4c565b38610520565b50601f81015415156102de565b60405162461bcd60e51b8152602060048201526011602482015270496e73756666696369656e7446756e647360781b6044820152606490fd5b60056105d860043561107c565b6084356001600160a01b031660009081529101602052604090205461022b565b90506020813d8211610626575b8161061260209383610f4c565b810103126106215751386101ee565b600080fd5b3d9150610605565b604051928380926325dfce7d60e21b8252846004830152601860248301527f6163636f756e74735f77697468647261775f6e6f726d616c000000000000000060448301525afa9081156104095760009161068a575b50916101f1565b90506020813d82116106b3575b816106a460209383610f4c565b81010312610621575138610683565b3d9150610697565b6000911561080c57601b890180549190821561078f5760005b8381106107545750505050156106f4576064916020915b91819350610184565b60405162461bcd60e51b815260206004820152603260248201527f53656e6465722061646472657373206973206e6f74206c697374656420696e2060448201527136b0ba3ab934ba3ca0b63637bbb634b9ba1760711b6064820152608490fd5b61075e8183612fbf565b905460039190911b1c6001600160a01b03163314610785575b61078090612fb0565b6106d4565b9193508391610777565b505088546001600160a01b0316330391506107b19050576064916020916106eb565b60405162461bcd60e51b815260206004820152602d60248201527f53656e6465722061646472657373206973206e6f742074686520456e646f776d60448201526c32b73a1026bab63a34b9b4b39760991b6064820152608490fd5b601989019081549182610829575b505050506064916020916106eb565b60005b8381106108e6575050505080156108d3575b1561084c573880808061081a565b60405162461bcd60e51b815260206004820152605360248201527f53656e6465722061646472657373206973206e6f74206c697374656420696e2060448201527f616c6c6f776c697374656442656e65666963696172696573206f72207468652060648201527222b73237bbb6b2b73a1026bab63a34b9b4b39760691b608482015260a490fd5b5086546001600160a01b0316331461083e565b6108f08183612fbf565b905460039190911b1c6001600160a01b03163314610917575b61091290612fb0565b61082c565b9193508391610909565b9150600160ff60058801541661093681611759565b03610955576103e861094e601d88015460a4356118c2565b0491610168565b6040516325dfce7d60e21b8152602060048201819052601e60248301527f6163636f756e74735f6561726c795f6c6f636b65645f77697468647261770000604483015281606481855afa908115610409576000916109be575b5061094e6103e89160a4356118c2565b90506020813d82116109e9575b816109d860209383610f4c565b81010312610621575161094e6109ae565b3d91506109cb565b508015610163565b421015955038610148565b610a2891506103e03d6103e011610a2e575b610a208183610f4c565b81019061113c565b38610137565b503d610a16565b60405162461bcd60e51b815260206004820152603160248201527f4d7573742070726f766964652042656e65666963696172792041646472657373604482015270081e1bdc88115b991bdddb595b9d081251607a1b6064820152608490fd5b90915081610aa5575b5038806100c6565b9050151538610a9d565b801592506100bf565b60405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a5916995c9bd05b5bdd5b9d607a1b6044820152606490fd5b606036600319011261062157610b0636610f6e565b610b0e612fed565b3415610ea35760405167ffffffffffffffff91610140820183811183821017610e0b5760405260018060a01b0391827ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4454168152604051936000857ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d45918254610b9681610fac565b80845293600191808316908115610e7f5750600114610e21575b5050610bbe92500386610f4c565b602094858301526000805160206130c6833981519152546040830191858216835263ffffffff809260a01c1660608501527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d47546080850152857ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d48541660a0850152857ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d49541660c085015260ff7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a5487811660e087015260a01c16151561010085015260405190604082019082821090821117610e0b576100eb610d1f9360ff936101208a98600695604052897ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b541683527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4c548d840152015287511661107c565b511691604051809363e68f909d60e01b82528160046103e09687935afa93841561040957600094610de9575b50508383948261028060049601511660405195868092631d727ceb60e21b825234905af193841561040957600094610db8575b50610398947fa848a32340995bb12bf943995fb951bb27b67c71c4ffa1f4df96cfc7eab0d11b61034092604051878152a101511690611c8c565b9080945081813d8311610de2575b610dd08183610f4c565b81010312610621575192610398610d7e565b503d610dc6565b600494509081610e0492903d10610a2e57610a208183610f4c565b9285610d4b565b634e487b7160e01b600052604160045260246000fd5b600090815291507fc190d2043ebd5011149152baff4574e2454c51ab29dfd2caee58657602b14bc85b848310610e645750610bbe93505081016020018880610bb0565b81935090816020925483858d01015201910190918892610e4a565b91505060209250610bbe94915060ff191682840152151560051b8201018880610bb0565b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b6044820152606490fd5b346106215760a036600319011261062157610ef336610f6e565b606435906001600160a01b03821682036106215761039891610f13612fed565b608435916113eb565b6060810190811067ffffffffffffffff821117610e0b57604052565b67ffffffffffffffff8111610e0b57604052565b90601f8019910116810190811067ffffffffffffffff821117610e0b57604052565b60609060031901126106215760405190610f8782610f1c565b8160043563ffffffff8116810361062157815260243560208201526040604435910152565b90600182811c92168015610fdc575b6020831014610fc657565b634e487b7160e01b600052602260045260246000fd5b91607f1691610fbb565b9060009291805491610ff783610fac565b9182825260019384811690816000146110595750600114611019575b50505050565b90919394506000526020928360002092846000945b838610611045575050505001019038808080611013565b80548587018301529401938590820161102e565b9294505050602093945060ff191683830152151560051b01019038808080611013565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b156110ed57565b60405162461bcd60e51b8152602060048201526013602482015272115b991bdddb595b9d081a5cc818db1bdcd959606a1b6044820152606490fd5b51906001600160a01b038216820361062157565b8091036103e08112610621576040918251926103a0928385019085821067ffffffffffffffff831117610e0b57606091835261117784611128565b865261118560208501611128565b6020870152611195838501611128565b838701526111a4828501611128565b828701526111b460808501611128565b60808701526111c560a08501611128565b60a08701526111d660c08501611128565b60c08701526111e760e08501611128565b60e08701526101006111fa818601611128565b9087015261012061120c818601611128565b9087015261014061121e818601611128565b90870152610160611230818601611128565b90870152610180611242818601611128565b9087015261019f1901126106215761138e91816113846103c093519561126787610f1c565b6101a0968785015181526101c0978886015160208301526101e09485870151908301528901526102009661129c888601611128565b90890152610220926112af848601611128565b90890152610240966112c2888601611128565b90890152610260928385015190890152610280966112e1888601611128565b908901526102a0926112f4848601611128565b908901526102c096611307888601611128565b908901526102e09261131a848601611128565b908901526103009661132d888601611128565b9089015261032092611340848601611128565b9089015261034096611353888601611128565b9089015261036092611366848601611128565b9089015261038096611379888601611128565b908901528301611128565b9086015201611128565b9082015290565b90816020910312610621575180151581036106215790565b156113b457565b60405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b6001600160a01b039392919084821680156116f95761141760ff60066100eb63ffffffff86511661107c565b856000805160206130c6833981519152541660408051916302b05ecb60e11b835260049084828501526020938481602481855afa908115611682576000916116dc575b50156116aa578251809163e68f909d60e01b825281846103e09485935afa9182156116825760009261168d575b505082516323b872dd60e01b8152338382015230602482015260448101899052848160648160008a5af1908115611682578b9392916114cd9160009161166b57506113ad565b61028081018051855163095ea7b360e01b81529c166001600160a01b0316838d01908152602081018b9052909b90869082908190604001038160008b5af190811561166057600091611643575b501561160e5761034001948286511614600014611543575050505050611541939450611c8c565b565b985182516379470bc960e01b81526001600160a01b0397909716998701998a5260208a019790975292979195909392918691869182900360400190829060009086165af1938415611603576000946115cf575b506115c89184917fa848a32340995bb12bf943995fb951bb27b67c71c4ffa1f4df96cfc7eab0d11b9798511690611c8c565b51908152a1565b90938582813d83116115fc575b6115e68183610f4c565b810103126115f9575051926115c8611596565b80fd5b503d6115dc565b83513d6000823e3d90fd5b835162461bcd60e51b8152808301869052600f60248201526e105c1c1c9bdd985b0819985a5b1959608a1b6044820152606490fd5b61165a9150863d8811610402576103f48183610f4c565b3861151a565b85513d6000823e3d90fd5b6103fc9150873d8911610402576103f48183610f4c565b84513d6000823e3d90fd5b6116a39250803d10610a2e57610a208183610f4c565b3880611487565b5082606492519162461bcd60e51b8352820152600d60248201526c24b73b30b634b2102a37b5b2b760991b6044820152fd5b6116f39150853d8711610402576103f48183610f4c565b3861145a565b60405162461bcd60e51b8152602060048201526015602482015274496e76616c696420546f6b656e204164647265737360581b6044820152606490fd5b9190820180921161174357565b634e487b7160e01b600052601160045260246000fd5b6002111561176357565b634e487b7160e01b600052602160045260246000fd5b9190826040910312610621576020825192015190565b81811061179a575050565b6000815560010161178f565b908082146118be576117b88154610fac565b9067ffffffffffffffff8211610e0b5781906117d48454610fac565b601f8111611881575b50600090601f83116001146118155760009261180a575b50508160011b916000199060031b1c1916179055565b0154905038806117f4565b81526020808220858352818320935090601f1985169083905b82821061186857505090846001959493921061184f575b505050811b019055565b015460001960f88460031b161c19169055388080611845565b849581929585015481556001809101960194019061182e565b6118ae90856000526020600020601f850160051c810191602086106118b4575b601f0160051c019061178f565b386117dd565b90915081906118a1565b5050565b8181029291811591840414171561174357565b918181106118e257505050565b611541926000526020600020918201910161178f565b8181146118be5781549167ffffffffffffffff8311610e0b57600160401b8311610e0b5761192b838354818555846118d5565b60005260206000209060005260206000208154916000925b848410611951575050505050565b6001809192019384549281850155019290611943565b8181146118be57815491600160401b8311610e0b5781548383558084106119c8575b506000526020600020906000526020600020906000905b8382106119ad5750505050565b806119ba600192856117a6565b9281019291810191016119a0565b600083815260208581832093840193015b8381106119e857505050611989565b80836119f660019354610fac565b80611a04575b5050016119d9565b601f8082118514611a1b57505081555b83386119fc565b611a3490848452868420920160051c820185830161178f565b81835555611a14565b818103611a48575050565b60038083611a596115419585611967565b611a6960018201600186016118f8565b611a796002820160028601611967565b0191016118f8565b8181146118be5781549167ffffffffffffffff8311610e0b57600160401b8311610e0b57611ab4838354818555846118d5565b60005260206000209060005260206000208154916000925b848410611ada575050505050565b600191820180546001600160a01b0390921684860155939091019290611acc565b90808203611b07575050565b805482546001600160a01b0319166001600160a01b0391909116178255600190810154910155565b90815480825260208092019260005281600020916000905b828210611b55575050505090565b835485529384019360019384019390910190611b47565b9080825490818152602080910192818360051b8201019460005281600020936000915b848310611b9f5750505050505090565b909192939495846001611bbc8193601f198682030187528a610fe6565b9801930193019194939290611b8f565b906003611c1b9260808352611c0c611bfb611bea6080860184611b6c565b858103602087015260018401611b2f565b848103604086015260028301611b6c565b92606081850391015201611b2f565b90565b90815480825260208092019260005281600020916000905b828210611c44575050505090565b83546001600160a01b031685529384019360019384019390910190611c36565b805460ff161515825260018101546001600160a01b0316602083015260020154604090910152565b9291926000611ca163ffffffff8351166110b1565b6001600160a01b038416959093908615612f6857611cd16020850180519060408701916064938491845190611736565b03612f3557600495969798996103e060018060a01b036000805160206130c683398151915254166040519889809263e68f909d60e01b82525afa968715612f07578897612f12575b5060218a015480612e38575b50505190516101a08601516020870180519293926001600160a01b031615612e04575184939291906001600160a01b03163303612c88575b5091611d6c611d7393866118c2565b04936118c2565b0492611d8563ffffffff87511661107c565b611d90838254611736565b90556001611da463ffffffff88511661107c565b01611db0858254611736565b905581612ae3575b5073__$2e6ee47b30d794e0597b4af30f16ddb84c$__906002611de163ffffffff88511661107c565b0190823b15612abc57604051631bccc68560e21b80825260048201939093526001600160a01b038516602482015260448101919091528581606481865af48015612ad857908691612ac0575b50506004611e4163ffffffff88511661107c565b0190823b15612abc5760405190815260048101919091526001600160a01b039290921660248301526044820192909252908290829060649082905af48015612ab157612a9d575b50509063ffffffff82611ebe827f28c1b2f18a3e71d2e6df5b0732ff252e57dc097525c7b3a6aa087522506a5b369551166110b1565b8381036122ba575b50511660405191829182526040602083015260018060a01b038154166040830152610b806060830152605b611f02610bc0840160018401610fe6565b916120d0611f3d603f19948587820301608088015260408152611f2b6040820160028601611b2f565b90602081830391015260038401611b2f565b93600483015460a08701526120bc6120a8611fcd611fb9611f9a611f8660ff9a8c60c08d60058d01541691611f7183611759565b01528c8103880160e08e015260068a01610fe6565b868c8203016101008d015260078901610fe6565b60088801546101208c0152858b8203016101408c015260098801611bcc565b848a8203016101608b0152600d8701611bcc565b601186015488811615156101808b015263ffffffff600882901c81166101a08c0152602882901c81166101c08c0152604882901c8a1615156101e08c0152605082901c81166102008c015260709190911c166102208a01526012860154881615156102408a015260138601546102608a015260148601546102808a015260158601546001600160a01b039081166102a08b0152601687015481166102c08b015260178701548082166102e08c015260a01c891615156103008b01526018870154166103208a015288810384016103408a015260198601611c1e565b8288820301610360890152601a8501611c1e565b9086820301610380870152601b8301611c1e565b601c8201546001600160a01b03166103a0860152601d8201546103c086015292601e8201546001600160a01b03166103e0860152601f82015461040086015260208201546001600160a01b0316610420860152602182015461044086015260228201546001600160a01b0316610460860152602382015461048086015261215e6104a0860160248401611c64565b61216f610500860160278401611c64565b6121806105608601602a8401611c64565b6121916105c08601602d8401611c64565b6121a2610620860160308401611c64565b6121b3610680860160338401611c64565b6121c46106e0860160368401611c64565b6121d5610740860160398401611c64565b6121e66107a08601603c8401611c64565b6121f76108008601603f8401611c64565b612208610860860160428401611c64565b6122196108c0860160458401611c64565b61222a610920860160488401611c64565b61223b6109808601604b8401611c64565b61224c6109e08601604e8401611c64565b61225d610a40860160518401611c64565b61226e610aa0860160548401611c64565b605782015463ffffffff8116610b0087015260201c161515610b208501526058810154610b408501526059810154610b60850152605a810154610b808501520154610ba08301520390a1565b60018060a01b038454166bffffffffffffffffffffffff60a01b90818354161782556122ec60018601600184016117a6565b6002820160028601808203612a7d575b505060048501546004830155600582019060ff918260058801541661232081611759565b60ff1982541617905561233960068701600685016117a6565b61234960078701600785016117a6565b600886015460088401556123636009870160098501611a3d565b612373600d8701600d8501611a3d565b60118301601187018082036129ac575b50506123a482601288015416601285019060ff801983541691151516179055565b60138601546013840155601486015460148401556015830160018060a01b03601588015416828254161790556016830160018060a01b0360168801541682825416179055601783016017870160018060a01b03815416825491818584161784558560ff60a01b915460a01c16151560a01b16916affffffffffffffffffffff60a81b1617179055601883019060018060a01b03601888015416908254161790556124546019860160198401611a81565b612464601a8601601a8401611a81565b612474601b8601601b8401611a81565b612484601c8601601c8401611afb565b612494601e8601601e8401611afb565b6124a46020860160208401611afb565b6124b46022860160228401611afb565b602482016024860190828282141580612543575b505050506057820190605786019064ff00000000868354169184549383891986161786555460201c16151560201b169164ffffffffff1916171790556058810160588501808203612525575b5050605b8085015491015538611ec6565b54905560598401546059820155605a840154605a8201553880612514565b61297e575b50505060278201602786019082828203612950575b505050602a8201602a86019082828203612922575b505050602d8201602d860190828282036128f4575b505050603082016030860190828282036128c6575b50505060338201603386019082828203612898575b5050506036820160368601908282820361286a575b5050506039820160398601908282820361283c575b505050603c8201603c8601908282820361280e575b505050603f8201603f860190828282036127e0575b505050604282016042860190828282036127b2575b50505060458201604586019082828203612784575b50505060488201604886019082828203612756575b505050604b8201604b86019082828203612728575b505050604e8201604e860190828282036126fa575b505050605182016051860190828282036126cc575b5050506054820160548601908282820361269e575b816124c8565b6126b492541660ff801983541691151516179055565b6126c46055860160558401611afb565b388082612698565b6126e292541660ff801983541691151516179055565b6126f26052860160528401611afb565b388082612683565b61271092541660ff801983541691151516179055565b612720604f8601604f8401611afb565b38808261266e565b61273e92541660ff801983541691151516179055565b61274e604c8601604c8401611afb565b388082612659565b61276c92541660ff801983541691151516179055565b61277c6049860160498401611afb565b388082612644565b61279a92541660ff801983541691151516179055565b6127aa6046860160468401611afb565b38808261262f565b6127c892541660ff801983541691151516179055565b6127d86043860160438401611afb565b38808261261a565b6127f692541660ff801983541691151516179055565b6128066040860160408401611afb565b388082612605565b61282492541660ff801983541691151516179055565b612834603d8601603d8401611afb565b3880826125f0565b61285292541660ff801983541691151516179055565b612862603a8601603a8401611afb565b3880826125db565b61288092541660ff801983541691151516179055565b6128906037860160378401611afb565b3880826125c6565b6128ae92541660ff801983541691151516179055565b6128be6034860160348401611afb565b3880826125b1565b6128dc92541660ff801983541691151516179055565b6128ec6031860160318401611afb565b38808261259c565b61290a92541660ff801983541691151516179055565b61291a602e8601602e8401611afb565b388082612587565b61293892541660ff801983541691151516179055565b612948602b8601602b8401611afb565b388082612572565b61296692541660ff801983541691151516179055565b6129766028860160288401611afb565b38808261255d565b61299492541660ff801983541691151516179055565b6129a46025860160258401611afb565b388082612548565b6129c584825416839060ff801983541691151516179055565b80549064ffffffff00835492168064ffffffff0019841617845568ffffffff0000000000825416808268ffffffffffffffff001986161717855569ff00000000000000000087845460481c16151560481b1691828169ffffffffffffffffff001987161783171786558a60501b8454169384826dffffffffffffffffffffffffff0019881617841785171787558b60701b9054169471ffffffffffffffffffffffffffffffffff001916171717171790553880612383565b612a86916118f8565b612a9660038601600384016118f8565b38806122fc565b612aa78291610f38565b6115f95780611e88565b6040513d84823e3d90fd5b8580fd5b612ac990610f38565b612ad4578438611e2d565b8480fd5b6040513d88823e3d90fd5b60ff600588015416612af481611759565b801580612c71575b15612bb1575061016081015186516101c0909201516001600160a01b039081169291169063ffffffff16813b15612bad5760405163d61e991b60e01b815263ffffffff9091166004820152602481018490523260448201526001600160a01b039092166064830152859082908183816084810103925af18015612ba257908591612b8a575b50505b38611db8565b612b9390610f38565b612b9e578338612b81565b8380fd5b6040513d87823e3d90fd5b8680fd5b60019150612bbe81611759565b1480612c5b575b15612b84576018860154855160178801546001600160a01b0390811692169063ffffffff16813b15612bad5760405163d61e991b60e01b815263ffffffff9091166004820152602481018490523260448201526001600160a01b039092166064830152859082908183816084810103925af18015612ba257612c48575b50612b84565b612c5490949194610f38565b9238612c42565b5060188601546001600160a01b03161515612bc5565b506101608201516001600160a01b03161515612afc565b92509060ff60058b015416612c9c81611759565b612d595760ff60578b015460201c1691604080519463b9fb75c560e01b8652805160048701526020810151602487015201516044850152848401526084830152151560a482015260408160c48173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af48015612ad8579082611d739288928991612d24575b50611d6c90925b919350611d5d565b611d6c9350612d4b915060403d604011612d52575b612d438183610f4c565b810190611779565b9092612d15565b503d612d39565b60578a015460405163b9fb75c560e01b815260588c0154600482015260598c01546024820152605a8c01546044820152935060201c60ff1691848401526084830152151560a482015260408160c48173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af48015612ad8579082611d739288928991612ddf575b50611d6c9092612d1c565b611d6c9350612dfd915060403d604011612d5257612d438183610f4c565b9092612dd4565b60405162461bcd60e51b815260206004820152600d60248201526c139bc8125b99195e08119d5b99609a1b60448201528590fd5b85612e576103e8612e4f602094612e93969a6118c2565b048092612fa3565b8c83015460405163a9059cbb60e01b81526001600160a01b039091166004820152602481019290925296909283919082908c9082906044820190565b03925af1908115612f07578891612ee8575b5015612eb2573880611d25565b60405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8811985a5b1959608a1b60448201528390fd5b612f01915060203d602011610402576103f48183610f4c565b38612ea5565b6040513d8a823e3d90fd5b612f2e9197506103e03d6103e011610a2e57610a208183610f4c565b9538611d19565b60405162461bcd60e51b815260206004820152600c60248201526b125b9d985b1a5914dc1b1a5d60a21b60448201528390fd5b60405162461bcd60e51b815260206004820152601360248201527224b73b30b634b21022a9219918103a37b5b2b760691b6044820152606490fd5b9190820391821161174357565b60001981146117435760010190565b8054821015612fd75760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff8160a01c16158015613085575b156130405733300361302f575050565b60ff60a01b1916600160a01b179055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b5033301461301f565b33300361309757565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff60a01b1916905556fef42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46a2646970667358221220dc76d3e168bea45e64d9a2b935697df6bc0fc037ff68efe850a5450efdeccb4c64736f6c63430008120033"; type AccountDepositWithdrawEndowmentsConstructorParams = | [ @@ -2857,13 +2276,6 @@ export class AccountDepositWithdrawEndowments__factory extends ContractFactory { .toLowerCase() ); - linkedBytecode = linkedBytecode.replace( - new RegExp("__\\$cdb3a974a6603f5f21ad73b7f4e0c6fc0b\\$__", "g"), - linkLibraryAddresses["contracts/lib/Strings/string.sol:StringArray"] - .replace(/^0x/, "") - .toLowerCase() - ); - return linkedBytecode; } @@ -2907,5 +2319,4 @@ export class AccountDepositWithdrawEndowments__factory extends ContractFactory { export interface AccountDepositWithdrawEndowmentsLibraryAddresses { ["contracts/core/struct.sol:AngelCoreStruct"]: string; - ["contracts/lib/Strings/string.sol:StringArray"]: string; } diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountDonationMatch__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountDonationMatch__factory.ts index c98f6d453..ed06301d1 100644 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountDonationMatch__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/facets/AccountDonationMatch__factory.ts @@ -32,37 +32,10 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], indexed: false, - internalType: "struct AccountStorage.AllowanceData", + internalType: "uint256", name: "allowance", - type: "tuple", + type: "uint256", }, ], name: "AllowanceStateUpdatedTo", @@ -74,9 +47,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -129,29 +102,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -177,43 +150,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -228,7 +201,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -244,7 +217,7 @@ const _abi = [ ], indexed: false, internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", + name: "createdaomessage", type: "tuple", }, { @@ -263,13 +236,13 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -365,7 +338,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -378,21 +351,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -456,18 +414,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -475,12 +433,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -496,13 +459,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -526,17 +489,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -548,17 +511,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -570,14 +528,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -592,14 +545,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -614,17 +562,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -633,24 +576,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -665,31 +598,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -704,31 +627,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -743,31 +656,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -782,31 +685,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -821,31 +714,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -860,31 +743,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -899,31 +772,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -938,31 +801,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -984,24 +837,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1023,63 +866,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1094,31 +888,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1140,24 +924,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1179,24 +953,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1218,24 +982,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1257,24 +1011,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1296,24 +1040,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1337,9 +1071,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -1433,37 +1167,37 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { indexed: false, internalType: "address", - name: "curTokenin", + name: "tokenin", type: "address", }, { indexed: false, internalType: "address", - name: "curTokenout", + name: "tokenout", type: "address", }, { indexed: false, internalType: "uint256", - name: "curAmountout", + name: "amountout", type: "uint256", }, ], @@ -1480,23 +1214,65 @@ const _abi = [ name: "owner", type: "address", }, + { + internalType: "string", + name: "version", + type: "string", + }, { internalType: "address", name: "registrarContract", type: "address", }, { - internalType: "uint256", + internalType: "uint32", name: "nextAccountId", - type: "uint256", + type: "uint32", }, { internalType: "uint256", name: "maxGeneralCategoryId", type: "uint256", }, - ], - indexed: false, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + internalType: "bool", + name: "reentrancyGuardLocked", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, + ], + indexed: false, internalType: "struct AccountStorage.Config", name: "config", type: "tuple", @@ -1550,7 +1326,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1563,21 +1339,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -1641,18 +1402,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -1660,12 +1421,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -1681,13 +1447,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -1711,17 +1477,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1733,17 +1499,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1755,14 +1516,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1777,14 +1533,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1799,17 +1550,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1818,24 +1564,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1850,31 +1586,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1889,31 +1615,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1928,31 +1644,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1967,31 +1673,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2006,31 +1702,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2045,31 +1731,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2084,31 +1760,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2123,31 +1789,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2169,24 +1825,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2208,63 +1854,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2279,31 +1876,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2325,24 +1912,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2364,24 +1941,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2403,24 +1970,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2442,24 +1999,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2481,24 +2028,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2522,9 +2059,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -2569,143 +2106,20 @@ const _abi = [ type: "event", }, { - anonymous: false, inputs: [ { - indexed: false, - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", - type: "tuple", - }, - { - internalType: "bool", - name: "closingEndowment", - type: "bool", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", - type: "tuple", - }, - ], - indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", - type: "tuple", - }, - ], - name: "UpdateEndowmentState", - type: "event", - }, - { - inputs: [ - { - internalType: "uint256", - name: "curId", - type: "uint256", + type: "uint32", }, { internalType: "address", - name: "curToken", + name: "token", type: "address", }, { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -2717,9 +2131,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", - name: "curId", - type: "uint256", + internalType: "uint32", + name: "id", + type: "uint32", }, { components: [ @@ -2752,7 +2166,7 @@ const _abi = [ }, ], internalType: "struct AccountMessages.DonationMatch", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -2764,18 +2178,18 @@ const _abi = [ { inputs: [ { - internalType: "uint256", - name: "curId", - type: "uint256", + internalType: "uint32", + name: "id", + type: "uint32", }, { internalType: "address", - name: "curRecipient", + name: "recipient", type: "address", }, { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -2787,7 +2201,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001657612700908161001c8239f35b600080fdfe60808060405260043610156200001457600080fd5b600090813560e01c908163169365e61462000f4257508063445c7b7414620002a957639de4c182146200004657600080fd5b34620002a65762000057366200119c565b908284526020600080516020620026ab8339815191528152604085208315620002615780546001600160a01b039190821633036200022d578587527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4080845285604089205410620001f257868852835260408720805490868203918211620001de5755601b015460405163a9059cbb60e01b8152938216600485018190526024850186905293918391839160449183918b91165af1908115620001d357869162000192575b50156200015c57917fcb1554278e74467e3a03605183022eced5dc116a9d067e47eaf8447202dbc0ae93916060936040519384528301526040820152a180f35b6064906040519062461bcd60e51b82526004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152fd5b90508181813d8311620001cb575b620001ac818362001257565b81010312620001c757620001c090620012a8565b386200011c565b8580fd5b503d620001a0565b6040513d88823e3d90fd5b634e487b7160e01b89526011600452602489fd5b60405162461bcd60e51b8152600481018590526013602482015272125b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606490fd5b60405162461bcd60e51b815260048101849052600c60248201526b155b905d5d1a1bdc9a5e995960a21b6044820152606490fd5b60405162461bcd60e51b815260048101839052601e60248201527f616d6f756e742073686f756c6420626520677261746572207468616e203000006044820152606490fd5b80fd5b5034620002a65760a0366003190112620002a6576080366023190112620002a657604051620002d881620011cd565b602435600281101562000cd2578152606036604319011262000f3e57604051620003028162001200565b6044356001600160a01b038116810362000f3a5781526064356001600160a01b038116810362000f3a57602082015260843562ffffff8116810362000f3a57604082015260208201527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b5460ff8160a01c1615801562000f30575b1562000eeb5733300362000eb5575b506004358252600080516020620026ab83398151915260205260408220604051908161044081011067ffffffffffffffff6104408401111762000ea157610440820160405280546001600160a01b03168252620003ec60018201620016aa565b6020830152604051620003ff81620011cd565b6200040d6002830162001788565b81526200041d6003830162001788565b602082015260408301526004810154606083015260ff600582015416600381101562000d875760808301526200045660068201620016aa565b60a08301526200046960078201620016aa565b60c08301526008810154600460ff8216101562000d87578060ff80921660e0850152818160081c16151561010085015260101c1615156101208301526009810154610140830152620004be600a820162001838565b610160830152620004d2600e820162001838565b610180830152604051620004e6816200121d565b601282015460ff8181161515835260089190911c811615156020830152601383015460408301526014830154811615156060830152601583015460808301526101a08401919091526016820154811615156101c084015260178201546101e084015260188201546102008401526019820154610220840152601a8201546001600160a01b0390811661024080860191909152601b84015480831661026087015260a01c9092161515610280850152601c830154166102a0840152620005ae601d830162001890565b6102c0840152620005c2601e830162001890565b6102e0840152620005d6601f830162001890565b610300840152620005ea60208301620018ec565b610320840152620005fe60238301620018ec565b6103408401526200061260268301620018ec565b6103608401526200062660298301620018ec565b61038084015260405190818181011067ffffffffffffffff828401111762000e8d578101604052606791906200065f602c830162001924565b81526200066f602f830162001924565b6020820152620006826032830162001924565b6040820152620006956035830162001924565b6060820152620006a86038830162001924565b6080820152620006bb603b830162001924565b60a0820152620006ce603e830162001924565b60c0820152620006e16041830162001924565b60e0820152620006f46044830162001924565b610100820152620007086047830162001924565b6101208201526200071c604a830162001924565b61014082015262000730604d830162001924565b610160820152620007446050830162001924565b610180820152620007586053830162001924565b6101a08201526200076c6056830162001924565b6101c0820152620007806059830162001924565b6101e082015262000794605c830162001924565b610200820152620007a8605f830162001924565b6102208201526103a084015260628101546103c084015260ff60638201541615156103e0840152604051620007dd8162001200565b606482015481526065820154602082015260668201546040820152610400840152015461042082015280516001600160a01b0316330362000e595780516001600160a01b03161562000e2b576102a001516001600160a01b031662000dfd577ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d465460405163e68f909d60e01b8152916001600160a01b03909116908383600481855afa92831562000df257849362000dc9575b506101608301516001600160a01b03161562000d9b576020818101510151620008c4906001600160a01b0316151562001986565b6103c0830151620008e0906001600160a01b03161515620019c2565b620008fa62ffffff60406020840151015116151562001986565b8051600281101562000d875762000d27576101e08301805162000928906001600160a01b03161515620019c2565b516001600160a01b0316915b60208201519062ffffff604060018060a01b036020850151169301511660018060a01b036103c08701511691604051936200096f856200121d565b6001600160a01b0387811686526020808701928352604080880194855260608801958652608088019687526101a08b0151905163d769c63760e01b92810192909252965182166024820152915181166044830152915182166064820152915162ffffff1660848301529151821660a4820152911660c480830191909152815267ffffffffffffffff61010082019081119082111762000d135761010081810160408190526101608601516103a08701516001600160a01b039081169391169167ffffffffffffffff610cb2860190920191821191101762000cff57908694939291610cb2620019f9610100850139610100610cb284010152610120610cb2830101526060610140610cb283010152805180610160610cb284010152845b81811062000ce15750610cb2820180820161018001869052601f909101601f191601819003608001906101000184f093841562000cd6576004358452600080516020620026ab83398151915260209081526040808620601c0180546001600160a01b0319166001600160a01b03898116919091179091556101a084015194830151928301517ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4654938301516103c0909501519251969582169562ffffff9590951694938216939282169291169062000b64876200121d565b6001600160a01b031686526020860152604085015260608401526080830152803b1562000cd25760408051633eb48e9f60e11b815260048035908201526001600160a01b0395861660248201528351861660448201526020840151861660648201529083015185166084820152606083015190941660a485015260809091015162ffffff1660c4840152829060e490829084905af1801562000cc75762000c99575b506004358152600080516020620026ab8339815191526020527f159886f562dcec80761c0f91c5c89f13540ee2704bb76baf3d4300658472e197604060018060a01b03601c82852001541681519060043582526020820152a133300362000c6a5780f35b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff60a01b1916905580f35b67ffffffffffffffff811162000cb3576040523862000c06565b634e487b7160e01b82526041600452602482fd5b6040513d84823e3d90fd5b8280fd5b6040513d85823e3d90fd5b6020838201810151610180610cb28601840101528896500162000a8c565b634e487b7160e01b87526041600452602487fd5b634e487b7160e01b85526041600452602485fd5b6020810151516001600160a01b03161562000d52576020810151516001600160a01b03169162000934565b60405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420204461746160981b6044820152606490fd5b634e487b7160e01b85526021600452602485fd5b60405162461bcd60e51b8152602060048201526006602482015265105108114c0d60d21b6044820152606490fd5b62000dea9193503d8086833e62000de1818362001257565b810190620012b6565b913862000890565b6040513d86823e3d90fd5b60405162461bcd60e51b815260206004820152600660248201526541442045303360d01b6044820152606490fd5b60405162461bcd60e51b815260206004820152600660248201526520a21022981960d11b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b634e487b7160e01b86526041600452602486fd5b634e487b7160e01b84526041600452602484fd5b60ff60a01b1916600160a01b177ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b55386200038c565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b503330146200037d565b8380fd5b5080fd5b90503462000f3e5762000f55366200119c565b9192838552602091600080516020620026ab8339815191528352604086209060018060a01b03928781600481877ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46541663e68f909d60e01b82525afa801562001191576101e085929183928b9162001173575b500151169116928380921492831562001162575b505050156200112d578185916064604051809481936323b872dd60e01b83523360048401523060248401528860448401525af190811562001122578591620010e1575b5015620010a7578284527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d40815260408420805490838201809211620010935791604093917f3aa7001482235864cb4490b240fc8111eed020f6cf71b0a03c6f9e129016b8c19593558351928352820152a180f35b634e487b7160e01b86526011600452602486fd5b6064906040519062461bcd60e51b825260048201526013602482015272151c985b9cd9995c919c9bdb4819985a5b1959606a1b6044820152fd5b90508181813d83116200111a575b620010fb818362001257565b8101031262001116576200110f90620012a8565b386200101f565b8480fd5b503d620010ef565b6040513d87823e3d90fd5b60405162461bcd60e51b815260048101839052600d60248201526c24b73b30b634b2102a37b5b2b760991b6044820152606490fd5b601b01541614905081388062000fdc565b6200118a91503d808d833e62000de1818362001257565b3862000fc8565b6040513d8a823e3d90fd5b6060906003190112620011c857600435906024356001600160a01b0381168103620011c8579060443590565b600080fd5b6040810190811067ffffffffffffffff821117620011ea57604052565b634e487b7160e01b600052604160045260246000fd5b6060810190811067ffffffffffffffff821117620011ea57604052565b60a0810190811067ffffffffffffffff821117620011ea57604052565b6080810190811067ffffffffffffffff821117620011ea57604052565b90601f8019910116810190811067ffffffffffffffff821117620011ea57604052565b51906001600160a01b0382168203620011c857565b67ffffffffffffffff8111620011ea5760051b60200190565b51908115158203620011c857565b906020908183820312620011c857825167ffffffffffffffff93848211620011c85701808203906104e08212620011c8576040918251956104209182880188811083821117620011ea5785526200130d846200127a565b88526200131c8785016200127a565b878901526200132d8585016200127a565b858901526200133f606085016200127a565b606089015262001352608085016200127a565b60808901526200136560a085016200127a565b60a08901526200137860c085016200127a565b60c08901526200138b60e085016200127a565b60e0890152610100620013a08186016200127a565b90890152610120620013b48186016200127a565b90890152610140620013c88186016200127a565b90890152610160620013dc8186016200127a565b90890152610180620013f08186016200127a565b908901526101a0620014048186016200127a565b9089015260606101bf19820112620011c857845191620014248362001200565b6101c0928386015181526101e090818701518a8201526102009485880151898301528b0152610220906200145a8288016200127a565b908b0152610240936200146f8588016200127a565b908b015261026090620014848288016200127a565b908b015261028093620014998588016200127a565b908b01526102a09081870151908b01526102c093620014ba8588016200127a565b908b01526102e09788870151838111620011c8578701928a84830312620011c8578851938b850185811083821117620011ea578a528051918211620011c857019080601f83011215620011c857815162001514816200128f565b92620015238b51948562001257565b8184528c8085019260051b820101928311620011c8578c809101915b8383106200168f57505050908352508901526103009160a09190620015668685016200127a565b908a015261031f190112620011c8576200168894846104c09551906200158c826200121d565b6200163161032095620015a1878901620012a8565b84526103409a620015b48c8a01620012a8565b9085015261036092838901519085015261038093620015d5858a01620012a8565b60608201526103a095868a015160808301528d01526103c095620015fb878a016200127a565b908d01526103e09662001610888a016200127a565b908d01526104009a620016258c8a016200127a565b908d015287016200127a565b908a01526200164461044086016200127a565b908901526200165761046085016200127a565b908801526200166a61048084016200127a565b908701526200167d6104a083016200127a565b90860152016200127a565b9082015290565b81906200169c846200127a565b8152019101908c906200153f565b90604051906000835490600182811c908084169687156200177d575b602094858410891462001769578798848997989952908160001462001745575060011462001702575b505050620017009250038362001257565b565b600090815285812095935091905b8183106200172c575050620017009350820101388080620016ef565b8554888401850152948501948794509183019162001710565b925050506200170094925060ff191682840152151560051b820101388080620016ef565b634e487b7160e01b85526022600452602485fd5b91607f1691620016c6565b9060405191828154918282526020928383019160005283600020936000905b828210620017c057505050620017009250038362001257565b855484526001958601958895509381019390910190620017a7565b908154620017e9816200128f565b92620017f9604051948562001257565b818452600090815260208082208186015b84841062001819575050505050565b60018381926200182985620016aa565b8152019201930192906200180a565b9060405162001847816200123a565b60606200188b600383956200185c81620017db565b85526200186c6001820162001788565b60208601526200187f60028201620017db565b60408601520162001788565b910152565b9060405191828154918282526020928383019160005283600020936000905b828210620018c857505050620017009250038362001257565b85546001600160a01b031684526001958601958895509381019390910190620018af565b90604051620018fb8162001200565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b906040519162001934836200123a565b60608360ff835481811615158352818160081c161515602084015260101c16151560408201526002604051936200196b85620011cd565b60018101546001600160a01b03168552015460208401520152565b156200198e57565b60405162461bcd60e51b815260206004820152600c60248201526b496e76616c6964204461746160a01b6044820152606490fd5b15620019ca57565b60405162461bcd60e51b815260206004820152600660248201526541442045303560d01b6044820152606490fdfe604060808152346200030c5762000cb2803803806200001e8162000311565b9283398101906060818303126200030c576200003a816200034d565b916020926200004b8484016200034d565b8584015190936001600160401b0391908282116200030c57019280601f850112156200030c5783519362000089620000838662000362565b62000311565b94808652878601928882840101116200030c578288620000aa93016200037e565b823b15620002b2577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03199081166001600160a01b0386811691821790935590959194600093909290917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2805115801590620002aa575b620001fb575b50505050507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103937f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f86865493815196818616885216958684820152a18315620001a95750161790555161085590816200045d8239f35b60849086519062461bcd60e51b82526004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b895194606086019081118682101762000296578a52602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c89860152660819985a5b195960ca1b8a86015251620002809493929183918291845af4903d156200028c573d62000270620000838262000362565b90815280938a3d92013e620003a3565b50388080808062000133565b60609250620003a3565b634e487b7160e01b85526041600452602485fd5b50836200012d565b865162461bcd60e51b815260048101879052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033757604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200030c57565b6001600160401b0381116200033757601f01601f191660200190565b60005b838110620003925750506000910152565b818101518382015260200162000381565b91929015620004085750815115620003b9575090565b3b15620003c35790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156200041c5750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526200044e81518092816024860152602086860191016200037e565b601f01601f19168101030190fdfe60806040526004361015610018575b366100a6576100a6565b6000803560e01c80636e9960c3146100725763aaf10f421461003a575061000e565b3461006f578060031936011261006f57600080516020610800833981519152546040516001600160a01b039091168152602090f35b80fd5b503461006f578060031936011261006f576000805160206107e0833981519152546001600160a01b03166080908152602090f35b6000805160206107e0833981519152546001600160a01b031633036101c6576000356001600160e01b031916631b2ce7f360e11b81036100f157506100e9610426565b602081519101f35b63278f794360e11b810361010d57506101086105c8565b6100e9565b6308f2839760e41b81036101245750610108610350565b6303e1469160e61b810361013b5750610108610275565b635c60da1b60e01b03610150576101086102ae565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a490fd5b60008051602061080083398151915254600090819081906001600160a01b0316368280378136915af43d82803e156101fc573d90f35b3d90fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761023257604052565b610200565b6020810190811067ffffffffffffffff82111761023257604052565b90601f8019910116810190811067ffffffffffffffff82111761023257604052565b61027d610659565b60018060a01b036000805160206107e08339815191525416604051906020820152602081526102ab81610216565b90565b6102b6610659565b60018060a01b036000805160206108008339815191525416604051906020820152602081526102ab81610216565b600435906001600160a01b03821682036102fa57565b600080fd5b60209060031901126102fa576004356001600160a01b03811681036102fa5790565b67ffffffffffffffff811161023257601f01601f191660200190565b6040519061034a82610237565b60008252565b610358610659565b366004116102fa576001600160a01b0380610372366102ff565b166000805160206107e0833981519152917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f604084549281519084168152846020820152a181156103d2576001600160a01b0319161790556102ab61033d565b60405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b61042e610659565b366004116102fa576001600160a01b03610447366102ff565b166040519061045582610237565b60008252803b156104ec5760008051602061080083398151915280546001600160a01b03191682179055807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906104e4575b6104ca575b50506040516104c381610237565b6000815290565b6104dc916104d6610660565b916106ba565b5038806104b5565b5060006104b0565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b803b156104ec5760008051602061080083398151915280546001600160a01b0319166001600160a01b0383169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906105c0575b6105b1575050565b6105bd916104d6610660565b50565b5060016105a9565b366004116102fa5760403660031901126102fa576105e46102e4565b6024359067ffffffffffffffff82116102fa57366023830112156102fa5781600401359061061182610321565b9161061f6040519384610253565b80835236602482860101116102fa576020816000926024610651970183870137840101526001600160a01b0316610547565b6102ab61033d565b346102fa57565b604051906060820182811067ffffffffffffffff8211176102325760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b6000806102ab9493602081519101845af43d156106f9573d916106dc83610321565b926106ea6040519485610253565b83523d6000602085013e61074d565b60609161074d565b1561070857565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9192901561076d5750815115610761575090565b6102ab903b1515610701565b8251909150156107805750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106107c6575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506107a356feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c61acf3b60fe54f1c7b5e35eb3227d4fadb64a46e27a14985085e09c0322a78c64736f6c63430008120033f42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42a264697066735822122071dbbe99b673f056abca5ddf13ef0d53f36b6f458c978b56508b4e45ce7189d964736f6c63430008120033"; + "0x6080806040523461001657612518908161001c8239f35b600080fdfe608060405260043610156200001357600080fd5b6000803560e01c80631fdd03ac1462000edf57806338fa61a51462000cb0576392433088146200004257600080fd5b3462000cad5760a036600319011262000cad5763ffffffff600435166004350362000cad57608036602319011262000cad57604051620000828162001139565b602435600281101562000a54578152606036604319011262000ca957604051620000ac816200116b565b6044356001600160a01b038116810362000ca55781526064356001600160a01b038116810362000ca557602082015260843562ffffff8116810362000ca557604082015260208201527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a5460ff8160a01c1615801562000c9b575b1562000c565733300362000c20575b5062000144600435620011c5565b60405190816103e08101106001600160401b036103e08401111762000c0c576103e0820160405280546001600160a01b031682526200018660018201620014f1565b6020830152604051620001998162001139565b620001a760028301620015cf565b8152620001b760038301620015cf565b602082015260408301526004810154606083015260ff600582015416620001de8162001622565b6080830152620001f160068201620014f1565b60a08301526200020460078201620014f1565b60c0830152600881015460e08301526200022160098201620016a9565b61010083015262000235600d8201620016a9565b6101208301526040518060c08101106001600160401b0360c08301111762000a955760c0810160405263ffffffff601183015460ff811615158352818160081c166020840152818160281c16604084015260ff8160481c1615156060840152818160501c16608084015260701c1660a082015261014083015260ff6012820154161515610160830152601381015461018083015260148101546101a083015260018060a01b036015820154166101c083015260018060a01b036016820154166101e083015260ff601782015460018060a01b03811661020085015260a01c16151561022083015260018060a01b036018820154166102408301526200033d6019820162001710565b61026083015262000351601a820162001710565b61028083015262000365601b820162001710565b6102a083015262000379601c82016200176c565b6102c08301526200038d601e82016200176c565b6102e0830152620003a1602082016200176c565b610300830152620003b5602282016200176c565b610320830152604051806102208101106001600160401b036102208301111762000a95579081610220605b9301604052620003f36024830162001795565b8152620004036027830162001795565b602082015262000416602a830162001795565b604082015262000429602d830162001795565b60608201526200043c6030830162001795565b60808201526200044f6033830162001795565b60a0820152620004626036830162001795565b60c0820152620004756039830162001795565b60e082015262000488603c830162001795565b6101008201526200049c603f830162001795565b610120820152620004b06042830162001795565b610140820152620004c46045830162001795565b610160820152620004d86048830162001795565b610180820152620004ec604b830162001795565b6101a082015262000500604e830162001795565b6101c0820152620005146051830162001795565b6101e0820152620005286054830162001795565b61020082015261034084015260ff605782015463ffffffff811661036086015260201c16151561038084015260405162000562816200116b565b6058820154815260598201546020820152605a82015460408201526103a084015201546103c082015280516001600160a01b0316330362000bd85780516001600160a01b03161562000baa5761024001516001600160a01b031662000b7c576020818101510151620005df906001600160a01b03161515620017be565b620005f962ffffff604060208401510151161515620017be565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d465460405163e68f909d60e01b8152916001600160a01b03909116906103e083600481855afa92831562000b7157849362000b37575b506101408301516001600160a01b03161562000b095761034083015162000681906001600160a01b03161515620017fa565b80516200068e8162001622565b620006998162001622565b62000aa9576101c083018051620006bb906001600160a01b03161515620017fa565b516001600160a01b0316915b60208201519062ffffff604060018060a01b036020850151169301511660018060a01b03610340870151169160405193620007028562001187565b6001600160a01b0387811686526020808701928352604080880194855260608801958652608088019687526101808b0151905163d769c63760e01b92810192909252965182166024820152915181166044830152915182166064820152915162ffffff1660848301529151821660a4820152911660c48083019190915281526001600160401b0361010082019081119082111762000a955761010081810160408190526101408601516103208701516001600160a01b03908116939116916001600160401b03610cb2860190920191821191101762000a8157908694939291610cb262001831610100850139610100610cb284010152610120610cb2830101526060610140610cb283010152805180610160610cb284010152845b81811062000a635750610cb2820180820161018001869052601f909101601f191601819003608001906101000184f093841562000a5857601862000863600435620011c5565b0180546001600160a01b0319166001600160a01b0387811691909117909155610180820151602093840151938401517ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4654604095860151610340909501519551969284169562ffffff95909516949084169390811692911690620008e78762001187565b6001600160a01b031686526020860152604085015260608401526080830152803b1562000a545760408051633eb48e9f60e11b81526004803563ffffffff16908201526001600160a01b0395861660248201528351861660448201526020840151861660648201529083015185166084820152606083015190941660a48501526080919091015162ffffff1660c4840152829060e490829084905af1801562000a495762000a1c575b507f159886f562dcec80761c0f91c5c89f13540ee2704bb76baf3d4300658472e19760406001600160a01b036018620009cb600435620011c5565b01541681519063ffffffff6004351682526020820152a1333003620009ed5780f35b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff60a01b1916905580f35b6001600160401b03811162000a35576040523862000990565b634e487b7160e01b82526041600452602482fd5b6040513d84823e3d90fd5b8280fd5b6040513d85823e3d90fd5b6020838201810151610180610cb2860184010152889650016200081d565b634e487b7160e01b87526041600452602487fd5b634e487b7160e01b85526041600452602485fd5b6020810151516001600160a01b03161562000ad4576020810151516001600160a01b031691620006c7565b60405162461bcd60e51b815260206004820152600d60248201526c496e76616c696420204461746160981b6044820152606490fd5b60405162461bcd60e51b8152602060048201526006602482015265105108114c0d60d21b6044820152606490fd5b62000b619193506103e03d6103e01162000b69575b62000b588183620011a3565b81019062001244565b91386200064f565b503d62000b4c565b6040513d86823e3d90fd5b60405162461bcd60e51b815260206004820152600660248201526541442045303360d01b6044820152606490fd5b60405162461bcd60e51b815260206004820152600660248201526520a21022981960d11b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b634e487b7160e01b84526041600452602484fd5b60ff60a01b1916600160a01b177ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a553862000136565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b5033301462000127565b8380fd5b5080fd5b80fd5b503462000cad5762000cc236620010fa565b9162000cce81620011c5565b831562000e9a5780546001600160a01b0391908216330362000e66578462000cf684620011fa565b541062000e2b5762000d0883620011fa565b80549086820391821162000e1757556017015460405163a9059cbb60e01b815293821660048501819052602485018690529391602091839160449183918a91165af190811562000e0c57859162000dd7575b501562000da0577fcb1554278e74467e3a03605183022eced5dc116a9d067e47eaf8447202dbc0ae9260609263ffffffff6040519316835260208301526040820152a180f35b60405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b62000dfd915060203d811162000e04575b62000df48183620011a3565b810190620014d7565b3862000d5a565b503d62000de8565b6040513d87823e3d90fd5b634e487b7160e01b88526011600452602488fd5b60405162461bcd60e51b8152602060048201526013602482015272125b9cdd59999a58da595b9d08185b5bdd5b9d606a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b155b905d5d1a1bdc9a5e995960a21b6044820152606490fd5b60405162461bcd60e51b815260206004820152601e60248201527f616d6f756e742073686f756c6420626520677261746572207468616e203000006044820152606490fd5b503462000cad5762000ef136620010fa565b9062000efd83620011c5565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d465460405163e68f909d60e01b81526001600160a01b0393916103e0919082908290600490829089165afa918215620010ef57859283926101c0928b92620010cd575b505001511691169283809214928315620010bc575b505050156200108757602084916064604051809481936323b872dd60e01b83523360048401523060248401528760448401525af190811562000b7157849162001064575b5015620010295762000fcb82620011fa565b8054908282018092116200101557917f3aa7001482235864cb4490b240fc8111eed020f6cf71b0a03c6f9e129016b8c193916040935563ffffffff8351921682526020820152a180f35b634e487b7160e01b85526011600452602485fd5b60405162461bcd60e51b8152602060048201526013602482015272151c985b9cd9995c919c9bdb4819985a5b1959606a1b6044820152606490fd5b62001080915060203d811162000e045762000df48183620011a3565b3862000fb9565b60405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2102a37b5b2b760991b6044820152606490fd5b601701541614905081388062000f75565b620010e79250803d1062000b695762000b588183620011a3565b388062000f60565b6040513d8a823e3d90fd5b6060906003190112620011345760043563ffffffff811681036200113457906024356001600160a01b038116810362001134579060443590565b600080fd5b604081019081106001600160401b038211176200115557604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176200115557604052565b60a081019081106001600160401b038211176200115557604052565b90601f801991011681019081106001600160401b038211176200115557604052565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d40602052604060002090565b51906001600160a01b03821682036200113457565b8091036103e0811262001134576040918251926103a092838501908582106001600160401b038311176200115557606091835262001282846200122f565b865262001292602085016200122f565b6020870152620012a48385016200122f565b83870152620012b58285016200122f565b82870152620012c7608085016200122f565b6080870152620012da60a085016200122f565b60a0870152620012ed60c085016200122f565b60c08701526200130060e085016200122f565b60e0870152610100620013158186016200122f565b90870152610120620013298186016200122f565b908701526101406200133d8186016200122f565b90870152610160620013518186016200122f565b90870152610180620013658186016200122f565b9087015261019f1901126200113457620014d09181620014c56103c09351956200138f876200116b565b6101a0968785015181526101c0978886015160208301526101e094858701519083015289015261020096620013c68886016200122f565b9089015261022092620013db8486016200122f565b9089015261024096620013f08886016200122f565b9089015261026092838501519089015261028096620014118886016200122f565b908901526102a092620014268486016200122f565b908901526102c0966200143b8886016200122f565b908901526102e092620014508486016200122f565b9089015261030096620014658886016200122f565b90890152610320926200147a8486016200122f565b90890152610340966200148f8886016200122f565b9089015261036092620014a48486016200122f565b9089015261038096620014b98886016200122f565b9089015283016200122f565b90860152016200122f565b9082015290565b908160209103126200113457518015158103620011345790565b90604051906000835490600182811c90808416968715620015c4575b6020948584108914620015b057879884899798995290816000146200158c575060011462001549575b5050506200154792500383620011a3565b565b600090815285812095935091905b8183106200157357505062001547935082010138808062001536565b8554888401850152948501948794509183019162001557565b925050506200154794925060ff191682840152151560051b82010138808062001536565b634e487b7160e01b85526022600452602485fd5b91607f16916200150d565b9060405191828154918282526020928383019160005283600020936000905b82821062001607575050506200154792500383620011a3565b855484526001958601958895509381019390910190620015ee565b600211156200162d57565b634e487b7160e01b600052602160045260246000fd5b9081546001600160401b03811162001155576040519260206200166c818460051b0186620011a3565b82855260009182528082208186015b8484106200168a575050505050565b60018381926200169a85620014f1565b8152019201930192906200167b565b90604051608081018181106001600160401b03821117620011555760405260606200170b60038395620016dc8162001643565b8552620016ec60018201620015cf565b6020860152620016ff6002820162001643565b604086015201620015cf565b910152565b9060405191828154918282526020928383019160005283600020936000905b82821062001748575050506200154792500383620011a3565b85546001600160a01b0316845260019586019588955093810193909101906200172f565b906040516200177b8162001139565b82546001600160a01b031681526001909201546020830152565b90604051620017a48162001139565b60206200170b6001839560ff81541615158552016200176c565b15620017c657565b60405162461bcd60e51b815260206004820152600c60248201526b496e76616c6964204461746160a01b6044820152606490fd5b156200180257565b60405162461bcd60e51b815260206004820152600660248201526541442045303560d01b6044820152606490fdfe604060808152346200030c5762000cb2803803806200001e8162000311565b9283398101906060818303126200030c576200003a816200034d565b916020926200004b8484016200034d565b8584015190936001600160401b0391908282116200030c57019280601f850112156200030c5783519362000089620000838662000362565b62000311565b94808652878601928882840101116200030c578288620000aa93016200037e565b823b15620002b2577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03199081166001600160a01b0386811691821790935590959194600093909290917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2805115801590620002aa575b620001fb575b50505050507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103937f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f86865493815196818616885216958684820152a18315620001a95750161790555161085590816200045d8239f35b60849086519062461bcd60e51b82526004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b895194606086019081118682101762000296578a52602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c89860152660819985a5b195960ca1b8a86015251620002809493929183918291845af4903d156200028c573d62000270620000838262000362565b90815280938a3d92013e620003a3565b50388080808062000133565b60609250620003a3565b634e487b7160e01b85526041600452602485fd5b50836200012d565b865162461bcd60e51b815260048101879052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033757604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200030c57565b6001600160401b0381116200033757601f01601f191660200190565b60005b838110620003925750506000910152565b818101518382015260200162000381565b91929015620004085750815115620003b9575090565b3b15620003c35790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156200041c5750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526200044e81518092816024860152602086860191016200037e565b601f01601f19168101030190fdfe60806040526004361015610018575b366100a6576100a6565b6000803560e01c80636e9960c3146100725763aaf10f421461003a575061000e565b3461006f578060031936011261006f57600080516020610800833981519152546040516001600160a01b039091168152602090f35b80fd5b503461006f578060031936011261006f576000805160206107e0833981519152546001600160a01b03166080908152602090f35b6000805160206107e0833981519152546001600160a01b031633036101c6576000356001600160e01b031916631b2ce7f360e11b81036100f157506100e9610426565b602081519101f35b63278f794360e11b810361010d57506101086105c8565b6100e9565b6308f2839760e41b81036101245750610108610350565b6303e1469160e61b810361013b5750610108610275565b635c60da1b60e01b03610150576101086102ae565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a490fd5b60008051602061080083398151915254600090819081906001600160a01b0316368280378136915af43d82803e156101fc573d90f35b3d90fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761023257604052565b610200565b6020810190811067ffffffffffffffff82111761023257604052565b90601f8019910116810190811067ffffffffffffffff82111761023257604052565b61027d610659565b60018060a01b036000805160206107e08339815191525416604051906020820152602081526102ab81610216565b90565b6102b6610659565b60018060a01b036000805160206108008339815191525416604051906020820152602081526102ab81610216565b600435906001600160a01b03821682036102fa57565b600080fd5b60209060031901126102fa576004356001600160a01b03811681036102fa5790565b67ffffffffffffffff811161023257601f01601f191660200190565b6040519061034a82610237565b60008252565b610358610659565b366004116102fa576001600160a01b0380610372366102ff565b166000805160206107e0833981519152917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f604084549281519084168152846020820152a181156103d2576001600160a01b0319161790556102ab61033d565b60405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b61042e610659565b366004116102fa576001600160a01b03610447366102ff565b166040519061045582610237565b60008252803b156104ec5760008051602061080083398151915280546001600160a01b03191682179055807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906104e4575b6104ca575b50506040516104c381610237565b6000815290565b6104dc916104d6610660565b916106ba565b5038806104b5565b5060006104b0565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b803b156104ec5760008051602061080083398151915280546001600160a01b0319166001600160a01b0383169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906105c0575b6105b1575050565b6105bd916104d6610660565b50565b5060016105a9565b366004116102fa5760403660031901126102fa576105e46102e4565b6024359067ffffffffffffffff82116102fa57366023830112156102fa5781600401359061061182610321565b9161061f6040519384610253565b80835236602482860101116102fa576020816000926024610651970183870137840101526001600160a01b0316610547565b6102ab61033d565b346102fa57565b604051906060820182811067ffffffffffffffff8211176102325760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b6000806102ab9493602081519101845af43d156106f9573d916106dc83610321565b926106ea6040519485610253565b83523d6000602085013e61074d565b60609161074d565b1561070857565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9192901561076d5750815115610761575090565b6102ab903b1515610701565b8251909150156107805750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106107c6575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506107a356feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b73d54cdeedb79ac10b05dcfd6196ca3c80a671a4fbd8a0e9e661d3360347dd764736f6c63430008120033a264697066735822122096251aba1a1d2c9d30248a8489d42859f28ec005a8c474fafca8dea3aefec22364736f6c63430008120033"; type AccountDonationMatchConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountsAllowance__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountsAllowance__factory.ts index 36594bd06..29c451d23 100644 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountsAllowance__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/facets/AccountsAllowance__factory.ts @@ -32,37 +32,10 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], indexed: false, - internalType: "struct AccountStorage.AllowanceData", + internalType: "uint256", name: "allowance", - type: "tuple", + type: "uint256", }, ], name: "AllowanceStateUpdatedTo", @@ -74,9 +47,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -129,29 +102,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -177,43 +150,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -228,7 +201,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -244,7 +217,7 @@ const _abi = [ ], indexed: false, internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", + name: "createdaomessage", type: "tuple", }, { @@ -263,13 +236,13 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -365,7 +338,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -378,21 +351,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -456,18 +414,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -475,12 +433,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -496,13 +459,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -526,17 +489,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -548,17 +511,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -570,14 +528,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -592,14 +545,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -614,17 +562,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -633,24 +576,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -665,31 +598,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -704,31 +627,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -743,31 +656,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -782,31 +685,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -821,31 +714,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -860,31 +743,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -899,31 +772,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -938,31 +801,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -984,24 +837,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1023,63 +866,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1094,31 +888,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1140,24 +924,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1179,24 +953,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1218,24 +982,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1257,24 +1011,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1296,24 +1040,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1337,9 +1071,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -1433,37 +1167,37 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { indexed: false, internalType: "address", - name: "curTokenin", + name: "tokenin", type: "address", }, { indexed: false, internalType: "address", - name: "curTokenout", + name: "tokenout", type: "address", }, { indexed: false, internalType: "uint256", - name: "curAmountout", + name: "amountout", type: "uint256", }, ], @@ -1480,23 +1214,65 @@ const _abi = [ name: "owner", type: "address", }, + { + internalType: "string", + name: "version", + type: "string", + }, { internalType: "address", name: "registrarContract", type: "address", }, { - internalType: "uint256", + internalType: "uint32", name: "nextAccountId", - type: "uint256", + type: "uint32", }, { internalType: "uint256", name: "maxGeneralCategoryId", type: "uint256", }, - ], - indexed: false, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + internalType: "bool", + name: "reentrancyGuardLocked", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, + ], + indexed: false, internalType: "struct AccountStorage.Config", name: "config", type: "tuple", @@ -1550,7 +1326,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1563,21 +1339,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -1641,18 +1402,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -1660,12 +1421,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -1681,13 +1447,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -1711,17 +1477,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1733,17 +1499,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1755,14 +1516,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1777,14 +1533,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1799,17 +1550,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1818,24 +1564,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1850,31 +1586,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1889,31 +1615,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1928,31 +1644,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1967,31 +1673,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2006,31 +1702,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2045,31 +1731,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2084,31 +1760,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2123,31 +1789,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2169,24 +1825,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2208,63 +1854,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2279,31 +1876,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2325,24 +1912,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2364,24 +1941,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2403,24 +1970,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2442,24 +1999,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2481,24 +2028,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2522,9 +2059,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -2568,183 +2105,33 @@ const _abi = [ name: "UpdateEndowment", type: "event", }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", - type: "tuple", - }, - { - internalType: "bool", - name: "closingEndowment", - type: "bool", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", - type: "tuple", - }, - ], - indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", - type: "tuple", - }, - ], - name: "UpdateEndowmentState", - type: "event", - }, { inputs: [ { - internalType: "uint256", - name: "curId", - type: "uint256", + internalType: "uint32", + name: "endowId", + type: "uint32", }, { - internalType: "string", - name: "curAction", - type: "string", + internalType: "enum AngelCoreStruct.AllowanceAction", + name: "action", + type: "uint8", }, { internalType: "address", - name: "curSpender", + name: "spender", type: "address", }, - { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], - internalType: "struct AccountStorage.AllowanceData", - name: "curAllowance", - type: "tuple", - }, { internalType: "address", - name: "curTokenaddress", + name: "token", type: "address", }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, ], name: "manageAllowances", outputs: [], @@ -2754,23 +2141,23 @@ const _abi = [ { inputs: [ { - internalType: "uint256", - name: "curId", - type: "uint256", + internalType: "uint32", + name: "endowId", + type: "uint32", }, { internalType: "address", - name: "curTokenaddress", + name: "token", type: "address", }, { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { internalType: "address", - name: "curRecipient", + name: "recipient", type: "address", }, ], @@ -2782,25 +2169,51 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001657611e87908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80637dba477f14610c5b5763aa47ea411461003257600080fd5b34610b05576080366003190112610b05576024356001600160a01b0381168103610b0557606435906001600160a01b0382168203610b0557610072611d79565b6004356000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002091604051926100af8461181f565b6040516100bb816117cd565b815481526001820154602082015284526040516100d7816117cd565b6100e360028301611c18565b81526100f160058301611c18565b6020820152602085015260ff6008820154161515604085015260ff600b6040519261011b846117cd565b604051610127816117cd565b60098201548152600a8201546001600160a01b03166020820152845201541661014f8161197b565b6020820152606084015260208084015101519060018060a01b03831615610c1e5760443515610be05760009060009360005b604085015180519060ff831691821015610bd3576001600160a01b03848116916101ac908490611c49565b5116146101dd575060ff1660ff81146101c757600101610181565b634e487b7160e01b600052601160045260246000fd5b949550509091506101f2836020860151611c49565b515b6044351015610b9a576004356000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d426020526040600020926040519261023a846117b1565b84546001600160a01b031684526102536001860161185b565b6020850152604051610264816117cd565b6102706002870161192c565b815261027e6003870161192c565b602082015260408501526004850154606085015260ff600586015416916003831015610b84576106b4856067600098604496608060209a01526102c36006820161185b565b60a08401526102d46007820161185b565b60c084015260ff60088201548181166102ec8161197b565b60e0860152818160081c16151561010086015260101c1615156101208401526009810154610140840152610322600a82016119e4565b610160840152610334600e82016119e4565b61018084015260405161034681611796565b601282015460ff8181161515835260089190911c811615158b830152601383015460408301526014830154811615156060830152601583015460808301526101a08501919091526016820154811615156101c085015260178201546101e085015260188201546102008501526019820154610220850152601a8201546001600160a01b03908116610240860152601b83015480821661026087015260a01c9091161515610280850152601c820154166102a0840152610407601d8201611a32565b6102c0840152610419601e8201611a32565b6102e084015261042b601f8201611a32565b61030084015261043c898201611a8a565b61032084015261044e60238201611a8a565b61034084015261046060268201611a8a565b61036084015261047260298201611a8a565b610380840152604051610484816117e8565b610490602c8301611ac0565b815261049e602f8301611ac0565b8a8201526104ae60328301611ac0565b60408201526104bf60358301611ac0565b60608201526104d060388301611ac0565b60808201526104e1603b8301611ac0565b60a08201526104f2603e8301611ac0565b60c082015261050360418301611ac0565b60e0820152610513888301611ac0565b61010082015261052560478301611ac0565b610120820152610537604a8301611ac0565b610140820152610549604d8301611ac0565b61016082015261055b60508301611ac0565b61018082015261056d60538301611ac0565b6101a082015261057f60568301611ac0565b6101c082015261059160598301611ac0565b6101e08201526105a3605c8301611ac0565b6102008201526105b5605f8301611ac0565b6102208201526103a084015260628101546103c084015260ff60638201541615156103e08401526040516105e881611804565b6064820154815260658201548a820152606682015460408201526104008401520154610420820152516001600160a01b031661062381611b7f565b338952875260408089206001600160a01b0388168a52885288206004015461064d9060ff16611c73565b61065681611b7f565b338952875260408089206001600160a01b0388168a52885288206002015460ff16610b1e575b61068581611b7f565b338952875260408089206001600160a01b0388168a5288528820600301546106af90863510611c73565b611b7f565b338752855260408087206001600160a01b03861688528652862060030180546106df90853590611cad565b905561070485880151916106fe85356106f88386611c49565b51611cad565b92611c49565b5260405163a9059cbb60e01b81526001600160a01b039182166004820152823560248201529485938492165af1908115610b1257600091610ad2575b5015610a9b5760208083015101526004356000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090602081518051845501516001830155602081015180518051600285015560208101518051906001600160401b038211610a4057600160401b8211610a4057602060038701916107d284845481865585611cba565b0190600052602060002060005b838110610a875750505050604001518051906001600160401b038211610a4057600160401b8211610a40576020600486019161082084845481865585611cba565b0190600052602060002060005b838110610a6a57868660208701518051600584015560208101518051906001600160401b038211610a4057600160401b8211610a40576020600686019161087984845481865585611cba565b0190600052602060002060005b838110610a5657868660408701519182516001600160401b038111610a4057600160401b8111610a4057602060078301946108c683875481895588611cba565b0193600052602060002060005b828110610a23577f758243dab8e0b86a43e2f0b0d6e842211dc46a791072e017f73e274b81ad1e52858561091c60408301511515600883019060ff801983541691151516179055565b6020600b606084015192835180516009830155600a8201908460018060a01b03910151166bffffffffffffffffffffffff60a01b825416179055019101516109638161197b565b61096c8161197b565b60ff801983541691161790556040518091600435825260406020830152602081518051604085015201516060830152602060606109dc8284015160e06080870152836109c6825160406101208a0152610160890190611cee565b91015186820361011f1901610140880152611cee565b6040840151151560a08601529201518051805160c08601528201516001600160a01b031660e08501520151610a108161197b565b6101008301520390a1610a21611e1a565b005b85516001600160a01b0316818301556020909501946001016108d3565b634e487b7160e01b600052604160045260246000fd5b600190602084519401938184015501610886565b82516001600160a01b03168183015560209092019160010161082d565b6001906020845194019381840155016107df565b60405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b90506020813d602011610b0a575b81610aed6020938361183a565b81010312610b0557518015158103610b055738610740565b600080fd5b3d9150610ae0565b6040513d6000823e3d90fd5b610b2781611b7f565b338952875260408089206001600160a01b0388168a528852882054610b4d904311611b1e565b610b5681611b7f565b338952875260408089206001600160a01b0388168a528852882060010154610b7f904211611b1e565b61067c565b634e487b7160e01b600052602160045260246000fd5b60405162461bcd60e51b8152602060048201526011602482015270496e73756666696369656e7446756e647360781b6044820152606490fd5b50505090919392936101f4565b60405162461bcd60e51b8152602060048201526016602482015275125b9d985b1a5908105b5bdd5b9d0818db185a5b595960521b6044820152606490fd5b60405162461bcd60e51b8152602060048201526015602482015274496e76616c696420746f6b656e206164647265737360581b6044820152606490fd5b34610b0557610120366003190112610b05576001600160401b03602435818111610b055736602382011215610b05578060040135918211610a4057610cab601f8301601f1916602001608061183a565b816080523660248383010111610b0557600091602091819060240160a03701608001526044356001600160a01b0381169003610b055760a0366063190112610b0557604051610cf981611796565b6064358152608435602082015260a4358015158103610b0557604082015260c435606082015260e4358015158103610b05576080820152610104356001600160a01b0381169003610b0557610d4c611d79565b6004356000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002060405190610d88826117b1565b80546001600160a01b03168252610da16001820161185b565b6020830152604051610db2816117cd565b610dbe6002830161192c565b8152610dcc6003830161192c565b602082015260408301526004810154606083015260ff600582015416906003821015610b84576067916080840152610e066006820161185b565b60a0840152610e176007820161185b565b60c084015260ff6008820154818116610e2f8161197b565b60e0860152818160081c16151561010086015260101c1615156101208401526009810154610140840152610e65600a82016119e4565b610160840152610e77600e82016119e4565b610180840152604051610e8981611796565b601282015460ff8181161515835260089190911c811615156020830152601383015460408301526014830154811615156060830152601583015460808301526101a08501919091526016820154811615156101c085015260178201546101e085015260188201546102008501526019820154610220850152601a8201546001600160a01b03908116610240860152601b83015480821661026087015260a01c9091161515610280850152601c820154166102a0840152610f4b601d8201611a32565b6102c0840152610f5d601e8201611a32565b6102e0840152610f6f601f8201611a32565b610300840152610f8160208201611a8a565b610320840152610f9360238201611a8a565b610340840152610fa560268201611a8a565b610360840152610fb760298201611a8a565b610380840152604051610fc9816117e8565b610fd5602c8301611ac0565b8152610fe3602f8301611ac0565b6020820152610ff460328301611ac0565b604082015261100560358301611ac0565b606082015261101660388301611ac0565b6080820152611027603b8301611ac0565b60a0820152611038603e8301611ac0565b60c082015261104960418301611ac0565b60e082015261105a60448301611ac0565b61010082015261106c60478301611ac0565b61012082015261107e604a8301611ac0565b610140820152611090604d8301611ac0565b6101608201526110a260508301611ac0565b6101808201526110b460538301611ac0565b6101a08201526110c660568301611ac0565b6101c08201526110d860598301611ac0565b6101e08201526110ea605c8301611ac0565b6102008201526110fc605f8301611ac0565b6102208201526103a084015260628101546103c084015260ff60638201541615156103e084015260405161112f81611804565b6064820154815260658201546020820152606682015460408201526104008401520154610420820152516001600160a01b03163303611762576040810151611742575b6044356001600160a01b03161561170b57610104356001600160a01b0316156116d65760405160208101906218591960ea1b8252600381526111b3816117cd565b51902060405160208101906111db816111cd846080611b54565b03601f19810183528261183a565b5190201480611693575b156113b7576060810151906111f933611b7f565b60018060a01b0360443516600052602052604060002060018060a01b03610104351660005260205260036040600020019081549283018093116101c75761133d926040925561124733611b7f565b6044356001600160a01b03908116600090815260209283528481206101043590921681529152829020600401805460ff19166001179055805161128933611b7f565b60018060a01b03604435166000526020528260002060018060a01b036101043516600052602052826000205560208101516112c333611b7f565b6001600160a01b03604435811660009081526020928352858120610104359092168152915283902060010155015115156112fc33611b7f565b60018060a01b0360443516600052602052604060002060018060a01b03610104351660005260205260026040600020019060ff801983541691151516179055565b61134633611b7f565b60018060a01b0360443516600052602052604060002060018060a01b0361010435166000526020527f8cb3fb058384056c94b4a594fc0c5462026adaf47bbaac805489269c27efe8996113ab6040600020604051918291610104356044353385611bb8565b0390a15b610a21611e1a565b60405160208101906218591960ea1b8252600381526113d5816117cd565b51902060405160208101906113ef816111cd846080611b54565b5190200361153e576114849061140433611b7f565b60018060a01b0360443516600052602052604060002060018060a01b03610104351660005260205260046080604060002092805184556020810151600185015561146360408201511515600286019060ff801983541691151516179055565b606081015160038501550151151591019060ff801983541691151516179055565b61148d33611b7f565b60018060a01b0360443516600052602052604060002060018060a01b0361010435166000526020526004604060002001600160ff198254161790556114d133611b7f565b60018060a01b0360443516600052602052604060002060018060a01b0361010435166000526020527f8cb3fb058384056c94b4a594fc0c5462026adaf47bbaac805489269c27efe8996115366040600020604051918291610104356044353385611bb8565b0390a16113af565b5060405160208101906572656d6f766560d01b825260068152611560816117cd565b519020604051602081019061157a816111cd846080611b54565b5190201480611650575b156116175761159233611b7f565b6001600160a01b03604435811660008181526020938452604080822061010435909416808352938552808220828155600181018390556002810183905560038101839055600401919091558051338152938401919091528201527f6b971ea39e8577fb801a8bc943b125455bd10844efce115e0fcd41cf2d62f08a90606090a16113af565b60405162461bcd60e51b815260206004820152601160248201527024b73b30b634b21027b832b930ba34b7b760791b6044820152606490fd5b5061165a33611b7f565b60018060a01b0360443516600052602052604060002060018060a01b03610104351660005260205260ff60046040600020015416611584565b5061169d33611b7f565b60018060a01b0360443516600052602052604060002060018060a01b03610104351660005260205260ff600460406000200154166111e5565b60405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2102a37b5b2b760991b6044820152606490fd5b60405162461bcd60e51b815260206004820152600f60248201526e24b73b30b634b21029b832b73232b960891b6044820152606490fd5b61174e81514311611b1e565b61175d60208201514211611b1e565b611172565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b60a081019081106001600160401b03821117610a4057604052565b61044081019081106001600160401b03821117610a4057604052565b604081019081106001600160401b03821117610a4057604052565b61024081019081106001600160401b03821117610a4057604052565b606081019081106001600160401b03821117610a4057604052565b608081019081106001600160401b03821117610a4057604052565b90601f801991011681019081106001600160401b03821117610a4057604052565b90604051906000835490600182811c90808416968715611922575b602094858410891461190e57879884899798995290816000146118ec57506001146118ad575b5050506118ab9250038361183a565b565b600090815285812095935091905b8183106118d45750506118ab935082010138808061189c565b855488840185015294850194879450918301916118bb565b925050506118ab94925060ff191682840152151560051b82010138808061189c565b634e487b7160e01b85526022600452602485fd5b91607f1691611876565b9060405191828154918282526020928383019160005283600020936000905b828210611961575050506118ab9250038361183a565b85548452600195860195889550938101939091019061194b565b60041115610b8457565b9081546001600160401b038111610a40576040519260206119ab818460051b018661183a565b82855260009182528082208186015b8484106119c8575050505050565b60018381926119d68561185b565b8152019201930192906119ba565b906040516119f18161181f565b6060611a2d60038395611a0381611985565b8552611a116001820161192c565b6020860152611a2260028201611985565b60408601520161192c565b910152565b9060405191828154918282526020928383019160005283600020936000905b828210611a67575050506118ab9250038361183a565b85546001600160a01b031684526001958601958895509381019390910190611a51565b90604051611a9781611804565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b9060405191611ace8361181f565b60608360ff835481811615158352818160081c161515602084015260101c1615156040820152600260405193611b03856117cd565b60018101546001600160a01b03168552015460208401520152565b15611b2557565b60405162461bcd60e51b8152602060048201526007602482015266115e1c1a5c995960ca1b6044820152606490fd5b9081519160005b838110611b6c575050016000815290565b8060208092840101518185015201611b5b565b6001600160a01b031660009081527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d446020526040902090565b6001600160a01b039182168152918116602083015290911660408201528154606082015260018201546080820152600282015460ff908116151560a0830152600383015460c0830152600490920154909116151560e08201526101000190565b90604051611c2581611804565b6040611a2d6002839580548552611c3e6001820161192c565b602086015201611a32565b8051821015611c5d5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b15611c7a57565b60405162461bcd60e51b815260206004820152600b60248201526a4e6f416c6c6f77616e636560a81b6044820152606490fd5b919082039182116101c757565b9091828110611cc857505050565b60009182526020822092830192015b828110611ce357505050565b818155600101611cd7565b606082018151835260209182810151916060848601528251809152836080860193019060005b818110611d65575050506040015192604081830391015281808451928381520193019160005b828110611d48575050505090565b83516001600160a01b031685529381019392810192600101611d3a565b825185529385019391850191600101611d14565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff8160a01c16158015611e11575b15611dcc57333003611dbb575050565b60ff60a01b1916600160a01b179055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50333014611dab565b333003611e2357565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff60a01b1916905556fea264697066735822122054a3ddfe3b8207cdb49b3197bfef7319a5f1dfc8474ac690e8d30f5d837fd82664736f6c63430008120033"; + "0x6080806040523461001657610a61908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80636a8ff29e146104c25763efabb0f81461003657600080fd5b346104be5760a03660031901126104be5761004f6107d0565b9060249182359160028310156104ba576001600160a01b03946044803587811696919492908790036104b6576100836107e8565b9460843592610090610953565b63ffffffff85168b526020977ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d428952868c209760ff60066100d089610833565b01541661047f578b1697881561044e5760088101548d9c90421161037c578154895163bb37a28360e01b8152602d84018882019081523360208201529183166001600160a01b031660408301524260608301528f918d9082908190608001038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115610372578291610165918f60199592610345575b50506108b8565b92018054925b83811061030a575b50505050909192939495969798995b156102d757600181036101ef575050505050907f6b971ea39e8577fb801a8bc943b125455bd10844efce115e0fcd41cf2d62f08a946101c460609594936107fe565b818852845281872083885284528682812055815193338552840152820152a15b6101ec6109f4565b80f35b9798976102a2578315610273575050509161024a82608096946102347f2c97423f769ac7753b170a8e16c73b4492af23f16d7a9092136f2e523d3c68249997956107fe565b868b528752838a20858b528752838a20556107fe565b8388528452808720828852845280872054928151943386528501528301526060820152a16101e4565b855162461bcd60e51b8152928301899052600b908301526a16995c9bc8185b5bdd5b9d60aa1b90820152606490fd5b855162461bcd60e51b81529283018990526011908301527024b73b30b634b21027b832b930ba34b7b760791b90820152606490fd5b865162461bcd60e51b81528085018a9052600f818401526e24b73b30b634b21029b832b73232b960891b81850152606490fd5b8d836103168385610918565b90549060031b1c16146103315761032c906108f3565b61016b565b5060019d5038925082915081905080610173565b6103649250803d1061036b575b61035c8183610868565b8101906108a0565b388f61015e565b503d610352565b8b513d84823e3d90fd5b8154895163bb37a28360e01b8152603384018882019081523360208201529183166001600160a01b031660408301524260608301528f918d9082908190608001038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156103725782916103f2918f601b95926103455750506108b8565b92018054925b838110610413575b5050505090919293949596979899610182565b8d8361041f8385610918565b90549060031b1c161461043a57610435906108f3565b6103f8565b5060019d5038925082915081905080610400565b875162461bcd60e51b81528086018b9052600d818501526c24b73b30b634b2102a37b5b2b760991b81860152606490fd5b875162461bcd60e51b81528086018b905260138185015272115b991bdddb595b9d081a5cc818db1bdcd959606a1b81860152606490fd5b8880fd5b8580fd5b8280fd5b50346104be5760803660031901126104be576104dc6107d0565b6001600160a01b0391602491908235848116908190036107cc576044948535906105046107e8565b61050c610953565b83156107935716801561075257811561072357610528856107fe565b94338a526020958652848a20848b528652848a2054156106e25761054b816107fe565b338b528652848a20848b52865282858b2054111561068f57600561056e82610833565b01848b528652848a205483101561065a5785929160056105b483888e6105948e976107fe565b33825289528181208a82528952206105ad878254610946565b9055610833565b01858c528452858b206105c8848254610946565b90558a8651958694859363a9059cbb60e01b85528d8501528a8401525af1908115610650578791610633575b501561060357856101ec6109f4565b5162461bcd60e51b815293840152600f908301526e151c985b9cd9995c8819985a5b1959608a1b90820152606490fd5b61064a9150833d851161036b5761035c8183610868565b386105f4565b82513d89823e3d90fd5b845162461bcd60e51b8152808a0187905260118189015270496e73756666696369656e7446756e647360781b818a0152606490fd5b845162461bcd60e51b8152808a018790526029818901527f416d6f756e74207265716573746564206578636565647320616c6c6f77616e63818a015268652062616c616e636560b81b6064820152608490fd5b845162461bcd60e51b8152808a018790526018818901527f416c6c6f77616e636520646f6573206e6f742065786973740000000000000000818a0152606490fd5b835162461bcd60e51b81526020818a0152600b818801526a16995c9bc8105b5bdd5b9d60aa1b81890152606490fd5b835162461bcd60e51b81526020818a01526019818801527f496e76616c696420726563697069656e7420616464726573730000000000000081890152606490fd5b845162461bcd60e51b81526020818b015260158189015274496e76616c696420746f6b656e206164647265737360581b818a0152606490fd5b8680fd5b6004359063ffffffff821682036107e357565b600080fd5b606435906001600160a01b03821682036107e357565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d43602052604060002090565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b90601f8019910116810190811067ffffffffffffffff82111761088a57604052565b634e487b7160e01b600052604160045260246000fd5b908160209103126107e3575180151581036107e35790565b156108bf57565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b60001981146109025760010190565b634e487b7160e01b600052601160045260246000fd5b80548210156109305760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b9190820391821161090257565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff8160a01c161580156109eb575b156109a657333003610995575050565b60ff60a01b1916600160a01b179055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50333014610985565b3330036109fd57565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff60a01b1916905556fea26469706673582212204d87b178276834edb86c60727fdcb1dc366b82d89c4d763a8c7db771d655ab9164736f6c63430008120033"; type AccountsAllowanceConstructorParams = - | [signer?: Signer] + | [linkLibraryAddresses: AccountsAllowanceLibraryAddresses, signer?: Signer] | ConstructorParameters; const isSuperArgs = ( xs: AccountsAllowanceConstructorParams -): xs is ConstructorParameters => xs.length > 1; +): xs is ConstructorParameters => { + return ( + typeof xs[0] === "string" || + (Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) || + "_isInterface" in xs[0] + ); +}; export class AccountsAllowance__factory extends ContractFactory { constructor(...args: AccountsAllowanceConstructorParams) { if (isSuperArgs(args)) { super(...args); } else { - super(_abi, _bytecode, args[0]); + const [linkLibraryAddresses, signer] = args; + super( + _abi, + AccountsAllowance__factory.linkBytecode(linkLibraryAddresses), + signer + ); } } + static linkBytecode( + linkLibraryAddresses: AccountsAllowanceLibraryAddresses + ): string { + let linkedBytecode = _bytecode; + + linkedBytecode = linkedBytecode.replace( + new RegExp("__\\$2e6ee47b30d794e0597b4af30f16ddb84c\\$__", "g"), + linkLibraryAddresses["contracts/core/struct.sol:AngelCoreStruct"] + .replace(/^0x/, "") + .toLowerCase() + ); + + return linkedBytecode; + } + override deploy( overrides?: Overrides & { from?: PromiseOrValue } ): Promise { @@ -2830,3 +2243,7 @@ export class AccountsAllowance__factory extends ContractFactory { return new Contract(address, _abi, signerOrProvider) as AccountsAllowance; } } + +export interface AccountsAllowanceLibraryAddresses { + ["contracts/core/struct.sol:AngelCoreStruct"]: string; +} diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountsCreateEndowment__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountsCreateEndowment__factory.ts index ee01da7d0..fdca65154 100644 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountsCreateEndowment__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/facets/AccountsCreateEndowment__factory.ts @@ -32,37 +32,10 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], indexed: false, - internalType: "struct AccountStorage.AllowanceData", + internalType: "uint256", name: "allowance", - type: "tuple", + type: "uint256", }, ], name: "AllowanceStateUpdatedTo", @@ -74,9 +47,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -129,29 +102,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -177,43 +150,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -228,7 +201,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -244,7 +217,7 @@ const _abi = [ ], indexed: false, internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", + name: "createdaomessage", type: "tuple", }, { @@ -263,13 +236,13 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -365,7 +338,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -378,21 +351,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -456,18 +414,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -475,12 +433,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -496,13 +459,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -526,17 +489,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -548,17 +511,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -570,14 +528,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -592,14 +545,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -614,17 +562,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -633,24 +576,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -665,31 +598,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -704,31 +627,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -743,31 +656,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -782,31 +685,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -821,31 +714,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -860,31 +743,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -899,31 +772,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -938,31 +801,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -984,24 +837,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1023,63 +866,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1094,31 +888,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1140,24 +924,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1179,24 +953,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1218,24 +982,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1257,24 +1011,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1296,24 +1040,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1337,9 +1071,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -1433,37 +1167,37 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { indexed: false, internalType: "address", - name: "curTokenin", + name: "tokenin", type: "address", }, { indexed: false, internalType: "address", - name: "curTokenout", + name: "tokenout", type: "address", }, { indexed: false, internalType: "uint256", - name: "curAmountout", + name: "amountout", type: "uint256", }, ], @@ -1480,23 +1214,65 @@ const _abi = [ name: "owner", type: "address", }, + { + internalType: "string", + name: "version", + type: "string", + }, { internalType: "address", name: "registrarContract", type: "address", }, { - internalType: "uint256", + internalType: "uint32", name: "nextAccountId", - type: "uint256", + type: "uint32", }, { internalType: "uint256", name: "maxGeneralCategoryId", type: "uint256", }, - ], - indexed: false, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + internalType: "bool", + name: "reentrancyGuardLocked", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, + ], + indexed: false, internalType: "struct AccountStorage.Config", name: "config", type: "tuple", @@ -1550,7 +1326,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1563,21 +1339,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -1641,18 +1402,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -1660,12 +1421,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -1681,13 +1447,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -1711,17 +1477,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1733,17 +1499,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1755,14 +1516,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1777,14 +1533,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1799,17 +1550,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1818,24 +1564,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1850,31 +1586,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1889,31 +1615,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1928,31 +1644,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1967,31 +1673,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2006,31 +1702,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2045,31 +1731,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2084,31 +1760,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2123,31 +1789,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2169,24 +1825,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2208,24 +1854,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2240,70 +1876,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2325,24 +1912,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2364,24 +1941,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2403,24 +1970,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2442,24 +1999,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2477,218 +2024,85 @@ const _abi = [ name: "splitToLiquid", type: "tuple", }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "ignoreUserSplits", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsController", - name: "settingsController", - type: "tuple", - }, - { - internalType: "uint256", - name: "parent", - type: "uint256", - }, - { - internalType: "bool", - name: "ignoreUserSplits", - type: "bool", - }, - { - components: [ - { - internalType: "uint256", - name: "max", - type: "uint256", - }, - { - internalType: "uint256", - name: "min", - type: "uint256", - }, - { - internalType: "uint256", - name: "defaultSplit", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.SplitDetails", - name: "splitToLiquid", - type: "tuple", - }, - { - internalType: "uint256", - name: "referralId", - type: "uint256", - }, - ], - indexed: false, - internalType: "struct AccountStorage.Endowment", - name: "endowment", - type: "tuple", - }, - ], - name: "UpdateEndowment", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, + { + components: [ { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "ignoreUserSplits", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", + internalType: "struct AngelCoreStruct.SettingsController", + name: "settingsController", type: "tuple", }, + { + internalType: "uint32", + name: "parent", + type: "uint32", + }, { internalType: "bool", - name: "closingEndowment", + name: "ignoreUserSplits", type: "bool", }, { components: [ { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", + internalType: "uint256", + name: "max", + type: "uint256", }, { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", + internalType: "uint256", + name: "min", + type: "uint256", + }, + { + internalType: "uint256", + name: "defaultSplit", + type: "uint256", }, ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", + internalType: "struct AngelCoreStruct.SplitDetails", + name: "splitToLiquid", type: "tuple", }, + { + internalType: "uint256", + name: "referralId", + type: "uint256", + }, ], indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", + internalType: "struct AccountStorage.Endowment", + name: "endowment", type: "tuple", }, ], - name: "UpdateEndowmentState", + name: "UpdateEndowment", type: "event", }, { @@ -2744,7 +2158,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -2759,7 +2173,7 @@ const _abi = [ }, { internalType: "address[]", - name: "cw4_members", + name: "members", type: "address[]", }, { @@ -2798,17 +2212,17 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.Duration", - name: "cw3MaxVotingPeriod", + name: "maxVotingPeriod", type: "tuple", }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { @@ -2835,17 +2249,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -2857,14 +2266,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -2879,14 +2283,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -2901,17 +2300,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -2962,29 +2356,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -3010,44 +2404,43 @@ const _abi = [ type: "uint128", }, ], - internalType: - "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -3081,24 +2474,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3113,31 +2496,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3152,31 +2525,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3191,31 +2554,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3230,31 +2583,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3269,31 +2612,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3308,31 +2641,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3347,31 +2670,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3386,31 +2699,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3432,24 +2735,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3471,63 +2764,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3542,31 +2786,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3588,24 +2822,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3627,24 +2851,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3666,24 +2880,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3705,24 +2909,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3744,24 +2938,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3785,13 +2969,13 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -3828,16 +3012,16 @@ const _abi = [ }, ], internalType: "struct AccountMessages.CreateEndowmentRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], name: "createEndowment", outputs: [ { - internalType: "uint256", + internalType: "uint32", name: "", - type: "uint256", + type: "uint32", }, ], stateMutability: "nonpayable", @@ -3846,7 +3030,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60808060405234610016576143cd908161001c8239f35b600080fdfe600436101561000d57600080fd5b60003560e01c62ab27601461002157600080fd5b346129b05760203660031901126129b0576001600160401b03600435116129b0576110a0600435360360031901126129b05761068060405261006760043560040161360a565b6102805261007960246004350161361e565b6102a05260043560448101356102c05260648101356102e0526001600160401b03608490910135116129b0576100b9366004803560848101350101613646565b6103005260043560a401356001600160401b0381116129b05760043501604060031982360301126129b057604051906100f18261357c565b60048101356001600160401b0381116129b05761011490600436918401016136a4565b82526024810135906001600160401b0382116129b057600461013992369201016136a4565b60208201526103205260043560c48101356103405260e4013560038110156129b0576103605260043561010401356001600160401b0381116129b057610186906004369181350101613646565b6103805260043561012401356001600160401b0381116129b0576101b1906004369181350101613646565b6103a0526001600160401b036004356101440135116129b0576101df36600480356101448101350101613702565b6103c0526101f26004356101640161361e565b6103e05260043561018481013561040052606036919091036101a31901126129b0576040516102208161357c565b60026101a4600435013510156129b0576101a46004350135815260406101c319600435360301126129b0576040516102578161357c565b6101c4600435013581526101e46004350135602082015260208201526101a061028001526001600160401b036102046004350135116129b0576102a536600480356102048101350101613702565b610440526001600160401b036004356102240135116129b0576102d336600480356102248101350101613702565b61046052600435610244810135610480526102648101356104a0526102848101356104c0526103079036906102a401613768565b6104e05261031b3660043561030401613768565b6105005261032f3660043561036401613768565b61052052610343366004356103c401613768565b610540526001600160401b036004356104240135116129b05761010060043561042481013501360360031901126129b057604051806101008101106001600160401b0361010083011117612a09576101008101604090815260048035610424810135019081013583526024810135602084015260448101359183019190915260648101356060830152608481013560808301526103e29060a4016137a8565b60a08201526004356104248101350160c481013560c08301526001600160401b0360e490910135116129b05760406004356104248101350160e481013501360360031901126129b0576040516104378161357c565b6003600480356104248101350160e481013501013510156129b057600480356104248101350160e4810135019081013582526001600160401b03602490910135116129b0576101e06004356104248101350160e481013501602481013501360360031901126129b0576040516104ac81613597565b6104cc600480356104248101350160e4810135016024810135010161360a565b81526004356104248101350160e4810135016024818101359091019081013560208301526001600160401b03604490910135116129b05761052a36600480356104248101350160e48101350160248101350160448101350101613646565b60408201526001600160401b036004356104248101350160e48101350160248101350160640135116129b05761057d36600480356104248101350160e48101350160248101350160648101350101613646565b606082015260a06004356104248101350160e481013501602481013501360360831901126129b0576040516105b18161357c565b60036004356104248101350160e4810135016024810135016084013510156129b0576004356104248101350160e481013501602481013501608481013582526080369190910360a31901126129b05760405161060c816135b3565b61062d6004356104248101350160e48101350160248101350160a4016137a8565b81526004356104248101350160e48181013590910160248101350160c4810135602084015261065c91016137a8565b60408201526106836004356104248101350160e481013501602481013501610104016137a8565b6060820152602082015260808201526001600160401b036004356104248101350160e4810135016024810135016101240135116129b0576106e236600480356104248101350160e4810135016024810135016101248101350101613646565b60a08201526001600160401b036004356104248101350160e4810135016024810135016101440135116129b05761073736600480356104248101350160e4810135016024810135016101448101350101613646565b60c08201526004356104248101350160e48101350160248101350161016481013560e083015261076a906101840161360a565b610100820152600435610424810135810160e4810135016024810135016101a48101356101208401526101c40135610140830152602083019190915260e0830191909152610560919091526107c2906104440161361e565b610580526004356104648101356105a052610b4036919091036104831901126129b057604051806102408101106001600160401b0361024083011117612a0957610240810160405261081a36610484600435016137bc565b815261082c36610524600435016137bc565b6020820152610841366105c4600435016137bc565b604082015261085636610664600435016137bc565b606082015261086b36610704600435016137bc565b6080820152610880366107a4600435016137bc565b60a082015261089536610844600435016137bc565b60c08201526108aa366108e4600435016137bc565b60e08201526108bf36610984600435016137bc565b6101008201526108d536610a24600435016137bc565b6101208201526108eb36610ac4600435016137bc565b61014082015261090136610b64600435016137bc565b61016082015261091736610c04600435016137bc565b61018082015261092d36610ca4600435016137bc565b6101a082015261094336610d44600435016137bc565b6101c082015261095936610de4600435016137bc565b6101e082015261096f36610e84600435016137bc565b61020082015261098536610f24600435016137bc565b6102208201526105c052600435610fc48101356105e0526001600160401b03610fe490910135116129b0576109c53660048035610fe48101350101613702565b610600526109d86004356110040161361e565b61062052606060043536036110231901126129b0576040516109f9816135ce565b600435611024810135825261104481013560208301526110648101356040830152610640919091526110840135610660527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b5460a081901c60ff16158015613573575b1561352e573330036134f9575b507ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d465460405163e68f909d60e01b81526001600160a01b0390911690600081600481855afa9081156129bd57600091613162575b5061036051610acb81613929565b610ad481613929565b15613119575b6103c05151156130df575b610400511561308e5761036051610afb81613929565b610b0481613929565b60011461302e575b60006101a052604051610b1e816135ce565b6000815260006020820152600060408201526101a052600060c05260e06102800151610b4981613929565b610b5281613929565b61301857600060c0525b61036051600090610b6c81613929565b610b7581613929565b15613003575b61032051602001518051612f39575b5061028051610ba1906001600160a01b031661433f565b15612efc576102805161030051610320516101c0526103605161024081905290926001600160a01b039092169190610bd890613929565b6102c0516040516301505e0360e51b815290929060008160048173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156129bd57600091612ee1575b506040516356b076ad60e11b815260008160048173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af480156129bd57600061014052612ebb575b506040516366247e4b60e11b815260a08160048173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156129bd57600091612e7f575b506103e0516104408051610460516104e051610160526105005160e052610520516102605261054051610180526106005161020052610340516101e0526103805160a0526103a0516105a0516105c051610100526105e0516102205261066051610120526040516080819052929b939a909895151597959094919392909181018082116001600160401b0390911117612a0957610440810160405252602060805101526101c051604060805101526101e05160606080510152610d5361024051613929565b6102405160808051015260a05160a0608051015260c06080510152600160e060805101526001610100608051015260016101206080510152610140608051015261016060805101526101405161018060805101526101a060805101526101c0608051015260006101e0608051015260006102006080510152610220608051015260006102406080510152600061026060805101526000610280608051015260018060a01b03166102a060805101526102c060805101526102e0608051015261020051610300608051015261016051610320608051015260e0516103406080510152610260516103606080510152610180516103806080510152610100516103a06080510152610220516103c0608051015260c05115156103e060805101526101a0516104006080510152610120516104206080510152600080516020614358833981519152546000526000805160206143788339815191526020526040600020602060805160018060a01b038151166001600160601b0360a01b84541617835501519283516001600160401b038111612a0957610ef36001840154613b6b565b601f8111612e4a575b506020601f8211600114612ddb578192939495600092612dd0575b50508160011b916000199060031b1c19161760018301555b6040608051015180518051906001600160401b038211612a0957600160401b8211612a095760206002860191610f6a84845481865585613bbc565b0190600052602060002060005b838110612dbc5750505050602001518051906001600160401b038211612a0957600160401b8211612a095760206003850191610fb884845481865585613bbc565b0190600052602060002060005b838110612da8575050505060808051606081015160048501550151610fe981613929565b610ff281613929565b600583019060ff8019835416911617905560a060805101519283516001600160401b038111612a09576110286006850154613b6b565b601f8111612d73575b506020601f8211600114612d04578192939495600092612cf9575b50508160011b916000199060031b1c19161760068401555b60c060805101519283516001600160401b038111612a09576110896007830154613b6b565b601f8111612cb9575b506020601f8211600114612c4a578192939495600092612c3f575b50508160011b916000199060031b1c19161760078201555b61113e6101606008830160e060805101516110df81613b61565b6110e881613b61565b815460805161010081015161012082015190151560081b61ff001660ff9490941662ffffff19909316929092179290921790151560101b62ff0000161790915561014081015160098501550151600a8301613be1565b6111526101806080510151600e8301613be1565b6102c060805160806101a082015161117c81511515601287019060ff801983541691151516179055565b602081015160128601805461ff00191691151560081b61ff0016919091179055604081015160138601556111c560608201511515601487019060ff801983541691151516179055565b015160158401556111ec6101c08201511515601685019060ff801983541691151516179055565b6101e0810151601784015561020081015160188401556102208101516019840155610240810151601a840180546001600160a01b039283166001600160a01b031991821617909155610260830151601b8601805461028086015160ff60a01b90151560a01b169285166001600160a81b0319909116179190911790556102a0830151601c8601805491909316911617905501518051906001600160401b038211612a0957600160401b8211612a09576020601d8401916112b184845481865585613bbc565b0190600052602060002060005b838110612c2257505050506102e060805101518051906001600160401b038211612a0957600160401b8211612a09576020601e84019161130384845481865585613bbc565b0190600052602060002060005b838110612c05575050505061030060805101518051906001600160401b038211612a0957600160401b8211612a09576020601f84019161135584845481865585613bbc565b0190600052602060002060005b838110612be8575050505060676104206080516113c4604061032083015160018060a01b038151166001600160601b0360a01b6020890154161760208801556020810151602188015501511515602286019060ff801983541691151516179055565b6114126040602386016103408401519060018060a01b038251166001600160601b0360a01b8254161790556020810151602488015501511515602586019060ff801983541691151516179055565b6114606040602686016103608401519060018060a01b038251166001600160601b0360a01b8254161790556020810151602788015501511515602886019060ff801983541691151516179055565b6114ae6040602986016103808401519060018060a01b038251166001600160601b0360a01b8254161790556020810151602a88015501511515602b86019060ff801983541691151516179055565b60206103a082015181815161150f815115156114da602c8b0191829060ff801983541691151516179055565b82840151815461ff00191690151560081b61ff00161781556040830151815462ff0000191690151560101b62ff000016179055565b6060602d89019101519060018060a01b038251166001600160601b0360a01b8254161790550151602e87015581602f870161156182840151916114da83511515829060ff801983541691151516179055565b6060603089019101519060018060a01b038251166001600160601b0360a01b8254161790550151603187015581603287016115b46040840151916114da83511515829060ff801983541691151516179055565b6060603389019101519060018060a01b038251166001600160601b0360a01b8254161790550151603487015581603587016116076060840151916114da83511515829060ff801983541691151516179055565b6060603689019101519060018060a01b038251166001600160601b0360a01b82541617905501516037870155816038870161165a6080840151916114da83511515829060ff801983541691151516179055565b6060603989019101519060018060a01b038251166001600160601b0360a01b8254161790550151603a87015581603b87016116ad60a0840151916114da83511515829060ff801983541691151516179055565b6060603c89019101519060018060a01b038251166001600160601b0360a01b8254161790550151603d87015581603e870161170060c0840151916114da83511515829060ff801983541691151516179055565b6060603f89019101519060018060a01b038251166001600160601b0360a01b82541617905501516040870155816041870161175360e0840151916114da83511515829060ff801983541691151516179055565b6060604289019101519060018060a01b038251166001600160601b0360a01b8254161790550151604387015581604487016117a7610100840151916114da83511515829060ff801983541691151516179055565b6060604589019101519060018060a01b038251166001600160601b0360a01b8254161790550151604687015581604787016117fb610120840151916114da83511515829060ff801983541691151516179055565b6060604889019101519060018060a01b038251166001600160601b0360a01b8254161790550151604987015581604a870161184f610140840151916114da83511515829060ff801983541691151516179055565b6060604b89019101519060018060a01b038251166001600160601b0360a01b8254161790550151604c87015581604d87016118a3610160840151916114da83511515829060ff801983541691151516179055565b6060604e89019101519060018060a01b038251166001600160601b0360a01b8254161790550151604f87015581605087016118f7610180840151916114da83511515829060ff801983541691151516179055565b6060605189019101519060018060a01b038251166001600160601b0360a01b82541617905501516052870155816053870161194b6101a0840151916114da83511515829060ff801983541691151516179055565b6060605489019101519060018060a01b038251166001600160601b0360a01b82541617905501516055870155816056870161199f6101c0840151916114da83511515829060ff801983541691151516179055565b6060605789019101519060018060a01b038251166001600160601b0360a01b8254161790550151605887015581605987016119f36101e0840151916114da83511515829060ff801983541691151516179055565b6060605a89019101519060018060a01b038251166001600160601b0360a01b8254161790550151605b87015581605c8701611a47610200840151916114da83511515829060ff801983541691151516179055565b6060605d89019101519060018060a01b038251166001600160601b0360a01b8254161790550151605e870155611a9a610220605f8801920151916114da83511515829060ff801983541691151516179055565b60608087019101519060018060a01b038251166001600160601b0360a01b825416179055015160618501556103c08101516062850155611af06103e08201511515606386019060ff801983541691151516179055565b60406104008201518051606487015560208101516065870155015160668501550151910155604051631f2c260960e01b815260408160048173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156129bd57600091612b9d575b50604051632e0422cb60e21b81529060608260048173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49182156129bd57600092612b1d575b506040516390aac6e160e01b81529160008360048173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49283156129bd57600093612b00575b506040516390aac6e160e01b815260008160048173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156129bd57600091612add575b5060405193611c0c8561357c565b8452602084015260405191611c20836135b3565b825260208201928352600060408301526060820152600080516020614358833981519152546000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d416020526040600020916020825180518555015160018401555180518051600285015560208101518051906001600160401b038211612a0957600160401b8211612a095760206003870191611cc284845481865585613bbc565b0190600052602060002060005b838110612ac95750505050604001518051906001600160401b038211612a0957600160401b8211612a095760206004860191611d1084845481865585613bbc565b0190600052602060002060005b838110612aac5750505050602001518051600584015560208101518051906001600160401b038211612a0957600160401b8211612a095760206006860191611d6a84845481865585613bbc565b0190600052602060002060005b838110612a985750505050604001518051906001600160401b038211612a0957600160401b8211612a095760206007850191611db884845481865585613bbc565b0190600052602060002060005b838110612a7b5750505050600b606082611df6604060209501511515600887019060ff801983541691151516179055565b015192835180516009830155600a8201908460018060a01b03910151166001600160601b0360a01b82541617905501910151611e3181613b61565b611e3a81613b61565b60ff801983541691161790556000805160206143588339815191525490816000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d416020527f758243dab8e0b86a43e2f0b0d6e842211dc46a791072e017f73e274b81ad1e526040600020604051809185825260406020830152805460408301526001810154606083015260e06080830152604061012083015260ff600b611f03611eec610160860160028601614160565b85810361011f190161014087015260058501614160565b60088401548316151560a0860152600984015460c0860152600a8401546001600160a01b031660e086015292015416611f3b81613b61565b6101008301520390a1610320810151610340909101516103c051610400516040516307cc862d60e11b815260048101959095526001600160a01b039283166024860152608060448601528151608486018190529290931692849260a48401926020019060005b818110612a5957505050600083602095938193606483015203925af19081156129bd57600091612a1f575b506000805160206143588339815191525460009081526000805160206143788339815191526020526040902080546001600160a01b0319166001600160a01b0390921691909117905561058051612545575b506000805160206143588339815191525460018101811161252f5780600160209201600080516020614358833981519152558060005260008051602061437883398151915282527f5470cdefb96311352f5fc571d31555cf7c05933dbc7fe64ddb696e1206da8ab66040600020604051809184825260408683015260018060a01b038154166040830152611120606083015260676122b96122a361228d6121c26121ac61215861214261210d6120db6111608c0160018c016141b9565b603f198c82030160808d0152604081526120fb6040820160028d016140dd565b90602081830391015260038b016140dd565b60048a015460a08c015260ff60058b01541661212881613929565b60c08c01528a8103603f190160e08c015260068a016141b9565b898103603f19016101008b0152600789016141b9565b60ff600889015481811661216b81613b61565b6101208c0152818160081c1615156101408c015260101c1615156101608a015260098801546101808a0152603f19898203016101a08a0152600a88016142af565b878103603f19016101c0890152600e87016142af565b601286015460ff81811615156101e08a015260089190911c811615156102008901526013870154610220890152601487015481161515610240890152601587015461026089015260168701548116151561028089015260178701546102a089015260188701546102c089015260198701546102e0890152601a8701546001600160a01b039081166103008a0152601b8801548082166103208b015260a01c9091161515610340890152601c87015416610360880152868103603f1901610380880152601d860161411a565b858103603f19016103a0870152601e850161411a565b848103603f19016103c0860152601f840161411a565b87830180546001600160a01b03166103e086015260018101546104008601526002015460ff1615156104208501529160238101546001600160a01b03166104408501526024810154610460850152602581015460ff16151561048085015260268101546001600160a01b03166104a085015260278101546104c0850152602881015460ff1615156104e085015260298101546001600160a01b0316610500850152602a810154610520850152602b81015460ff1615156105408501526123866105608501602c83016142fe565b6123976106008501602f83016142fe565b6123a86106a08501603283016142fe565b6123b96107408501603583016142fe565b6123ca6107e08501603883016142fe565b6123db6108808501603b83016142fe565b6123ec6109208501603e83016142fe565b6123fd6109c08501604183016142fe565b61240e610a608501604483016142fe565b61241f610b008501604783016142fe565b612430610ba08501604a83016142fe565b612441610c408501604d83016142fe565b612452610ce08501605083016142fe565b612463610d808501605383016142fe565b612474610e208501605683016142fe565b612485610ec08501605983016142fe565b612496610f608501605c83016142fe565b6124a76110008501605f83016142fe565b60628101546110a085015260ff60638201541615156110c085015260648101546110e08501526065810154611100850152606681015461112085015201546111408301520390a13330036124fe575b604051908152f35b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff60a01b191690556124f6565b634e487b7160e01b600052601160045260246000fd5b60008051602061435883398151915254906102e06102800151518260005260406000209060018060a01b03825416916102e061028001516020810151604082015160608301516080840151916001600160801b0360a0860151169360ff600560e060c089015198015198015416976040519b8c6001600160401b036101a0828181011092011117612a09576101a08d016040528c528960208d015260408c015260608b015260808a015260a089015260c088015260e087015261010086015261012085015261261381613929565b610140840152610160830152610180820152602060405180809363e85fb24b60e01b82528360048301528051602483015260018060a01b03848201511660448301526040810151606483015260608101516084830152608081015160a483015260a081015160c483015260c081015160e483015260e0810151610104830152610100810151610124830152836101208201516101a061014485015280516126b981613929565b6101c485015201519060406101e484015260018060a01b03825116610204840152848201516102248401526101406127a161278961272461270c60408701516101e06102448a01526103e4890190614194565b606087015188820361020319016102648a0152614194565b6001600160801b0360608a6080890151805161273f81613929565b6102848c01520151805183166102a48b01528b8101516102c48b0152604081015183166102e48b015201511661030488015260a08601518782036102031901610324890152614194565b60c08501518682036102031901610344880152614194565b60e08401516103648601526101008401516001600160a01b03166103848601526101208401516103a48601529201516103c48401526101408101516127e581613929565b6101648401526101608101516001600160a01b0390811661018485015261018090910151166101a483015203816000305af19081156129bd576000916129c9575b50600080516020614358833981519152546000908152600080516020614378833981519152602052604090819020601a0180546001600160a01b0319166001600160a01b0390931692831790555163e68f909d60e01b81529061016090829060049082905afa9081156129bd576000916128ee575b50602060018060a01b039101511660008051602061435883398151915254600052600080516020614378833981519152602052601b604060002001906001600160601b0360a01b8254161790553861201e565b9050610160813d610160116129b5575b8161290c61016093836135e9565b810103126129b0576101406040519161292483613597565b61292d81613837565b835261293b60208201613837565b602084015261294c60408201613837565b604084015261295d60608201613837565b60608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e084015261010081015161010084015261012081015161012084015201516101408201523861289b565b600080fd5b3d91506128fe565b6040513d6000823e3d90fd5b90506020813d602011612a01575b816129e4602093836135e9565b810103126129b0576101606129fa600492613837565b9150612826565b3d91506129d7565b634e487b7160e01b600052604160045260246000fd5b90506020813d602011612a51575b81612a3a602093836135e9565b810103126129b057612a4b90613837565b38611fcc565b3d9150612a2d565b82516001600160a01b0316855287955060209485019490920191600101611fa1565b82516001600160a01b031681830155602090920191600101611dc5565b600190602084519401938184015501611d77565b82516001600160a01b031681830155602090920191600101611d1d565b600190602084519401938184015501611ccf565b612afa91503d806000833e612af281836135e9565b810190614068565b38611bfe565b612b169193503d806000833e612af281836135e9565b9138611bc4565b9091506060903d606011612b95575b612b3682826135e9565b60608183810103126129b057604081815193612b518561357c565b810103126129b0576040908151612b678161357c565b81518152612b7760208301613837565b60208201528352015160048110156129b05760208201529038611b89565b3d9150612b2c565b90506040813d604011612be0575b81612bb8604093836135e9565b810103126129b057602060405191612bcf8361357c565b805183520151602082015238611b4e565b3d9150612bab565b82516001600160a01b031681830155602090920191600101611362565b82516001600160a01b031681830155602090920191600101611310565b82516001600160a01b0316818301556020909201916001016112be565b0151905038806110ad565b6007830160005260206000209060005b601f1984168110612ca1575060019394959683601f19811610612c88575b505050811b0160078201556110c5565b015160001960f88460031b161c19169055388080612c78565b9091602060018192858b015181550193019101612c5a565b612ce990600784016000526020600020601f840160051c81019160208510612cef575b601f0160051c0190613ba5565b38611092565b9091508190612cdc565b01519050388061104c565b6006850160005260206000209060005b601f1984168110612d5b575060019394959683601f19811610612d42575b505050811b016006840155611064565b015160001960f88460031b161c19169055388080612d32565b9091602060018192858b015181550193019101612d14565b612da290600686016000526020600020601f840160051c81019160208510612cef57601f0160051c0190613ba5565b38611031565b600190602084519401938184015501610fc5565b600190602084519401938184015501610f77565b015190503880610f17565b6001840160005260206000209060005b601f1984168110612e32575060019394959683601f19811610612e19575b505050811b016001830155610f2f565b015160001960f88460031b161c19169055388080612e09565b9091602060018192858b015181550193019101612deb565b612e7990600185016000526020600020601f840160051c81019160208510612cef57601f0160051c0190613ba5565b38610efc565b60a091503d8211612eb3575b612e9582826135e9565b60a08183810103126129b057612ead918101906138be565b38610c8e565b3d9150612e8b565b612ed7903d806000833e612ecf81836135e9565b810190613abc565b6101405238610c54565b612ef691503d806000833e612ecf81836135e9565b38610c18565b60405162461bcd60e51b8152602060048201526015602482015274496e76616c6964206f776e6572206164647265737360581b6044820152606490fd5b612f4590939293613949565b519160015b61032051602001518051821015612f9b5781612f659161396c565b518410612f7e575b600019811461252f57600101612f4a565b9250612f9483602060a06102800151015161396c565b5192612f6d565b505092917ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d48541115612fcd5738610b8a565b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c696420696e7075747360901b6044820152606490fd5b506101808101516001600160a01b0316610b7b565b610640516101a05261062051151560c052610b5c565b610400516103c051511015610b0c5760405162461bcd60e51b815260206004820152602360248201527f5468726573686f6c642067726561746572207468616e206d656d62657220636f6044820152621d5b9d60ea1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f5468726573686f6c64206d757374206265206120706f736974697665206e756d6044820152623132b960e91b6064820152608490fd5b6040516130eb8161357c565b60018152602036818301376103c0819052610280516001600160a01b03169061311390613949565b52610ae5565b6103608101516001600160a01b03163314610ada5760405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b3d9150816000823e61317482826135e9565b60208183810103126129b0578051916001600160401b0383116129b0576104e083830182840103126129b05760405192836104208101106001600160401b0361042086011117612a095761042084016040526131d1818401613837565b84526131e1602082850101613837565b60208501526131f4604082850101613837565b6040850152613207606082850101613837565b606085015261321a608082850101613837565b608085015261322d60a082850101613837565b60a085015261324060c082850101613837565b60c085015261325360e082850101613837565b60e085015261326761010082850101613837565b61010085015261327c61012082850101613837565b61012085015261329161014082850101613837565b6101408501526132a661016082850101613837565b6101608501526132bb61018082850101613837565b6101808501526132d06101a082850101613837565b6101a08501526060838201838501036101bf1901126129b0576040516132f5816135ce565b8382016101c08181015183526101e08201516020840152610200820151604084015286019190915261332a9061022001613837565b6101e085015261333f61024082850101613837565b61020085015261335461026082850101613837565b61022085015261336961028082850101613837565b6102408501528281016102a081015161026086015261338b906102c001613837565b6102808501526102e08184010151926001600160401b0384116129b0576020848383010184830103126129b057604051938460208101106001600160401b03602087011117612a095760208501604052808383010151936001600160401b0385116129b0576134ed9561340d613438936104c09784870191888801010161384b565b81526102a088015261342461030085850101613837565b6102c08801528201610320848401016138be565b6102e086015261344d6103c083830101613837565b6103008601526134626103e083830101613837565b61032086015261347761040083830101613837565b61034086015261348c61042083830101613837565b6103608601526134a161044083830101613837565b6103808601526134b661046083830101613837565b6103a08601526134cb61048083830101613837565b6103c08601526134e06104a083830101613837565b6103e08601520101613837565b61040082015238610abd565b60ff60a01b1916600160a01b177ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b5538610a69565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50333014610a5c565b604081019081106001600160401b03821117612a0957604052565b61016081019081106001600160401b03821117612a0957604052565b608081019081106001600160401b03821117612a0957604052565b606081019081106001600160401b03821117612a0957604052565b90601f801991011681019081106001600160401b03821117612a0957604052565b35906001600160a01b03821682036129b057565b359081151582036129b057565b6001600160401b038111612a0957601f01601f191660200190565b81601f820112156129b05780359061365d8261362b565b9261366b60405194856135e9565b828452602083830101116129b057816000926020809301838601378301015290565b6001600160401b038111612a095760051b60200190565b81601f820112156129b0578035916136bb8361368d565b926136c960405194856135e9565b808452602092838086019260051b8201019283116129b0578301905b8282106136f3575050505090565b813581529083019083016136e5565b81601f820112156129b0578035916137198361368d565b9261372760405194856135e9565b808452602092838086019260051b8201019283116129b0578301905b828210613751575050505090565b83809161375d8461360a565b815201910190613743565b91908260609103126129b057604051613780816135ce565b60406137a38183956137918161360a565b8552602081013560208601520161361e565b910152565b35906001600160801b03821682036129b057565b809291039160a083126129b0576040516137d5816135b3565b604081946137e28461361e565b83526137f06020850161361e565b602084015261380082850161361e565b83830152605f1901126129b05760609060806040519361381f8561357c565b61382a84820161360a565b8552013560208401520152565b51906001600160a01b03821682036129b057565b81601f820112156129b0578051916138628361368d565b9261387060405194856135e9565b808452602092838086019260051b8201019283116129b0578301905b82821061389a575050505090565b8380916138a684613837565b81520191019061388c565b519081151582036129b057565b91908260a09103126129b05760405160a081018181106001600160401b03821117612a095760405260808082946138f4816138b1565b8452613902602082016138b1565b60208501526040810151604085015261391d606082016138b1565b60608501520151910152565b6003111561393357565b634e487b7160e01b600052602160045260246000fd5b8051156139565760200190565b634e487b7160e01b600052603260045260246000fd5b80518210156139565760209160051b010190565b60005b8381106139935750506000910152565b8181015183820152602001613983565b9080601f830112156129b0578151916139bb8361368d565b926040906139cb825195866135e9565b808552602093848087019260051b850101938185116129b057858101925b8584106139fa575050505050505090565b83516001600160401b0381116129b05782019083603f830112156129b0578782015190613a268261362b565b613a32885191826135e9565b828152858884860101116129b057613a538a949385948a8685019101613980565b8152019301926139e9565b81601f820112156129b057805191613a758361368d565b92613a8360405194856135e9565b808452602092838086019260051b8201019283116129b0578301905b828210613aad575050505090565b81518152908301908301613a9f565b906020828203126129b05781516001600160401b03928382116129b05701906080828203126129b05760405192613af2846135b3565b82518181116129b05782613b079185016139a3565b845260208301518181116129b05782613b21918501613a5e565b602085015260408301518181116129b05782613b3e9185016139a3565b604085015260608301519081116129b057613b599201613a5e565b606082015290565b6004111561393357565b90600182811c92168015613b9b575b6020831014613b8557565b634e487b7160e01b600052602260045260246000fd5b91607f1691613b7a565b818110613bb0575050565b60008155600101613ba5565b91818110613bc957505050565b613bdf9260005260206000209182019101613ba5565b565b908051805190600160401b808311612a09578454838655808410613ff3575b50602080920160009386855283852085925b828410613ed957505050508382015180516001600160401b0396916001830190888311613eb357848311613eb3578590613c5184845481865585613bbc565b01908652848620865b838110613ec75750505050600281016040860151805190848211613eb35785908354838555808410613e3d575b500191865284862086925b828410613d185750505050600360609101940151908151958611613d04578511613cf0578190613cc786865481885587613bbc565b01928252808220915b848110613cde575050505050565b83518382015592810192600101613cd0565b634e487b7160e01b83526041600452602483fd5b634e487b7160e01b84526041600452602484fd5b80518051908b8211613e2957908891613d318554613b6b565b908b601f9285848211613df3575b5050508b84928411600114613d89579260019592819287969592613d7e575b5050600019600383901b1c191690841b1785555b01920193019290613c92565b015190503880613d5e565b50858c52838c2090949291601f1983168d5b818110613ddb575091839160019788979695889510613dc2575b505050811b018555613d72565b015160001960f88460031b161c19169055388080613db5565b8783015184558d966001909401939283019201613d9b565b8289613e18945220600585808801821c830193898910613e20575b01901c0190613ba5565b8b3885613d3f565b93508293613e0e565b634e487b7160e01b8a52604160045260248afd5b84895283838a2091820191015b818110613e575750613c87565b60019192935089613e688254613b6b565b80613e7a575b50500190879291613e4a565b601f8082118514613e9157505081555b8938613e6e565b613eaa908484528c8420920160051c8201858301613ba5565b81835555613e8a565b634e487b7160e01b87526041600452602487fd5b82518282015591860191600101613c5a565b80518051906001600160401b038211613fdf57908791613ef98554613b6b565b90601f91828111613fb3575b5083918311600114613f4c579180600195928695948d92613f41575b5050600019600383901b1c191690841b1785555b01920193019290613c12565b015190503880613f21565b858b52838b209190601f1984168c5b818110613f9b5750916001969391858897969410613f82575b505050831b83018555613f35565b015160001960f88460031b161c19169055388080613f74565b8284015185558c966001909501949384019301613f5b565b613fd990878d52858d20600585808801821c830193898910613e205701901c0190613ba5565b38613f05565b634e487b7160e01b89526041600452602489fd5b600086815260208581832093840193015b83811061401357505050613c00565b808361402160019354613b6b565b8061402f575b505001614004565b601f808211851461404657505081555b8338614027565b61405f90848452868420920160051c8201858301613ba5565b8183555561403f565b906020828203126129b05781516001600160401b03928382116129b05701906060828203126129b0576040519261409e846135ce565b8251845260208301518181116129b057826140ba918501613a5e565b602085015260408301519081116129b0576140d5920161384b565b604082015290565b90815480825260208092019260005281600020916000905b828210614103575050505090565b8354855293840193600193840193909101906140f5565b90815480825260208092019260005281600020916000905b828210614140575050505090565b83546001600160a01b031685529384019360019384019390910190614132565b90600261419192805483526060602084015261418260608401600183016140dd565b9260408185039101520161411a565b90565b906020916141ad81518092818552858086019101613980565b601f01601f1916010190565b90600092918054916141ca83613b6b565b91828252600193848116908160001461422c57506001146141ec575b50505050565b90919394506000526020928360002092846000945b8386106142185750505050010190388080806141e6565b805485870183015294019385908201614201565b9294505050602093945060ff191683830152151560051b010190388080806141e6565b9080825490818152602080910192818360051b8201019460005281600020936000915b8483106142825750505050505090565b90919293949584600161429f8193601f198682030187528a6141b9565b9801930193019194939290614272565b90600361419192608083526142ef6142de6142cd608086018461424f565b8581036020870152600184016140dd565b84810360408601526002830161424f565b926060818503910152016140dd565b600260809160ff815481811615158652818160081c161515602087015260101c161515604085015260018060a01b0360018201541660608501520154910152565b6001600160a01b03161561435257600190565b60009056fef42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d47f42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42a2646970667358221220035b2c98cdce95c74dde756f3f29d65bc692565eb6b84445f6905b9d835cd39964736f6c63430008120033"; + "0x60808060405234610016576137e8908161001c8239f35b600080fdfe600436101561000d57600080fd5b60003560e01c637de16ae21461002257600080fd5b34612141576020366003190112612141576001600160401b036004351161214157610b406004353603600319011261214157610680604052610068600435600401612baa565b6102805261007a602460043501612bbe565b6102a05260043560448101356102c05260648101356102e0526001600160401b0360849091013511612141576100ba366004803560848101350101612be6565b6103005260043560a401356001600160401b03811161214157604060043582013603600319011261214157604051906100f282612b1c565b6001600160401b036004828135010135116121415761011c36600480358401808201350101612c44565b8252602481600435010135906001600160401b0382116121415760046101489236928235010101612c44565b60208201526103205260043560c481013561034052600260e49091013510156121415760043560e48101356103605261010401356001600160401b0381116121415761019b906004369181350101612be6565b610380526001600160401b03600435610124013511612141576101c936600480356101248101350101612be6565b6103a05260043561014401356001600160401b038111612141576101f4906004369181350101612ca2565b6103c05261020760043561016401612bbe565b6103e05260043561018481013561040052606036919091036101a31901126121415760405161023581612b1c565b60026101a460043501351015612141576101a46004350135815260406101c319600435360301126121415760405161026c81612b1c565b6101c4600435013581526101e46004350135602082015260208201526101a0610280015261020460043501356001600160401b038111612141576102b7906004369181350101612ca2565b610440526001600160401b03600435610224013511612141576102e536600480356102248101350101612ca2565b61046052600435610244810135610480526102648101356104a0526102848101356104c0526103199036906102a401612d08565b6104e05261032d366004356102e401612d08565b610500526103413660043561032401612d08565b610520526103553660043561036401612d08565b610540526004356103a401356001600160401b038111612141576101006004358201360360031901126121415760405190816101008101106001600160401b036101008401111761219a57610100820160409081526004803583019081013584526024810135602085015260448101359184019190915260648101356060840152608481013560808401526103ec9060a401612d37565b60a0830152600435810160c481013560c084015260e401356001600160401b0381116121415760406004358301820136036003190112612141576040519161043383612b1c565b6003600483838235010101351015612141576004803582018301908101358452602401356001600160401b038111612141576101e060043583018401820136036003190112612141576040519261048984612b37565b61049c6004838386833501010101612baa565b8452600435830181018201602481013560208601526001600160401b0360449091013511612141576104de366004803586018401850160448101350101612be6565b6040850152606482828560043501010101356001600160401b03811161214157610515906004369185858884350101010101612be6565b606085015260a0600435840182018301360360831901126121415760405161053c81612b1c565b6084838386600435010101013560038110156121415781526080600435850183018401360360a31901126121415760405161057681612b53565b61058a60a485858860043501010101612d37565b815260043585018301840160c481013560208301526105ab9060e401612d37565b60408201526105c561010485858860043501010101612d37565b60608201526020820152608085015261012482828560043501010101356001600160401b03811161214157610607906004369185858884350101010101612be6565b60a08501526101448282856004350101010135926001600160401b038411612141576106436101c4946004369186868684350101010101612be6565b60c086015260043581018201830161016481013560e08701526106699061018401612baa565b6101008601526101a483838360043501010101356101208601526004350101010135610140820152602082015260e08201526102e061028001526106b26103c460043501612bbe565b610580526004356103e48101356105a052610660369190910361040319011261214157604051806102208101106001600160401b036102208301111761219a57610220810160405261070a3661040460043501612d4b565b815261071c3661046460043501612d4b565b6020820152610731366104c460043501612d4b565b60408201526107463661052460043501612d4b565b606082015261075b3661058460043501612d4b565b6080820152610770366105e460043501612d4b565b60a08201526107853661064460043501612d4b565b60c082015261079a366106a460043501612d4b565b60e08201526107af3661070460043501612d4b565b6101008201526107c53661076460043501612d4b565b6101208201526107db366107c460043501612d4b565b6101408201526107f13661082460043501612d4b565b6101608201526108073661088460043501612d4b565b61018082015261081d366108e460043501612d4b565b6101a08201526108333661094460043501612d4b565b6101c0820152610849366109a460043501612d4b565b6101e082015261085f36610a0460043501612d4b565b6102008201526105c052600435610a64013563ffffffff8116900361214157600435610a648101356105e052610a8401356001600160401b038111612141576108af906004369181350101612ca2565b610600526108c2600435610aa401612bbe565b6106205260606004353603610ac3190112612141576040516108e381612b6e565b600435610ac48101358252610ae48101356020830152610b04810135604083015261064091909152610b240135610660527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a5460a081901c60ff16158015612b13575b15612ace57333003612a99575b506000805160206137938339815191525460405163e68f909d60e01b81526001600160a01b03909116906103e081600481855afa90811561214e5760009161280a575b506040516109a381612b1c565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b546001600160a01b031681527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4c54602082015260e0526103605160028110156123cc576127fe576102e08101516001600160a01b031633036127ca575b6103c0515115612790575b610400511561273f576103605160028110156123cc576001146126df575b6000608052604051610a5b81612b6e565b60008152600060208201526000604082015260805260006102605260e0610280015160028110156123cc576126c9576000610260525b6103605160009060028110156123cc57156126b4575b610320516020015180516125ea575b5061028051610acd906001600160a01b031661377a565b156125ad57610280516001600160a01b031660a052610300516101a0526103205161036051610140819052909190600211156123cc576102c0516040516301505e0360e51b8152909260008260048173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af491821561214e57600092612590575b506040516356b076ad60e11b815260008160048173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af490811561214e5760009161256d575b5060405163edbcc59960e01b815260c0816004818b5afa90811561214e576000916124b9575b506103e08051610280516104405161046051610240526105005161016052610520516101c05261054051610200526106005161010052610340516103805160c0526103a0516105a0516105c0516101e0526105e05163ffffffff16610120526106605161018052604051610220819052939c6001600160a01b039095169a90999515159896909591939081018082116001600160401b039091111761219a576103e0810160405260a05190526101a051602061022051015260406102205101526060610220510152610c7d6101405160806102205101612fcc565b60c05160a061022051015260c061022051015260e061022051015261010061022051015261012061022051015261014061022051015261016061022051015260006101806102205101526101a06102205101526101c061022051015260006101e0610220510152600061020061022051015260006102208051015260018060a01b031661024061022051015261026061022051015261024051610280610220510152610100516102a061022051015260e0516102c0610220510152610160516102e06102205101526101c051610300610220510152610200516103206102205101526101e051610340610220510152610120516103606102205101526102605115156103806102205101526080516103a0610220510152610180516103c0610220510152610dc263ffffffff6000805160206137938339815191525460a01c16612fd8565b61022051805182546001600160a01b0319166001600160a01b03919091161782556020015180519093906001600160401b03811161219a57610e07600184015461300d565b601f8111612484575b506020601f821160011461241557819293949560009261240a575b50508160011b916000199060031b1c19161760018301555b604061022051015180518051906001600160401b03821161219a57600160401b821161219a5760206002860191610e7f8484548186558561305e565b0190600052602060002060005b8381106123f65750505050602001518051906001600160401b03821161219a57600160401b821161219a5760206003850191610ecd8484548186558561305e565b0190600052602060002060005b8381106123e25750505050610220516060810151600484015560808101519060028210156123cc5760a091600585019060ff8019835416911617905501519283516001600160401b03811161219a57610f36600685015461300d565b601f8111612397575b506020601f821160011461232857819293949560009261231d575b50508160011b916000199060031b1c19161760068401555b60c06102205101519283516001600160401b03811161219a57610f98600783015461300d565b601f81116122dd575b506020601f821160011461226e578192939495600092612263575b50508160011b916000199060031b1c19161760078201555b610ff36101006102205160e08101516008850155015160098301613083565b611008610120610220510151600d8301613083565b6102606102205161014081015161103181511515601186019060ff801983541691151516179055565b602081015190601185015469ff000000000000000000604083015168ffffffff0000000000606085015115159364ffffffff0060808701519660a063ffffffff60701b91015160701b169760081b169071ffffffffffffffffffffffffffffffffff001916179160281b16179160481b16179063ffffffff60501b9060501b16171760118401556110d86101608201511515601285019060ff801983541691151516179055565b61018081015160138401556101a081015160148401556101c08101516015840180546001600160a01b039283166001600160a01b0319918216179091556101e083015160168601805491841691831691909117905561020083015160178601805461022086015160ff60a01b90151560a01b169285166001600160a81b03199091161791909117905561024083015160188601805491909316911617905501518051906001600160401b03821161219a57600160401b821161219a57602060198401916111aa8484548186558561305e565b0190600052602060002060005b83811061224657505050506102806102205101518051906001600160401b03821161219a57600160401b821161219a576020601a8401916111fd8484548186558561305e565b0190600052602060002060005b83811061222957505050506102a06102205101518051906001600160401b03821161219a57600160401b821161219a576020601b8401916112508484548186558561305e565b0190600052602060002060005b83811061220c5750505050605b6103c0610220516112836102c0820151601c860161350a565b6112956102e0820151601e860161350a565b6112a76103008201516020860161350a565b6112b96103208201516022860161350a565b6115f460206102006103408401516112f48382516112e98151151560248d019060ff801983541691151516179055565b015160258a0161350a565b61132383808301516113188151151560278d019060ff801983541691151516179055565b015160288a0161350a565b61135383604083015161134881511515602a8d019060ff801983541691151516179055565b0151602b8a0161350a565b61138383606083015161137881511515602d8d019060ff801983541691151516179055565b0151602e8a0161350a565b6113b38360808301516113a88151151560308d019060ff801983541691151516179055565b015160318a0161350a565b6113e38360a08301516113d88151151560338d019060ff801983541691151516179055565b015160348a0161350a565b6114138360c08301516114088151151560368d019060ff801983541691151516179055565b015160378a0161350a565b6114438360e08301516114388151151560398d019060ff801983541691151516179055565b0151603a8a0161350a565b6114748361010083015161146981511515603c8d019060ff801983541691151516179055565b0151603d8a0161350a565b6114a58361012083015161149a81511515603f8d019060ff801983541691151516179055565b015160408a0161350a565b6114d6836101408301516114cb8151151560428d019060ff801983541691151516179055565b015160438a0161350a565b611507836101608301516114fc8151151560458d019060ff801983541691151516179055565b015160468a0161350a565b6115388361018083015161152d8151151560488d019060ff801983541691151516179055565b015160498a0161350a565b611569836101a083015161155e81511515604b8d019060ff801983541691151516179055565b0151604c8a0161350a565b61159a836101c083015161158f81511515604e8d019060ff801983541691151516179055565b0151604f8a0161350a565b6115cb836101e08301516115c08151151560518d019060ff801983541691151516179055565b015160528a0161350a565b01516115e981511515605489019060ff801983541691151516179055565b01516055860161350a565b6057840163ffffffff6103608301511681549064ff00000000610380850151151560201b169164ffffffffff19161717905560406103a082015180516058870155602081015160598701550151605a850155015191015563ffffffff6000805160206137938339815191525460a01c166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052600660406000200160ff19815416905560018060a01b036102a08201511663ffffffff6000805160206137938339815191525460a01c16916102c060018060a01b0391015116610140610280015161018061028001516040519485936307cc862d60e11b8552608485019160048601526024850152608060448501528251809152602060a4850193019060005b8181106121ea57505050600083602095938193606483015203925af190811561214e576000916121b0575b5061176563ffffffff6000805160206137938339815191525460a01c16612fd8565b80546001600160a01b0319166001600160a01b039283161790556000805160206137938339815191525460a01c63ffffffff16906015906117b1906117a984612fd8565b541692612fd8565b0180546001600160a01b031916909117905561058051611cc1575b506000805160206137938339815191525463ffffffff6001818360a01c160111611cab57611c6463ffffffff6020928160a01b6001838360a01c160160a01b16908260a01b19161780600080516020613793833981519152557f9c5fc27f2bf49d7a8fee3e59ac51d13246821d3f89cfaffc28c0d7c167c04cb382611855818460a01c16613571565b61186b611866838660a01c16613571565b612fd8565b60405192839216825260408883015260018060a01b038154166040830152610b806060830152605b611a77611a61611a4b61196f6119596119386119226118ee6118bc610bc08c0160018c01613587565b603f198c82030160808d0152604081526118dc6040820160028d0161361d565b90602081830391015260038b0161361d565b60048a015460a08c015261190d60ff60058c01541660c08d0190613564565b8a8103603f190160e08c015260068a01613587565b898103603f19016101008b015260078901613587565b60088801546101208a0152888103603f19016101408a0152600988016136ba565b878103603f1901610160890152600d87016136ba565b601186015460ff80821615156101808a0152600882901c8d166101a08a0152602882901c8d166101c08a0152604882901c811615156101e08a0152605082901c8d166102008a015260709190911c8c166102208901526012870154811615156102408901526013870154610260890152601487015461028089015260158701546001600160a01b039081166102a08a0152601688015481166102c08a015260178801548082166102e08b015260a01c9091161515610300890152601887015416610320880152868103603f19016103408801526019860161370c565b858103603f1901610360870152601a850161370c565b848103603f1901610380860152601b840161370c565b601c8301546001600160a01b03166103a0850152601d8301546103c085015291601e8101546001600160a01b03166103e0850152601f810154610400850152808a0180546001600160a01b03166104208601526001015461044085015260228101546001600160a01b03166104608501526023810154610480850152611b046104a0850160248301613752565b611b15610500850160278301613752565b611b266105608501602a8301613752565b611b376105c08501602d8301613752565b611b48610620850160308301613752565b611b59610680850160338301613752565b611b6a6106e0850160368301613752565b611b7b610740850160398301613752565b611b8c6107a08501603c8301613752565b611b9d6108008501603f8301613752565b611bae610860850160428301613752565b611bbf6108c0850160458301613752565b611bd0610920850160488301613752565b611be16109808501604b8301613752565b611bf26109e08501604e8301613752565b611c03610a40850160518301613752565b611c14610aa0850160548301613752565b60ff6057820154898116610b008701528b1c161515610b208501526058810154610b408501526059810154610b60850152605a810154610b808501520154610ba08301520390a160a01c16613571565b333003611c7a575b63ffffffff60405191168152f35b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff60a01b19169055611c6c565b634e487b7160e01b600052601160045260246000fd5b60008051602061379383398151915254610560515160a09190911c63ffffffff1691906001600160a01b03611cf584612fd8565b5416926102e06102800151602081015190604081015190606081015160808201516001600160801b0360a0840151169160e060c08501519401519460ff6005611d3d8a612fd8565b015416966001600160a01b03611d528a612fd8565b5416996040519c8d6001600160401b036101a082818101109201111761219a5760208e611db99c6101a082016040528152015260408d015260608c015260808b015260a08a015260c089015260e08801526101008701526101208601526101408501612fcc565b6101608301526101808201526020604051808093638027022560e01b825283600483015263ffffffff815116602483015260018060a01b03848201511660448301526040810151606483015260608101516084830152608081015160a483015260a081015160c483015260c081015160e483015260e0810151610104830152610100810151610124830152836101208201516101a06101448501528051611e5f81613535565b6101c485015201519060406101e484015260018060a01b0382511661020484015284820151610224840152610140611f47611f2f611eca611eb260408701516101e06102448a01526103e489019061353f565b606087015188820361020319016102648a015261353f565b6001600160801b0360608a60808901518051611ee581613535565b6102848c01520151805183166102a48b01528b8101516102c48b0152604081015183166102e48b015201511661030488015260a0860151878203610203190161032489015261353f565b60c0850151868203610203190161034488015261353f565b60e08401516103648601526101008401516001600160a01b03166103848601526101208401516103a48601529201516103c4840152610140810151611f9190610164850190613564565b6101608101516001600160a01b0390811661018485015261018090910151166101a483015203816000305af190811561214e5760009161215a575b506101606004916016611ff663ffffffff6000805160206137938339815191525460a01c16612fd8565b0180546001600160a01b0319166001600160a01b03909216918217905560405163e68f909d60e01b815292839182905afa90811561214e5760009161207f575b50602060018060a01b0391015116601761206763ffffffff6000805160206137938339815191525460a01c16612fd8565b0180546001600160a01b0319169091179055386117cc565b9050610160813d61016011612146575b8161209d6101609383612b89565b8101031261214157610140604051916120b583612b37565b6120be81612d82565b83526120cc60208201612d82565b60208401526120dd60408201612d82565b60408401526120ee60608201612d82565b60608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e0840152610100810151610100840152610120810151610120840152015161014082015238612036565b600080fd5b3d915061208f565b6040513d6000823e3d90fd5b90506020813d602011612192575b8161217560209383612b89565b810103126121415761016061218b600492612d82565b9150611fcc565b3d9150612168565b634e487b7160e01b600052604160045260246000fd5b90506020813d6020116121e2575b816121cb60209383612b89565b81010312612141576121dc90612d82565b38611743565b3d91506121be565b82516001600160a01b0316855287955060209485019490920191600101611718565b82516001600160a01b03168183015560209092019160010161125d565b82516001600160a01b03168183015560209092019160010161120a565b82516001600160a01b0316818301556020909201916001016111b7565b015190503880610fbc565b6007830160005260206000209060005b601f19841681106122c5575060019394959683601f198116106122ac575b505050811b016007820155610fd4565b015160001960f88460031b161c1916905538808061229c565b9091602060018192858b01518155019301910161227e565b61230d90600784016000526020600020601f840160051c81019160208510612313575b601f0160051c0190613047565b38610fa1565b9091508190612300565b015190503880610f5a565b6006850160005260206000209060005b601f198416811061237f575060019394959683601f19811610612366575b505050811b016006840155610f72565b015160001960f88460031b161c19169055388080612356565b9091602060018192858b015181550193019101612338565b6123c690600686016000526020600020601f840160051c8101916020851061231357601f0160051c0190613047565b38610f3f565b634e487b7160e01b600052602160045260246000fd5b600190602084519401938184015501610eda565b600190602084519401938184015501610e8c565b015190503880610e2b565b6001840160005260206000209060005b601f198416811061246c575060019394959683601f19811610612453575b505050811b016001830155610e43565b015160001960f88460031b161c19169055388080612443565b9091602060018192858b015181550193019101612425565b6124b390600185016000526020600020601f840160051c8101916020851061231357601f0160051c0190613047565b38610e10565b905060c0813d60c011612565575b816124d460c09383612b89565b8101031261214157604051908160c08101106001600160401b0360c08401111761219a5760a061255a9160c0840160405261250e81612fae565b845261251c60208201612fbb565b602085015261252d60408201612fbb565b604085015261253e60608201612fae565b606085015261254f60808201612fbb565b608085015201612fbb565b60a082015238610ba2565b3d91506124c7565b61258a91503d806000833e6125828183612b89565b810190612f09565b38610b7c565b6125a69192503d806000833e6125828183612b89565b9038610b42565b60405162461bcd60e51b8152602060048201526015602482015274496e76616c6964206f776e6572206164647265737360581b6044820152606490fd5b6125f690939293612d96565b519160015b6103205160200151805182101561264c578161261691612db9565b51841061262f575b6000198114611cab576001016125fb565b925061264583602060a061028001510151612db9565b519261261e565b505092917ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4754111561267e5738610ab6565b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c696420696e7075747360901b6044820152606490fd5b506101608101516001600160a01b0316610aa7565b6106405160805261062051151561026052610a91565b610400516103c051511015610a4a5760405162461bcd60e51b815260206004820152602360248201527f5468726573686f6c642067726561746572207468616e206d656d62657220636f6044820152621d5b9d60ea1b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f5468726573686f6c64206d757374206265206120706f736974697665206e756d6044820152623132b960e91b6064820152608490fd5b60405161279c81612b1c565b60018152602036818301376103c0819052610280516001600160a01b0316906127c490612d96565b52610a2c565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b6104e05160e052610a21565b6103e091503d8211612a91575b6128218282612b89565b6103e08183810103126121415760405191826103a08101106001600160401b036103a08501111761219a576060906103a0840160405261286083612d82565b845261286e60208401612d82565b602085015261287f60408401612d82565b604085015261288f828401612d82565b8285015261289f60808401612d82565b60808501526128b060a08401612d82565b60a08501526128c160c08401612d82565b60c08501526128d260e08401612d82565b60e08501526128e46101008401612d82565b6101008501526128f76101208401612d82565b61012085015261290a6101408401612d82565b61014085015261291d6101608401612d82565b6101608501526129306101808401612d82565b610180850152820182900361019f190112612141576103c0612a859160405161295881612b6e565b6101a082015181526101c082015160208201526101e082015160408201526101a08501526129896102008201612d82565b6101c085015261299c6102208201612d82565b6101e08501526129af6102408201612d82565b6102008501526102608101516102208501526129ce6102808201612d82565b6102408501526129e16102a08201612d82565b6102608501526129f46102c08201612d82565b610280850152612a076102e08201612d82565b6102a0850152612a1a6103008201612d82565b6102c0850152612a2d6103208201612d82565b6102e0850152612a406103408201612d82565b610300850152612a536103608201612d82565b610320850152612a666103808201612d82565b610340850152612a796103a08201612d82565b61036085015201612d82565b61038082015238610996565b3d9150612817565b60ff60a01b1916600160a01b177ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a5538610953565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50333014610946565b604081019081106001600160401b0382111761219a57604052565b61016081019081106001600160401b0382111761219a57604052565b608081019081106001600160401b0382111761219a57604052565b606081019081106001600160401b0382111761219a57604052565b90601f801991011681019081106001600160401b0382111761219a57604052565b35906001600160a01b038216820361214157565b3590811515820361214157565b6001600160401b03811161219a57601f01601f191660200190565b81601f8201121561214157803590612bfd82612bcb565b92612c0b6040519485612b89565b8284526020838301011161214157816000926020809301838601378301015290565b6001600160401b03811161219a5760051b60200190565b81601f8201121561214157803591612c5b83612c2d565b92612c696040519485612b89565b808452602092838086019260051b820101928311612141578301905b828210612c93575050505090565b81358152908301908301612c85565b81601f8201121561214157803591612cb983612c2d565b92612cc76040519485612b89565b808452602092838086019260051b820101928311612141578301905b828210612cf1575050505090565b838091612cfd84612baa565b815201910190612ce3565b919082604091031261214157604051612d2081612b1c565b6020808294612d2e81612baa565b84520135910152565b35906001600160801b038216820361214157565b9190606083820312612141576020612d7d60405192612d6984612b1c565b828496612d7581612bbe565b865201612d08565b910152565b51906001600160a01b038216820361214157565b805115612da35760200190565b634e487b7160e01b600052603260045260246000fd5b8051821015612da35760209160051b010190565b60005b838110612de05750506000910152565b8181015183820152602001612dd0565b9080601f8301121561214157815191612e0883612c2d565b92604090612e1882519586612b89565b808552602093848087019260051b8501019381851161214157858101925b858410612e47575050505050505090565b83516001600160401b0381116121415782019083603f83011215612141578782015190612e7382612bcb565b612e7f88519182612b89565b8281528588848601011161214157612ea08a949385948a8685019101612dcd565b815201930192612e36565b81601f8201121561214157805191612ec283612c2d565b92612ed06040519485612b89565b808452602092838086019260051b820101928311612141578301905b828210612efa575050505090565b81518152908301908301612eec565b906020828203126121415781516001600160401b03928382116121415701906080828203126121415760405192612f3f84612b53565b82518181116121415782612f54918501612df0565b845260208301518181116121415782612f6e918501612eab565b602085015260408301518181116121415782612f8b918501612df0565b6040850152606083015190811161214157612fa69201612eab565b606082015290565b5190811515820361214157565b519063ffffffff8216820361214157565b60028210156123cc5752565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b90600182811c9216801561303d575b602083101461302757565b634e487b7160e01b600052602260045260246000fd5b91607f169161301c565b818110613052575050565b60008155600101613047565b9181811061306b57505050565b6130819260005260206000209182019101613047565b565b908051805190600160401b80831161219a578454838655808410613495575b50602080920160009386855283852085925b82841061337b57505050508382015180516001600160401b0396916001830190888311613355578483116133555785906130f38484548186558561305e565b01908652848620865b838110613369575050505060028101604086015180519084821161335557859083548385558084106132df575b500191865284862086925b8284106131ba57505050506003606091019401519081519586116131a65785116131925781906131698686548188558761305e565b01928252808220915b848110613180575050505050565b83518382015592810192600101613172565b634e487b7160e01b83526041600452602483fd5b634e487b7160e01b84526041600452602484fd5b80518051908b82116132cb579088916131d3855461300d565b908b601f9285848211613295575b5050508b8492841160011461322b579260019592819287969592613220575b5050600019600383901b1c191690841b1785555b01920193019290613134565b015190503880613200565b50858c52838c2090949291601f1983168d5b81811061327d575091839160019788979695889510613264575b505050811b018555613214565b015160001960f88460031b161c19169055388080613257565b8783015184558d96600190940193928301920161323d565b82896132ba945220600585808801821c8301938989106132c2575b01901c0190613047565b8b38856131e1565b935082936132b0565b634e487b7160e01b8a52604160045260248afd5b84895283838a2091820191015b8181106132f95750613129565b6001919293508961330a825461300d565b8061331c575b505001908792916132ec565b601f808211851461333357505081555b8938613310565b61334c908484528c8420920160051c8201858301613047565b8183555561332c565b634e487b7160e01b87526041600452602487fd5b825182820155918601916001016130fc565b80518051906001600160401b0382116134815790879161339b855461300d565b90601f91828111613455575b50839183116001146133ee579180600195928695948d926133e3575b5050600019600383901b1c191690841b1785555b019201930192906130b4565b0151905038806133c3565b858b52838b209190601f1984168c5b81811061343d5750916001969391858897969410613424575b505050831b830185556133d7565b015160001960f88460031b161c19169055388080613416565b8284015185558c9660019095019493840193016133fd565b61347b90878d52858d20600585808801821c8301938989106132c25701901c0190613047565b386133a7565b634e487b7160e01b89526041600452602489fd5b600086815260208581832093840193015b8381106134b5575050506130a2565b80836134c36001935461300d565b806134d1575b5050016134a6565b601f80821185146134e857505081555b83386134c9565b61350190848452868420920160051c8201858301613047565b818355556134e1565b815181546001600160a01b0319166001600160a01b0391909116178155602090910151600190910155565b600311156123cc57565b9060209161355881518092818552858086019101612dcd565b601f01601f1916010190565b9060028210156123cc5752565b63ffffffff9081166000190191908211611cab57565b90600092918054916135988361300d565b9182825260019384811690816000146135fa57506001146135ba575b50505050565b90919394506000526020928360002092846000945b8386106135e65750505050010190388080806135b4565b8054858701830152940193859082016135cf565b9294505050602093945060ff191683830152151560051b010190388080806135b4565b90815480825260208092019260005281600020916000905b828210613643575050505090565b835485529384019360019384019390910190613635565b9080825490818152602080910192818360051b8201019460005281600020936000915b84831061368d5750505050505090565b9091929394958460016136aa8193601f198682030187528a613587565b980193019301919493929061367d565b90600361370992608083526136fa6136e96136d8608086018461365a565b85810360208701526001840161361d565b84810360408601526002830161365a565b9260608185039101520161361d565b90565b90815480825260208092019260005281600020916000905b828210613732575050505090565b83546001600160a01b031685529384019360019384019390910190613724565b805460ff161515825260018101546001600160a01b0316602083015260020154604090910152565b6001600160a01b03161561378d57600190565b60009056fef42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46a26469706673582212209c366d0c6f30a7efeb20fb4597dcc245031ac8a8b93acd8e7139314604b647d864736f6c63430008120033"; type AccountsCreateEndowmentConstructorParams = | [ diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountsDAOEndowments__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountsDAOEndowments__factory.ts index 51dbba3ab..03e52ac81 100644 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountsDAOEndowments__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/facets/AccountsDAOEndowments__factory.ts @@ -32,37 +32,10 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], indexed: false, - internalType: "struct AccountStorage.AllowanceData", + internalType: "uint256", name: "allowance", - type: "tuple", + type: "uint256", }, ], name: "AllowanceStateUpdatedTo", @@ -74,9 +47,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -129,29 +102,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -177,43 +150,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -228,7 +201,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -244,7 +217,7 @@ const _abi = [ ], indexed: false, internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", + name: "createdaomessage", type: "tuple", }, { @@ -263,13 +236,13 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -365,7 +338,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -378,21 +351,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -456,18 +414,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -475,12 +433,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -496,13 +459,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -526,17 +489,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -548,17 +511,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -570,14 +528,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -592,14 +545,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -614,17 +562,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -633,24 +576,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -665,31 +598,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -704,31 +627,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -743,31 +656,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -782,31 +685,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -821,31 +714,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -860,31 +743,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -899,31 +772,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -938,31 +801,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -984,24 +837,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1023,63 +866,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1094,31 +888,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1140,24 +924,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1179,24 +953,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1218,24 +982,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1257,24 +1011,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1296,24 +1040,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1337,9 +1071,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -1433,37 +1167,37 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { indexed: false, internalType: "address", - name: "curTokenin", + name: "tokenin", type: "address", }, { indexed: false, internalType: "address", - name: "curTokenout", + name: "tokenout", type: "address", }, { indexed: false, internalType: "uint256", - name: "curAmountout", + name: "amountout", type: "uint256", }, ], @@ -1480,23 +1214,65 @@ const _abi = [ name: "owner", type: "address", }, + { + internalType: "string", + name: "version", + type: "string", + }, { internalType: "address", name: "registrarContract", type: "address", }, { - internalType: "uint256", + internalType: "uint32", name: "nextAccountId", - type: "uint256", + type: "uint32", }, { internalType: "uint256", name: "maxGeneralCategoryId", type: "uint256", }, - ], - indexed: false, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + internalType: "bool", + name: "reentrancyGuardLocked", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, + ], + indexed: false, internalType: "struct AccountStorage.Config", name: "config", type: "tuple", @@ -1550,7 +1326,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1563,21 +1339,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -1641,18 +1402,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -1660,12 +1421,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -1681,13 +1447,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -1711,17 +1477,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1733,17 +1499,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1755,14 +1516,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1777,14 +1533,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1799,17 +1550,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1818,24 +1564,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1850,31 +1586,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1889,31 +1615,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1928,31 +1644,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1967,31 +1673,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2006,31 +1702,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2045,31 +1731,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2084,31 +1760,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2123,31 +1789,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2169,24 +1825,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2208,24 +1854,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2240,70 +1876,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2325,24 +1912,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2364,24 +1941,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2403,24 +1970,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2442,24 +1999,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2481,24 +2028,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2522,9 +2059,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -2569,134 +2106,11 @@ const _abi = [ type: "event", }, { - anonymous: false, inputs: [ { - indexed: false, - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", - type: "tuple", - }, - { - internalType: "bool", - name: "closingEndowment", - type: "bool", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", - type: "tuple", - }, - ], - indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", - type: "tuple", - }, - ], - name: "UpdateEndowmentState", - type: "event", - }, - { - inputs: [ - { - internalType: "uint256", - name: "curId", - type: "uint256", + type: "uint32", }, { components: [ @@ -2746,29 +2160,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -2794,43 +2208,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -2845,7 +2259,7 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.DaoSetup", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -2857,7 +2271,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001657612c2b908161001c8239f35b600080fdfe600436101561000d57600080fd5b60003560e01c63ac24748a1461002257600080fd5b3461206c57604036600319011261206c576001600160401b036024351161206c576101006024353603600319011261206c576101806040526004602480359182013560805281013560a052604481013560c052606481013560e0526084810135610100526100929060a401612238565b6101205260243560c4810135610140526001600160401b0360e4909101351161206c57604060243560e4810135013603600319011261206c576040516100d7816121aa565b600360243560e48101350160040135101561206c576024803560e4810135016004810135835201356001600160401b03811161206c576101e060243560e48101350182013603600319011261206c5760405190610133826121c5565b61014960243560e481013501820160040161224c565b82526024803560e48101350182019081013560208401526001600160401b036044909101351161206c576101903660243560e4810135018301604481013501600401612260565b60408301526001600160401b0360243560e4810135018201606401351161206c576101ce3660243560e4810135018301606481013501600401612260565b606083015260a060243560e48101350182013603608319011261206c576040516101f7816121aa565b60243560e481013501820160840135600381101561206c578152608060243560e4810135018301360360a319011261206c57604051610235816121e1565b61024b60243560e481013501840160a401612238565b815260c460e46024358181013501850191820135602084015261026e9101612238565b604082015261028a60243560e481013501840161010401612238565b6060820152602082015260808301526001600160401b0360243560e481013501820161012401351161206c576102d43660243560e481013501830161012481013501600401612260565b60a08301526001600160401b0360243560e481013501820161014401351161206c576101c4906103183660243560e481013501830161014481013501600401612260565b60c084015260243560e481013501810161016481013560e0850152610340906101840161224c565b61010084015260243560e481013501016101a481013561012084015201356101408201526020820152610160527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b5460a081901c60ff161580156121a1575b1561215c57333003612127575b506004356000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002060405190816104408101106001600160401b0361044084011117611d1d57610440820160405280546001600160a01b0316825261041b600182016122f0565b602083015260405161042c816121aa565b61043860028301612396565b815261044660038301612396565b602082015260408301526004810154606083015260ff60058201541661046b816123e5565b608083015261047c600682016122f0565b60a083015261048d600782016122f0565b60c08301526008810154600460ff82161015611cea578060ff80921660e0850152818160081c16151561010085015260101c16151561012083015260098101546101408301526104df600a820161244e565b6101608301526104f1600e820161244e565b6101808301526040518060a08101106001600160401b0360a083011117611d1d5760a0810160405260ff60128301548181161515835260081c16151560208201526013820154604082015260ff60148301541615156060820152601582015460808201526101a083015260ff60168201541615156101c083015260178101546101e08301526018810154610200830152601981015461022083015260018060a01b03601a8201541661024083015260ff601b82015460018060a01b03811661026085015260a01c16151561028083015260018060a01b03601c820154166102a08301526105e0601d820161249c565b6102c08301526105f2601e820161249c565b6102e0830152610604601f820161249c565b610300830152610616602082016124f4565b610320830152610628602382016124f4565b61034083015261063a602682016124f4565b61036083015261064c602982016124f4565b61038083015260405190816102408101106001600160401b0361024084011117611d1d578161024060679301604052610687602c830161252a565b8152610695602f830161252a565b60208201526106a66032830161252a565b60408201526106b76035830161252a565b60608201526106c86038830161252a565b60808201526106d9603b830161252a565b60a08201526106ea603e830161252a565b60c08201526106fb6041830161252a565b60e082015261070c6044830161252a565b61010082015261071e6047830161252a565b610120820152610730604a830161252a565b610140820152610742604d830161252a565b6101608201526107546050830161252a565b6101808201526107666053830161252a565b6101a08201526107786056830161252a565b6101c082015261078a6059830161252a565b6101e082015261079c605c830161252a565b6102008201526107ae605f830161252a565b6102208201526103a084015260628101546103c084015260ff60638201541615156103e08401526040516107e1816121fc565b60648201548152606582015460208201526066820154604082015261040084015201546104208201528051336001600160a01b03909116036120f3576102408101516001600160a01b03166120c55760808051825160a05160c05160e05161010051610120516101405161016051988a01516001600160a01b03909716989596959490936001600160801b0390921692919061087c876123e5565b8a517ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46546040519b6001600160a01b039182169b9190921699916101a08d01808e116001600160401b0390911117611d1d576101a08d016040526004358d5260208d015260408c015260608b015260808a015260a089015260c088015260e0870152610100860152610120850152610913816123e5565b610140840152610160830152610180820152602060405180809363e85fb24b60e01b82528360048301528051602483015260018060a01b03848201511660448301526040810151606483015260608101516084830152608081015160a483015260a081015160c483015260c081015160e483015260e0810151610104830152610100810151610124830152836101208201516101a061014485015280516109b9816123e5565b6101c485015201519060406101e484015260018060a01b0382511661020484015284820151610224840152610140610a9f610a0660408501516101e06102448801526103e487019061259c565b610a89610a276060870151926102031993848a8303016102648b015261259c565b6001600160801b0360608b60808a01518051610a42816123e5565b6102848d01520151828151166102a48c01528c8101516102c48c0152826040820151166102e48c015201511661030489015260a087015183898303016103248a015261259c565b9060c0860151908783030161034488015261259c565b60e08401516103648601526101008401516001600160a01b03166103848601526101208401516103a48601529201516103c4840152610140810151610ae3816123e5565b6101648401526101608101516001600160a01b0390811661018485015261018090910151166101a483015203816000305af190811561207957600091612085575b506001600160a01b0316610240820181905260405163e68f909d60e01b81529061016090829060049082905afa90811561207957600091611faa575b50602060018060a01b03910151166102608201526004356000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4260205260406000209060018060a01b038151166001600160601b0360a01b83541617825560208101519182516001600160401b038111611d1d57610be260018301546122b6565b601f8111611f75575b506020601f8211600114611f075781929394600092611efc575b50508160011b916000199060031b1c19161760018201555b604082015180518051906001600160401b038211611d1d57600160401b8211611d1d5760206002850191610c56848454818655856125f3565b0190600052602060002060005b838110611ee857868660208701518051906001600160401b038211611d1d57600160401b8211611d1d5760206003840191610ca3848454818655856125f3565b0190600052602060002060005b838110611ed457858560608201516004820155600581016080830151610cd5816123e5565b610cde816123e5565b60ff8019835416911617905560a08201519182516001600160401b038111611d1d57610d0d60068401546122b6565b601f8111611e9f575b506020601f8211600114611e315781929394600092611e26575b50508160011b916000199060031b1c19161760068301555b60c08101519182516001600160401b038111611d1d57610d6b60078301546122b6565b601f8111611de6575b506020601f8211600114611d785781929394600092611d6d575b50508160011b916000199060031b1c19161760078201555b60e08201516004811015611cea576008828101805461010086015161ffff1990911660ff9094169390931792151590911b61ff0016919091178155610e0390610120840151815462ff0000191690151560101b62ff000016179055565b6101408201516009820155610e20610160830151600a8301612616565b610e32610180830151600e8301612616565b608060128201610e766101a085015191610e5b83511515829060ff801983541691151516179055565b6020830151815461ff00191690151560081b61ff0016179055565b60408101516013840155610e9f60608201511515601485019060ff801983541691151516179055565b01516015820155610ec66101c08301511515601683019060ff801983541691151516179055565b6101e0820151601782015561020082015160188201556102208201516019820155610240820151601a820180546001600160a01b039283166001600160a01b031991821617909155610260840151601b8401805461028087015160ff60a01b90151560a01b169285166001600160a81b0319909116179190911790556102a0840151601c840180549190931691161790556102c08201518051906001600160401b038211611d1d57600160401b8211611d1d576020601d840191610f8f848454818655856125f3565b0190600052602060002060005b838110611d505785856102e08201518051906001600160401b038211611d1d57600160401b8211611d1d576020601e840191610fdd848454818655856125f3565b0190600052602060002060005b838110611d335785856103008201518051906001600160401b038211611d1d57600160401b8211611d1d576020601f84019161102b848454818655856125f3565b0190600052602060002060005b838110611d0057858561108f6040602083016103208501519060018060a01b038251166001600160601b0360a01b8254161790556020810151602185015501511515602283019060ff801983541691151516179055565b6110dd6040602383016103408501519060018060a01b038251166001600160601b0360a01b8254161790556020810151602485015501511515602583019060ff801983541691151516179055565b61112b6040602683016103608501519060018060a01b038251166001600160601b0360a01b8254161790556020810151602785015501511515602883019060ff801983541691151516179055565b6111796040602983016103808501519060018060a01b038251166001600160601b0360a01b8254161790556020810151602a85015501511515602b83019060ff801983541691151516179055565b60206103a08301518181516111da815115156111a5602c880191829060ff801983541691151516179055565b82840151815461ff00191690151560081b61ff00161781556040830151815462ff0000191690151560101b62ff000016179055565b6060602d86019101519060018060a01b038251166001600160601b0360a01b8254161790550151602e84015581602f840161122c82840151916111a583511515829060ff801983541691151516179055565b6060603086019101519060018060a01b038251166001600160601b0360a01b82541617905501516031840155816032840161127f6040840151916111a583511515829060ff801983541691151516179055565b6060603386019101519060018060a01b038251166001600160601b0360a01b8254161790550151603484015581603584016112d26060840151916111a583511515829060ff801983541691151516179055565b6060603686019101519060018060a01b038251166001600160601b0360a01b8254161790550151603784015581603884016113256080840151916111a583511515829060ff801983541691151516179055565b6060603986019101519060018060a01b038251166001600160601b0360a01b8254161790550151603a84015581603b840161137860a0840151916111a583511515829060ff801983541691151516179055565b6060603c86019101519060018060a01b038251166001600160601b0360a01b8254161790550151603d84015581603e84016113cb60c0840151916111a583511515829060ff801983541691151516179055565b6060603f86019101519060018060a01b038251166001600160601b0360a01b82541617905501516040840155816041840161141e60e0840151916111a583511515829060ff801983541691151516179055565b6060604286019101519060018060a01b038251166001600160601b0360a01b825416179055015160438401558160448401611472610100840151916111a583511515829060ff801983541691151516179055565b6060604586019101519060018060a01b038251166001600160601b0360a01b8254161790550151604684015581604784016114c6610120840151916111a583511515829060ff801983541691151516179055565b6060604886019101519060018060a01b038251166001600160601b0360a01b8254161790550151604984015581604a840161151a610140840151916111a583511515829060ff801983541691151516179055565b6060604b86019101519060018060a01b038251166001600160601b0360a01b8254161790550151604c84015581604d840161156e610160840151916111a583511515829060ff801983541691151516179055565b6060604e86019101519060018060a01b038251166001600160601b0360a01b8254161790550151604f84015581605084016115c2610180840151916111a583511515829060ff801983541691151516179055565b6060605186019101519060018060a01b038251166001600160601b0360a01b8254161790550151605284015581605384016116166101a0840151916111a583511515829060ff801983541691151516179055565b6060605486019101519060018060a01b038251166001600160601b0360a01b82541617905501516055840155816056840161166a6101c0840151916111a583511515829060ff801983541691151516179055565b6060605786019101519060018060a01b038251166001600160601b0360a01b8254161790550151605884015581605984016116be6101e0840151916111a583511515829060ff801983541691151516179055565b6060605a86019101519060018060a01b038251166001600160601b0360a01b8254161790550151605b84015581605c8401611712610200840151916111a583511515829060ff801983541691151516179055565b6060605d86019101519060018060a01b038251166001600160601b0360a01b8254161790550151605e840155611765610220605f8501920151916111a583511515829060ff801983541691151516179055565b60608084019101519060018060a01b038251166001600160601b0360a01b825416179055015160618201556103c082015160628201556117bb6103e08301511515606383019060ff801983541691151516179055565b6040610400830151805160648401556020810151606584015501516066820155606761042083015191015560405160043581526040602082015260018060a01b0382511660408201526118aa6118936118606118286020860151611120606087015261116086019061259c565b604086015190603f19868203016080870152602061184f8351604084526040840190612a9d565b920151906020818403910152612a9d565b606085015160a08501526080850151611878816123e5565b60c085015260a0850151848203603f190160e086015261259c565b60c0840151838203603f190161010085015261259c565b9160e0810151906004821015611cea57610420611a51611a39611a2161194e6119367f364502d723e5ab665a7fdb51cffd24931248ebbf2a52d809c6fd1e9005b4dd9e9989986101208a015261010088015115156101408a015261012088015115156101608a01526101408801516101808a0152610160880151603f198a8303016101a08b0152612b26565b610180870151888203603f19016101c08a0152612b26565b60806101a0870151805115156101e08a0152602081015115156102008a015260408101516102208a0152606081015115156102408a015201516102608801526101c086015115156102808801526101e08601516102a08801526102008601516102c08801526102208601516102e088015260018060a01b036102408701511661030088015260018060a01b0361026087015116610320880152610280860151151561034088015260018060a01b036102a0870151166103608801526102c0860151603f1988830301610380890152612b7d565b6102e0850151868203603f19016103a0880152612b7d565b610300840151858203603f19016103c0870152612b7d565b61032083015180516001600160a01b03166103e086015260208101516104008601526040015115156104208501529161034081015180516001600160a01b0316610440860152602081015161046086015260400151151561048085015261036081015180516001600160a01b03166104a086015260208101516104c08601526040015115156104e085015261038081015180516001600160a01b03166105008601526020810151610520860152604001511515610540850152611c6b6102206103a0830151611b2561056088018251612bba565b611b386020820151610600890190612bba565b611b4b60408201516106a0890190612bba565b611b5e6060820151610740890190612bba565b611b7160808201516107e0890190612bba565b611b8460a0820151610880890190612bba565b611b9760c0820151610920890190612bba565b611baa60e08201516109c0890190612bba565b611bbe610100820151610a60890190612bba565b611bd2610120820151610b00890190612bba565b611be6610140820151610ba0890190612bba565b611bfa610160820151610c40890190612bba565b611c0e610180820151610ce0890190612bba565b611c226101a0820151610d80890190612bba565b611c366101c0820151610e20890190612bba565b611c4a6101e0820151610ec0890190612bba565b611c5e610200820151610f60890190612bba565b0151611000860190612bba565b6103c08101516110a08501526103e081015115156110c0850152604061040082015180516110e08701526020810151611100870152015161112085015201516111408301520390a1333003611cbc57005b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff60a01b19169055005b634e487b7160e01b600052602160045260246000fd5b82516001600160a01b031681830155602090920191600101611038565b634e487b7160e01b600052604160045260246000fd5b82516001600160a01b031681830155602090920191600101610fea565b82516001600160a01b031681830155602090920191600101610f9c565b015190508480610d8e565b6007830160005260206000209060005b601f1984168110611dce5750600193949583601f19811610611db5575b505050811b016007820155610da6565b015160001960f88460031b161c19169055848080611da5565b9091602060018192858a015181550193019101611d88565b611e1690600784016000526020600020601f840160051c81019160208510611e1c575b601f0160051c01906125dc565b84610d74565b9091508190611e09565b015190508480610d30565b6006840160005260206000209060005b601f1984168110611e875750600193949583601f19811610611e6e575b505050811b016006830155610d48565b015160001960f88460031b161c19169055848080611e5e565b9091602060018192858a015181550193019101611e41565b611ece90600685016000526020600020601f840160051c81019160208510611e1c57601f0160051c01906125dc565b84610d16565b600190602084519401938184015501610cb0565b600190602084519401938184015501610c63565b015190503880610c05565b6001830160005260206000209060005b601f1984168110611f5d5750600193949583601f19811610611f44575b505050811b016001820155610c1d565b015160001960f88460031b161c19169055388080611f34565b9091602060018192858a015181550193019101611f17565b611fa490600184016000526020600020601f840160051c81019160208510611e1c57601f0160051c01906125dc565b38610beb565b9050610160813d61016011612071575b81611fc86101609383612217565b8101031261206c5761014060405191611fe0836121c5565b611fe981612588565b8352611ff760208201612588565b602084015261200860408201612588565b604084015261201960608201612588565b60608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e0840152610100810151610100840152610120810151610120840152015161014082015238610b60565b600080fd5b3d9150611fba565b6040513d6000823e3d90fd5b90506020813d6020116120bd575b816120a060209383612217565b8101031261206c576101606120b6600492612588565b9150610b24565b3d9150612093565b60405162461bcd60e51b815260206004820152600660248201526541442045303160d01b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b60ff60a01b1916600160a01b177ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b55386103ac565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b5033301461039f565b604081019081106001600160401b03821117611d1d57604052565b61016081019081106001600160401b03821117611d1d57604052565b608081019081106001600160401b03821117611d1d57604052565b606081019081106001600160401b03821117611d1d57604052565b90601f801991011681019081106001600160401b03821117611d1d57604052565b35906001600160801b038216820361206c57565b35906001600160a01b038216820361206c57565b81601f8201121561206c578035906001600160401b038211611d1d5760405192612294601f8401601f191660200185612217565b8284526020838301011161206c57816000926020809301838601378301015290565b90600182811c921680156122e6575b60208310146122d057565b634e487b7160e01b600052602260045260246000fd5b91607f16916122c5565b9060405191826000825492612304846122b6565b9081845260019485811690816000146123735750600114612330575b505061232e92500383612217565b565b9093915060005260209081600020936000915b81831061235b57505061232e93508201013880612320565b85548884018501529485019487945091830191612343565b91505061232e94506020925060ff191682840152151560051b8201013880612320565b9060405191828154918282526020928383019160005283600020936000905b8282106123cb5750505061232e92500383612217565b8554845260019586019588955093810193909101906123b5565b60031115611cea57565b9081546001600160401b038111611d1d57604051926020612415818460051b0186612217565b82855260009182528082208186015b848410612432575050505050565b6001838192612440856122f0565b815201920193019290612424565b9060405161245b816121e1565b60606124976003839561246d816123ef565b855261247b60018201612396565b602086015261248c600282016123ef565b604086015201612396565b910152565b9060405191828154918282526020928383019160005283600020936000905b8282106124d15750505061232e92500383612217565b85546001600160a01b0316845260019586019588955093810193909101906124bb565b90604051612501816121fc565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b9060405191612538836121e1565b60608360ff835481811615158352818160081c161515602084015260101c161515604082015260026040519361256d856121aa565b60018101546001600160a01b03168552015460208401520152565b51906001600160a01b038216820361206c57565b919082519283825260005b8481106125c8575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016125a7565b8181106125e7575050565b600081556001016125dc565b9181811061260057505050565b61232e92600052602060002091820191016125dc565b908051805190600160401b808311611d1d578454838655808410612a28575b50602080920160009386855283852085925b82841061290e57505050508382015180516001600160401b03969160018301908883116128e8578483116128e8578590612686848454818655856125f3565b01908652848620865b8381106128fc57505050506002810160408601518051908482116128e85785908354838555808410612872575b500191865284862086925b82841061274d57505050506003606091019401519081519586116127395785116127255781906126fc868654818855876125f3565b01928252808220915b848110612713575050505050565b83518382015592810192600101612705565b634e487b7160e01b83526041600452602483fd5b634e487b7160e01b84526041600452602484fd5b80518051908b821161285e5790889161276685546122b6565b908b601f9285848211612828575b5050508b849284116001146127be5792600195928192879695926127b3575b5050600019600383901b1c191690841b1785555b019201930192906126c7565b015190503880612793565b50858c52838c2090949291601f1983168d5b8181106128105750918391600197889796958895106127f7575b505050811b0185556127a7565b015160001960f88460031b161c191690553880806127ea565b8783015184558d9660019094019392830192016127d0565b828961284d945220600585808801821c830193898910612855575b01901c01906125dc565b8b3885612774565b93508293612843565b634e487b7160e01b8a52604160045260248afd5b84895283838a2091820191015b81811061288c57506126bc565b6001919293508961289d82546122b6565b806128af575b5050019087929161287f565b601f80821185146128c657505081555b89386128a3565b6128df908484528c8420920160051c82018583016125dc565b818355556128bf565b634e487b7160e01b87526041600452602487fd5b8251828201559186019160010161268f565b80518051906001600160401b038211612a145790879161292e85546122b6565b90601f918281116129e8575b5083918311600114612981579180600195928695948d92612976575b5050600019600383901b1c191690841b1785555b01920193019290612647565b015190503880612956565b858b52838b209190601f1984168c5b8181106129d057509160019693918588979694106129b7575b505050831b8301855561296a565b015160001960f88460031b161c191690553880806129a9565b8284015185558c966001909501949384019301612990565b612a0e90878d52858d20600585808801821c8301938989106128555701901c01906125dc565b3861293a565b634e487b7160e01b89526041600452602489fd5b600086815260208581832093840193015b838110612a4857505050612635565b8083612a56600193546122b6565b80612a64575b505001612a39565b601f8082118514612a7b57505081555b8338612a5c565b612a9490848452868420920160051c82018583016125dc565b81835555612a74565b90815180825260208080930193019160005b828110612abd575050505090565b835185529381019392810192600101612aaf565b90815180825260208092019182818360051b85019501936000915b848310612afc5750505050505090565b9091929394958480612b1683856001950387528a5161259c565b9801930193019194939290612aec565b612b7a916060612b69612b57612b458551608086526080860190612ad1565b60208601518582036020870152612a9d565b60408501518482036040860152612ad1565b920151906060818403910152612a9d565b90565b90815180825260208080930193019160005b828110612b9d575050505090565b83516001600160a01b031685529381019392810192600101612b8f565b6020606060809280511515855282810151151583860152604081015115156040860152015160018060a01b038151166060850152015191015256fea2646970667358221220daddd40ee491c7345c6c9b2038f7f5dc7dfedbc167e6cd19c7ee647d3276b76164736f6c63430008120033"; + "0x60808060405234610016576127cb908161001c8239f35b600080fdfe600436101561000d57600080fd5b60003560e01c635954cc011461002257600080fd5b34611c41576040366003190112611c415763ffffffff6004351660043503611c41576001600160401b0360243511611c415761010060243536036003190112611c41576101806040526004602480359182013560805281013560a052604481013560c052606481013560e0526084810135610100526100a39060a401611df2565b6101205260243560c4810135610140526001600160401b0360e49091013511611c4157604060243560e48101350136036003190112611c41576040516100e881611d7f565b600360243560e481013501600401351015611c41576024803560e4810135016004810135835201356001600160401b038111611c41576101e060243560e481013501820136036003190112611c41576040519061014482611d9a565b61015a60243560e4810135018201600401611e06565b82526024803560e48101350182019081013560208401526001600160401b0360449091013511611c41576101a13660243560e4810135018301604481013501600401611e1a565b60408301526001600160401b0360243560e48101350182016064013511611c41576101df3660243560e4810135018301606481013501600401611e1a565b606083015260a060243560e481013501820136036083190112611c415760405161020881611d7f565b600360243560e4810135018301608401351015611c415760243560e4810135018201608481013582526080369190910360a3190112611c415760405161024d81611db6565b61026360243560e481013501840160a401611df2565b815260c460e4602435818101350185019182013560208401526102869101611df2565b60408201526102a260243560e481013501840161010401611df2565b6060820152602082015260808301526001600160401b0360243560e4810135018201610124013511611c41576102ec3660243560e481013501830161012481013501600401611e1a565b60a08301526001600160401b0360243560e4810135018201610144013511611c41576101c4906103303660243560e481013501830161014481013501600401611e1a565b60c084015260243560e481013501810161016481013560e08501526103589061018401611e06565b61010084015260243560e481013501016101a481013561012084015201356101408201526020820152610160527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a5460a081901c60ff16158015611d76575b15611d3157333003611cfc575b5061040060043563ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b60405190816103e08101106001600160401b036103e0840111176118dc576103e0820160405280546001600160a01b0316825261043f60018201611eaa565b602083015260405161045081611d7f565b61045c60028301611f50565b815261046a60038301611f50565b602082015260408301526004810154606083015261049260ff60058301541660808401611f9f565b61049e60068201611eaa565b60a08301526104af60078201611eaa565b60c0830152600881015460e08301526104ca6009820161200a565b6101008301526104dc600d820161200a565b6101208301526040518060c08101106001600160401b0360c0830111176118dc5760c0810160405263ffffffff601183015460ff811615158352818160081c166020840152818160281c16604084015260ff8160481c1615156060840152818160501c16608084015260701c1660a082015261014083015260ff6012820154161515610160830152601381015461018083015260148101546101a083015260018060a01b036015820154166101c083015260018060a01b036016820154166101e083015260ff601782015460018060a01b03811661020085015260a01c16151561022083015260018060a01b036018820154166102408301526105e160198201612058565b6102608301526105f3601a8201612058565b610280830152610605601b8201612058565b6102a0830152610617601c82016120b0565b6102c0830152610629601e82016120b0565b6102e083015261063b602082016120b0565b61030083015261064d602282016120b0565b610320830152604051806102208101106001600160401b03610220830111176118dc576102208101604052610684602483016120d7565b8152610692602783016120d7565b60208201526106a3602a83016120d7565b60408201526106b4602d83016120d7565b60608201526106c5603083016120d7565b60808201526106d6603383016120d7565b60a08201526106e7603683016120d7565b60c08201526106f8603983016120d7565b60e0820152610709603c83016120d7565b61010082015261071b603f83016120d7565b61012082015261072d604283016120d7565b61014082015261073f604583016120d7565b610160820152610751604883016120d7565b610180820152610763604b83016120d7565b6101a0820152610775604e83016120d7565b6101c0820152610787605183016120d7565b6101e0820152610799605483016120d7565b61020082015261034083015260ff605782015463ffffffff811661036085015260201c161515610380830152604051908160608101106001600160401b036060840111176118dc57816060605b93016040526058820154815260598201546020820152605a82015460408201526103a084015201546103c08201523360018060a01b0382511603611cc8576101e08101516001600160a01b0316611c9a5760808051825160a05160c05160e05161010051610120516101405161016051988a01519798959794966001600160a01b0316959390926001600160801b0390921691906002861015611a93578a517ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46546040519b6001600160a01b039182169b9190921699916101a08d01808e116001600160401b03909111176118dc576109259960208e6101a0810160405263ffffffff600435168152015260408d015260608c015260808b015260a08a015260c089015260e08801526101008701526101208601526101408501611f9f565b6101608301526101808201526020604051808093638027022560e01b825283600483015263ffffffff815116602483015260018060a01b03848201511660448301526040810151606483015260608101516084830152608081015160a483015260a081015160c483015260c081015160e483015260e0810151610104830152610100810151610124830152836101208201516101a061014485015280516109cb81612110565b6101c485015201519060406101e484015260018060a01b0382511661020484015284820151610224840152610140610ab1610a1860408501516101e06102448801526103e487019061211a565b610a9b610a396060870151926102031993848a8303016102648b015261211a565b6001600160801b0360608b60808a01518051610a5481612110565b6102848d01520151828151166102a48c01528c8101516102c48c0152826040820151166102e48c015201511661030489015260a087015183898303016103248a015261211a565b9060c0860151908783030161034488015261211a565b60e08401516103648601526101008401516001600160a01b03166103848601526101208401516103a48601529201516103c4840152610140810151610afb9061016485019061215a565b6101608101516001600160a01b0390811661018485015261018090910151166101a483015203816000305af1908115611c4e57600091611c5a575b506001600160a01b03166101e0820181905260405163e68f909d60e01b81529061016090829060049082905afa908115611c4e57600091611b7f575b506020908101516001600160a01b031661020083015263ffffffff6004351660009081527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4290915260409020815181546001600160a01b0319166001600160a01b0391909116178155602082015180519092906001600160401b0381116118dc57610c006001840154611e70565b601f8111611b4a575b506020601f8211600114611adc5781929394600092611ad1575b50508160011b916000199060031b1c19161760018301555b604081015180518051906001600160401b0382116118dc57600160401b82116118dc5760206002860191610c748484548186558561217e565b0190600052602060002060005b838110611abd57868660208701518051906001600160401b0382116118dc57600160401b82116118dc5760206003850191610cc18484548186558561217e565b0190600052602060002060005b838110611aa9578585606081015160048301556005820160808201516002811015611a935760ff8019835416911617905560a08101519182516001600160401b0381116118dc57610d226006830154611e70565b601f8111611a5e575b506020601f82116001146119f057819293946000926119e5575b50508160011b916000199060031b1c19161760068201555b60c08201519182516001600160401b0381116118dc57610d806007840154611e70565b601f81116119a5575b506020601f8211600114611937578192939460009261192c575b50508160011b916000199060031b1c19161760078301555b60e08101516008830155610dd7610100820151600984016121a1565b610de9610120820151600d84016121a1565b60118201610140820151610e0c81511515839060ff801983541691151516179055565b602081015190825468ffffffff0000000000604083015160281b1669ff0000000000000000006060840151151560481b169164ffffffff0063ffffffff60501b608086015160501b169460a063ffffffff60701b91015160701b169560081b169071ffffffffffffffffffffffffffffffffff00191617171717179055610ea96101608201511515601284019060ff801983541691151516179055565b61018081015160138301556101a081015160148301556101c08101516015830180546001600160a01b039283166001600160a01b0319918216179091556101e083015160168501805491841691831691909117905561020083015160178501805461022086015160ff60a01b90151560a01b169285166001600160a81b0319909116179190911790556102408301516018850180549190931691161790556102608101518051906001600160401b0382116118dc57600160401b82116118dc5760206019850191610f7f8484548186558561217e565b0190600052602060002060005b83811061190f5785856102808101518051906001600160401b0382116118dc57600160401b82116118dc576020601a850191610fcd8484548186558561217e565b0190600052602060002060005b8381106118f25785856102a08101519182516001600160401b0381116118dc57600160401b81116118dc576020601b83019461101b8387548189558861217e565b0193600052602060002060005b8281106118bf577f28c1b2f18a3e71d2e6df5b0732ff252e57dc097525c7b3a6aa087522506a5b366060602087876110686102c0830151601c8301612628565b61107a6102e0830151601e8301612628565b61108b610300830151848301612628565b61109d61032083015160228301612628565b6113d6836102006103408501516110d78382516110cc8151151560248a019060ff801983541691151516179055565b015160258701612628565b61110683808301516110fb8151151560278a019060ff801983541691151516179055565b015160288701612628565b61113683604083015161112b81511515602a8a019060ff801983541691151516179055565b0151602b8701612628565b611165838983015161115a81511515602d8a019060ff801983541691151516179055565b0151602e8701612628565b61119583608083015161118a8151151560308a019060ff801983541691151516179055565b015160318701612628565b6111c58360a08301516111ba8151151560338a019060ff801983541691151516179055565b015160348701612628565b6111f58360c08301516111ea8151151560368a019060ff801983541691151516179055565b015160378701612628565b6112258360e083015161121a8151151560398a019060ff801983541691151516179055565b0151603a8701612628565b6112568361010083015161124b81511515603c8a019060ff801983541691151516179055565b0151603d8701612628565b6112878361012083015161127c81511515603f8a019060ff801983541691151516179055565b015160408701612628565b6112b8836101408301516112ad8151151560428a019060ff801983541691151516179055565b015160438701612628565b6112e9836101608301516112de8151151560458a019060ff801983541691151516179055565b015160468701612628565b61131a8361018083015161130f8151151560488a019060ff801983541691151516179055565b015160498701612628565b61134b836101a083015161134081511515604b8a019060ff801983541691151516179055565b0151604c8701612628565b61137c836101c083015161137181511515604e8a019060ff801983541691151516179055565b0151604f8701612628565b6113ad836101e08301516113a28151151560518a019060ff801983541691151516179055565b015160528701612628565b01516113cb81511515605486019060ff801983541691151516179055565b015160558301612628565b6057810163ffffffff6103608401511681549064ff000000006103808601511515871b169164ffffffffff19161717905560406103a0830151805160588401558481015160598401550151605a820155605b6103c08301519101556103c061166861165061163861154861153061150d6114f66114c461148b8a610b806040519e8f9e8f9363ffffffff60043516855260408286015260018060a01b0381511660408601520151920152610bc08d019061211a565b60408b0151908c6080603f198284030191015260206114b38351604084526040840190612653565b920151906020818403910152612653565b60608a015160a08c01526114e060808b015160c08d019061215a565b60a08a01518b8203603f190160e08d015261211a565b60c08901518a8203603f19016101008c015261211a565b60e08801516101208a0152610100880151898203603f19016101408b01526126dc565b610120870151888203603f19016101608a01526126dc565b63ffffffff60a0610140880151805115156101808b0152826020820151166101a08b0152826040820151166101c08b0152606081015115156101e08b0152826080820151166102008b015201511661022088015261016086015115156102408801526101808601516102608801526101a086015161028088015260018060a01b036101c0870151166102a088015260018060a01b036101e0870151166102c088015260018060a01b03610200870151166102e0880152610220860151151561030088015260018060a01b0361024087015116610320880152610260860151603f1988830301610340890152612733565b610280850151868203603f1901610360880152612733565b6102a0840151858203603f1901610380870152612733565b6102c083015180516001600160a01b03166103a0860152602001516103c0850152916102e081015180516001600160a01b03166103e08601526020015161040085015261030081015180516001600160a01b03166104208601526020015161044085015261032081015180516001600160a01b03166104608601526020015161048085015261183a6102006103408301516117086104a088018251612770565b61171b6020820151610500890190612770565b61172e6040820151610560890190612770565b61174160608201516105c0890190612770565b6117546080820151610620890190612770565b61176760a0820151610680890190612770565b61177a60c08201516106e0890190612770565b61178d60e0820151610740890190612770565b6117a16101008201516107a0890190612770565b6117b5610120820151610800890190612770565b6117c9610140820151610860890190612770565b6117dd6101608201516108c0890190612770565b6117f1610180820151610920890190612770565b6118056101a0820151610980890190612770565b6118196101c08201516109e0890190612770565b61182d6101e0820151610a40890190612770565b0151610aa0860190612770565b63ffffffff61036082015116610b008501526103808101511515610b2085015260406103a08201518051610b408701526020810151610b608701520151610b808501520151610ba08301520390a133300361189157005b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff60a01b19169055005b85516001600160a01b031681830155602090950194600101611028565b634e487b7160e01b600052604160045260246000fd5b82516001600160a01b031681830155602090920191600101610fda565b82516001600160a01b031681830155602090920191600101610f8c565b015190508480610da3565b6007840160005260206000209060005b601f198416811061198d5750600193949583601f19811610611974575b505050811b016007830155610dbb565b015160001960f88460031b161c19169055848080611964565b9091602060018192858a015181550193019101611947565b6119d590600785016000526020600020601f840160051c810191602085106119db575b601f0160051c0190612167565b84610d89565b90915081906119c8565b015190508480610d45565b6006830160005260206000209060005b601f1984168110611a465750600193949583601f19811610611a2d575b505050811b016006820155610d5d565b015160001960f88460031b161c19169055848080611a1d565b9091602060018192858a015181550193019101611a00565b611a8d90600684016000526020600020601f840160051c810191602085106119db57601f0160051c0190612167565b84610d2b565b634e487b7160e01b600052602160045260246000fd5b600190602084519401938184015501610cce565b600190602084519401938184015501610c81565b015190503880610c23565b6001840160005260206000209060005b601f1984168110611b325750600193949583601f19811610611b19575b505050811b016001830155610c3b565b015160001960f88460031b161c19169055388080611b09565b9091602060018192858a015181550193019101611aec565b611b7990600185016000526020600020601f840160051c810191602085106119db57601f0160051c0190612167565b38610c09565b9050610160813d61016011611c46575b81611b9d6101609383611dd1565b81010312611c415761014060405191611bb583611d9a565b611bbe816120fc565b8352611bcc602082016120fc565b6020840152611bdd604082016120fc565b6040840152611bee606082016120fc565b60608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e0840152610100810151610100840152610120810151610120840152015161014082015238610b72565b600080fd5b3d9150611b8f565b6040513d6000823e3d90fd5b90506020813d602011611c92575b81611c7560209383611dd1565b81010312611c4157610160611c8b6004926120fc565b9150610b36565b3d9150611c68565b60405162461bcd60e51b815260206004820152600660248201526541442045303160d01b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b60ff60a01b1916600160a01b177ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a55386103c4565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b503330146103b7565b604081019081106001600160401b038211176118dc57604052565b61016081019081106001600160401b038211176118dc57604052565b608081019081106001600160401b038211176118dc57604052565b90601f801991011681019081106001600160401b038211176118dc57604052565b35906001600160801b0382168203611c4157565b35906001600160a01b0382168203611c4157565b81601f82011215611c41578035906001600160401b0382116118dc5760405192611e4e601f8401601f191660200185611dd1565b82845260208383010111611c4157816000926020809301838601378301015290565b90600182811c92168015611ea0575b6020831014611e8a57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611e7f565b9060405191826000825492611ebe84611e70565b908184526001948581169081600014611f2d5750600114611eea575b5050611ee892500383611dd1565b565b9093915060005260209081600020936000915b818310611f15575050611ee893508201013880611eda565b85548884018501529485019487945091830191611efd565b915050611ee894506020925060ff191682840152151560051b8201013880611eda565b9060405191828154918282526020928383019160005283600020936000905b828210611f8557505050611ee892500383611dd1565b855484526001958601958895509381019390910190611f6f565b6002821015611a935752565b9081546001600160401b0381116118dc57604051926020611fd1818460051b0186611dd1565b82855260009182528082208186015b848410611fee575050505050565b6001838192611ffc85611eaa565b815201920193019290611fe0565b9060405161201781611db6565b60606120536003839561202981611fab565b855261203760018201611f50565b602086015261204860028201611fab565b604086015201611f50565b910152565b9060405191828154918282526020928383019160005283600020936000905b82821061208d57505050611ee892500383611dd1565b85546001600160a01b031684526001958601958895509381019390910190612077565b906040516120bd81611d7f565b82546001600160a01b031681526001909201546020830152565b906040516120e481611d7f565b60206120536001839560ff81541615158552016120b0565b51906001600160a01b0382168203611c4157565b60031115611a9357565b919082519283825260005b848110612146575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201612125565b906002821015611a935752565b818110612172575050565b60008155600101612167565b9181811061218b57505050565b611ee89260005260206000209182019101612167565b908051805190600160401b8083116118dc5784548386558084106125b3575b50602080920160009386855283852085925b82841061249957505050508382015180516001600160401b0396916001830190888311612473578483116124735785906122118484548186558561217e565b01908652848620865b838110612487575050505060028101604086015180519084821161247357859083548385558084106123fd575b500191865284862086925b8284106122d857505050506003606091019401519081519586116122c45785116122b05781906122878686548188558761217e565b01928252808220915b84811061229e575050505050565b83518382015592810192600101612290565b634e487b7160e01b83526041600452602483fd5b634e487b7160e01b84526041600452602484fd5b80518051908b82116123e9579088916122f18554611e70565b908b601f92858482116123b3575b5050508b8492841160011461234957926001959281928796959261233e575b5050600019600383901b1c191690841b1785555b01920193019290612252565b01519050388061231e565b50858c52838c2090949291601f1983168d5b81811061239b575091839160019788979695889510612382575b505050811b018555612332565b015160001960f88460031b161c19169055388080612375565b8783015184558d96600190940193928301920161235b565b82896123d8945220600585808801821c8301938989106123e0575b01901c0190612167565b8b38856122ff565b935082936123ce565b634e487b7160e01b8a52604160045260248afd5b84895283838a2091820191015b8181106124175750612247565b600191929350896124288254611e70565b8061243a575b5050019087929161240a565b601f808211851461245157505081555b893861242e565b61246a908484528c8420920160051c8201858301612167565b8183555561244a565b634e487b7160e01b87526041600452602487fd5b8251828201559186019160010161221a565b80518051906001600160401b03821161259f579087916124b98554611e70565b90601f91828111612573575b508391831160011461250c579180600195928695948d92612501575b5050600019600383901b1c191690841b1785555b019201930192906121d2565b0151905038806124e1565b858b52838b209190601f1984168c5b81811061255b5750916001969391858897969410612542575b505050831b830185556124f5565b015160001960f88460031b161c19169055388080612534565b8284015185558c96600190950194938401930161251b565b61259990878d52858d20600585808801821c8301938989106123e05701901c0190612167565b386124c5565b634e487b7160e01b89526041600452602489fd5b600086815260208581832093840193015b8381106125d3575050506121c0565b80836125e160019354611e70565b806125ef575b5050016125c4565b601f808211851461260657505081555b83386125e7565b61261f90848452868420920160051c8201858301612167565b818355556125ff565b815181546001600160a01b0319166001600160a01b0391909116178155602090910151600190910155565b90815180825260208080930193019160005b828110612673575050505090565b835185529381019392810192600101612665565b90815180825260208092019182818360051b85019501936000915b8483106126b25750505050505090565b90919293949584806126cc83856001950387528a5161211a565b98019301930191949392906126a2565b61273091606061271f61270d6126fb8551608086526080860190612687565b60208601518582036020870152612653565b60408501518482036040860152612687565b920151906060818403910152612653565b90565b90815180825260208080930193019160005b828110612753575050505090565b83516001600160a01b031685529381019392810192600101612745565b80511515825260209081015180516001600160a01b031682840152015160409091015256fea26469706673582212204113d5cec59c62cdd826ff93a99b7fe902b6b4bd83ea24a62fbdb1aba278d83964736f6c63430008120033"; type AccountsDAOEndowmentsConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountsEvents__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountsEvents__factory.ts index 393f1f293..e7babac9e 100644 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountsEvents__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/facets/AccountsEvents__factory.ts @@ -32,37 +32,10 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], indexed: false, - internalType: "struct AccountStorage.AllowanceData", + internalType: "uint256", name: "allowance", - type: "tuple", + type: "uint256", }, ], name: "AllowanceStateUpdatedTo", @@ -74,9 +47,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -129,29 +102,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -177,43 +150,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -228,7 +201,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -244,7 +217,7 @@ const _abi = [ ], indexed: false, internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", + name: "createdaomessage", type: "tuple", }, { @@ -263,13 +236,13 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -365,7 +338,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -378,21 +351,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -456,18 +414,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -475,12 +433,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -496,13 +459,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -526,17 +489,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -548,17 +511,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -570,14 +528,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -592,14 +545,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -614,17 +562,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -633,24 +576,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -665,31 +598,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -704,31 +627,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -743,31 +656,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -782,31 +685,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -821,31 +714,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -860,31 +743,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -899,31 +772,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -938,31 +801,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -984,24 +837,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1023,63 +866,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1094,31 +888,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1140,24 +924,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1179,24 +953,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1218,24 +982,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1257,24 +1011,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1296,24 +1040,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1337,9 +1071,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -1433,37 +1167,37 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { indexed: false, internalType: "address", - name: "curTokenin", + name: "tokenin", type: "address", }, { indexed: false, internalType: "address", - name: "curTokenout", + name: "tokenout", type: "address", }, { indexed: false, internalType: "uint256", - name: "curAmountout", + name: "amountout", type: "uint256", }, ], @@ -1480,23 +1214,65 @@ const _abi = [ name: "owner", type: "address", }, + { + internalType: "string", + name: "version", + type: "string", + }, { internalType: "address", name: "registrarContract", type: "address", }, { - internalType: "uint256", + internalType: "uint32", name: "nextAccountId", - type: "uint256", + type: "uint32", }, { internalType: "uint256", name: "maxGeneralCategoryId", type: "uint256", }, - ], - indexed: false, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + internalType: "bool", + name: "reentrancyGuardLocked", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, + ], + indexed: false, internalType: "struct AccountStorage.Config", name: "config", type: "tuple", @@ -1550,7 +1326,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1563,21 +1339,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -1641,18 +1402,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -1660,12 +1421,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -1681,13 +1447,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -1711,17 +1477,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1733,17 +1499,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1755,14 +1516,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1777,14 +1533,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1799,17 +1550,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1818,24 +1564,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1850,31 +1586,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1889,31 +1615,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1928,31 +1644,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1967,31 +1673,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2006,31 +1702,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2045,31 +1731,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2084,31 +1760,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2123,31 +1789,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2169,24 +1825,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2208,63 +1854,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2279,31 +1876,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2325,24 +1912,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2364,24 +1941,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2403,24 +1970,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2442,24 +1999,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2481,24 +2028,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2522,9 +2059,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -2568,129 +2105,6 @@ const _abi = [ name: "UpdateEndowment", type: "event", }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", - type: "tuple", - }, - { - internalType: "bool", - name: "closingEndowment", - type: "bool", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", - type: "tuple", - }, - ], - indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", - type: "tuple", - }, - ], - name: "UpdateEndowmentState", - type: "event", - }, ] as const; export class AccountsEvents__factory { diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountsQueryEndowments__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountsQueryEndowments__factory.ts index a443629d7..3bd8f222c 100644 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountsQueryEndowments__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/facets/AccountsQueryEndowments__factory.ts @@ -31,6 +31,48 @@ const _abi = [ name: "registrarContract", type: "address", }, + { + internalType: "uint256", + name: "nextAccountId", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxGeneralCategoryId", + type: "uint256", + }, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, ], internalType: "struct AccountMessages.ConfigResponse", name: "config", @@ -43,9 +85,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", - name: "curId", - type: "uint256", + internalType: "uint32", + name: "id", + type: "uint32", }, ], name: "queryEndowmentDetails", @@ -86,7 +128,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -99,21 +141,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -177,18 +204,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -196,12 +223,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -217,13 +249,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -247,17 +279,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -269,17 +301,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -291,14 +318,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -313,14 +335,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -335,17 +352,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -354,24 +366,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -386,31 +388,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -425,31 +417,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -464,31 +446,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -503,31 +475,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -542,31 +504,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -581,31 +533,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -620,31 +562,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -659,31 +591,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -705,24 +627,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -744,63 +656,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -815,31 +678,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -861,24 +714,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -900,24 +743,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -939,24 +772,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -978,24 +801,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1017,24 +830,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1058,9 +861,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -1106,9 +909,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", - name: "curId", - type: "uint256", + internalType: "uint32", + name: "id", + type: "uint32", }, ], name: "queryState", @@ -1141,9 +944,14 @@ const _abi = [ components: [ { components: [ + { + internalType: "uint32", + name: "endowId", + type: "uint32", + }, { internalType: "uint256", - name: "id", + name: "fundId", type: "uint256", }, { @@ -1178,18 +986,18 @@ const _abi = [ { inputs: [ { - internalType: "uint256", - name: "curId", - type: "uint256", + internalType: "uint32", + name: "id", + type: "uint32", }, { internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { internalType: "address", - name: "curTokenaddress", + name: "tokenAddress", type: "address", }, ], @@ -1204,86 +1012,28 @@ const _abi = [ stateMutability: "view", type: "function", }, - { - inputs: [ - { - internalType: "uint256", - name: "curId", - type: "uint256", - }, - { - internalType: "enum AngelCoreStruct.AccountType", - name: "vaultType", - type: "uint8", - }, - { - internalType: "string", - name: "vault", - type: "string", - }, - ], - name: "queryVaultBalance", - outputs: [ - { - internalType: "uint256", - name: "vaultBalance", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, ] as const; const _bytecode = - "0x6080806040523461001657611854908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816320baab2f1461109f5750806354f3ce99146105945780639ac1f204146103e3578063e4d2f746146101635763e68f909d1461005657600080fd5b3461015e57600036600319011261015e57600060408051610076816111fb565b8281526060602082015201527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d45547ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46546040516001600160a01b0392909183169083166100e2836111fb565b82526040516020810181811067ffffffffffffffff82111761014857849161013c91604052600081526020850190815260408501938452604051958695602087525116602086015251606060408601526080850190611278565b91511660608301520390f35b634e487b7160e01b600052604160045260246000fd5b600080fd5b3461015e57606036600319011261015e57602435600381101561015e576001600160a01b03906044359082821680830361015e57156103a6576004356000526020928380927ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41825260406000209260606040516101df81611217565b6040516101eb816111a6565b86548152600187015486820152815260ff600b6040519761020b896111a6565b610217600282016114cf565b8952610225600582016114cf565b888a015287840198895282600882015416151560408501526040519561024a876111a6565b60405190610257826111a6565b60098301548252600a83015416898201528652015416610276816112f1565b858401520152610285816112d1565b61031f57505151816040820151910151906102b4604051948593849363e9f4742760e01b855260048501611505565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115610313576000916102e6575b505b604051908152f35b90508181813d831161030c575b6102fd8183611233565b8101031261015e5751826102dc565b503d6102f3565b6040513d6000823e3d90fd5b905101518160408201519101519061034b604051948593849363e9f4742760e01b855260048501611505565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af490811561031357600091610379575b506102de565b90508181813d831161039f575b6103908183611233565b8101031261015e575182610373565b503d610386565b60405162461bcd60e51b8152602060048201526015602482015274496e76616c696420746f6b656e206164647265737360581b6044820152606490fd5b3461015e5760208060031936011261015e5760c090604051610404816111fb565b604051610410816111a6565b6000815260008382015281526000828201526040805191610430836111a6565b815161043b816111a6565b60008152600085820152835260008484015201526004356000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4181526040600020906040519161048b83611217565b604051610497816111a6565b8154815260018201548382015283526040516104b2816111a6565b6104be600283016114cf565b81526104cc600583016114cf565b838201528284015260ff60088201541692604081019315158452604051906104f3826111a6565b60ff600b60405194610504866111a6565b60098101548652600a8101546001600160a01b039081168888015295855201541661052e816112f1565b8483015281606082015251935115156040805161054a816111fb565b8681528581019283520191825283604051958051875201518486015251151560408501525190828251805160608701520151166080840152015161058d816112f1565b60a0820152f35b3461015e57602036600319011261015e5760006104206040516105b681611189565b828152606060208201526040516105cc816111a6565b60608152606060208201526040820152826060820152826080820152606060a0820152606060c08201528260e0820152826101008201528261012082015282610140820152610619611591565b610160820152610627611591565b610180820152604051610639816111c2565b8381528360208201528360408201528360608201528360808201526101a0820152826101c0820152826101e08201528261020082015282610220820152826102408201528261026082015282610280820152826102a082015260606102c082015260606102e082015260606103008201526106b26115b5565b6103208201526106c06115b5565b6103408201526106ce6115b5565b6103608201526106dc6115b5565b6103808201526040516106ee816111de565b6106f66115d4565b81526107006115d4565b602082015261070d6115d4565b604082015261071a6115d4565b60608201526107276115d4565b60808201526107346115d4565b60a08201526107416115d4565b60c082015261074e6115d4565b60e082015261075b6115d4565b6101008201526107696115d4565b6101208201526107776115d4565b6101408201526107856115d4565b6101608201526107936115d4565b6101808201526107a16115d4565b6101a08201526107af6115d4565b6101c08201526107bd6115d4565b6101e08201526107cb6115d4565b6102008201526107d96115d4565b6102208201526103a0820152826103c0820152826103e08201526107fb6115b5565b61040082015201526004356000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d426020526040602081600020606783519161084383611189565b80546001600160a01b0316835261085c60018201611612565b84840152845161086b816111a6565b61087760028301611426565b815261088560038301611426565b85820152858401526004810154606084015260ff6005820154166108a8816112d1565b60808401526108b960068201611612565b60a08401526108ca60078201611612565b60c084015260ff60088201546108e18282166112f1565b81811660e0860152818160081c16151561010086015260101c161515610120840152600981015461014084015261091a600a8201611741565b61016084015261092c600e8201611741565b610180840152845161093d816111c2565b601282015460ff8181161515835260089190911c81161515868301526013830154878301526014830154811615156060830152601583015460808301526101a08501919091526016820154811615156101c085015260178201546101e085015260188201546102008501526019820154610220850152601a8201546001600160a01b03908116610240860152601b83015480821661026087015260a01c9091161515610280850152601c820154166102a08401526109fd601d8201611477565b6102c0840152610a0f601e8201611477565b6102e0840152610a21601f8201611477565b610300840152610a3284820161178a565b610320840152610a446023820161178a565b610340840152610a566026820161178a565b610360840152610a686029820161178a565b6103808401528451610a79816111de565b610a85602c83016117c0565b8152610a93602f83016117c0565b85820152610aa3603283016117c0565b86820152610ab3603583016117c0565b6060820152610ac4603883016117c0565b6080820152610ad5603b83016117c0565b60a0820152610ae6603e83016117c0565b60c0820152610af7604183016117c0565b60e0820152610b08604483016117c0565b610100820152610b1a604783016117c0565b610120820152610b2c604a83016117c0565b610140820152610b3e604d83016117c0565b610160820152610b50605083016117c0565b610180820152610b62605383016117c0565b6101a0820152610b74605683016117c0565b6101c0820152610b86605983016117c0565b6101e0820152610b98605c83016117c0565b610200820152610baa605f83016117c0565b6102208201526103a084015260628101546103c084015260ff60638201541615156103e08401528451610bdc816111fb565b606482015481526065820154858201526066820154868201526104008401520154610420820152610420610e3e610e26610e0e610d3b610d23610ccf610cb9610c86610c4d8a6111208e519e8f9e8f9381855260018060a01b038151168286015201519201526111408d0190611278565b60408b0151908c6060601f19828403019101526020610c75835160408452604084019061129d565b92015190602081840391015261129d565b60608a015160808c015260808a0151610c9e816112d1565b60a08c015260a08a0151601f198c83030160c08d0152611278565b60c08901518a8203601f190160e08c0152611278565b60e0880151610cdd816112f1565b6101008a015261010088015115156101208a015261012088015115156101408a01526101408801516101608a0152610160880151601f198a8303016101808b0152611357565b610180870151888203601f19016101a08a0152611357565b60806101a0870151805115156101c08a0152602081015115156101e08a015260408101516102008a0152606081015115156102208a015201516102408801526101c086015115156102608801526101e08601516102808801526102008601516102a08801526102208601516102c088015260018060a01b03610240870151166102e088015260018060a01b0361026087015116610300880152610280860151151561032088015260018060a01b036102a0870151166103408801526102c0860151601f19888303016103608901526113ae565b6102e0850151868203601f19016103808801526113ae565b610300840151858203601f19016103a08701526113ae565b61032083015180516001600160a01b03166103c086015260208101516103e08601526040015115156104008501529161034081015180516001600160a01b031685840190815260208083015190820152604091820151151591015261036081015180516001600160a01b031661048086015260208101516104a08601526040015115156104c085015261038081015180516001600160a01b03166104e086015260208101516105008601526040015115156105208501526110566102206103a0830151610f10610540880182516113eb565b610f2360208201516105e08901906113eb565b610f3660408201516106808901906113eb565b610f4960608201516107208901906113eb565b610f5c60808201516107c08901906113eb565b610f6f60a08201516108608901906113eb565b610f8260c08201516109008901906113eb565b610f9560e08201516109a08901906113eb565b610fa9610100820151610a408901906113eb565b610fbd610120820151610ae08901906113eb565b610fd1610140820151610b808901906113eb565b610fe5610160820151610c208901906113eb565b610ff9610180820151610cc08901906113eb565b61100d6101a0820151610d608901906113eb565b6110216101c0820151610e008901906113eb565b6110356101e0820151610ea08901906113eb565b611049610200820151610f408901906113eb565b0151610fe08601906113eb565b6103c08101516110808501526103e081015115156110a0850152604061040082015180516110c087015260208101516110e0870152015161110085015201516111208301520390f35b3461015e57606036600319011261015e57602435600381101561015e5760443567ffffffffffffffff9182821161015e573660238301121561015e578160040135928311610148576020936110fd601f8501601f1916860182611233565b83815284810191366024868601011161015e57600086866111779760248398018737840101526004356000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4d845260406000209061115b816112d1565b6000528352604060002090604051948593849251928391611255565b82019081520301902054604051908152f35b610440810190811067ffffffffffffffff82111761014857604052565b6040810190811067ffffffffffffffff82111761014857604052565b60a0810190811067ffffffffffffffff82111761014857604052565b610240810190811067ffffffffffffffff82111761014857604052565b6060810190811067ffffffffffffffff82111761014857604052565b6080810190811067ffffffffffffffff82111761014857604052565b90601f8019910116810190811067ffffffffffffffff82111761014857604052565b60005b8381106112685750506000910152565b8181015183820152602001611258565b9060209161129181518092818552858086019101611255565b601f01601f1916010190565b90815180825260208080930193019160005b8281106112bd575050505090565b8351855293810193928101926001016112af565b600311156112db57565b634e487b7160e01b600052602160045260246000fd5b600411156112db57565b908082519081815260208091019281808460051b8301019501936000915b8483106113295750505050505090565b9091929394958480611347600193601f198682030187528a51611278565b9801930193019194939290611319565b6113ab91606061139a61138861137685516080865260808601906112fb565b6020860151858203602087015261129d565b604085015184820360408601526112fb565b92015190606081840391015261129d565b90565b90815180825260208080930193019160005b8281106113ce575050505090565b83516001600160a01b0316855293810193928101926001016113c0565b6020606060809280511515855282810151151583860152604081015115156040860152015160018060a01b0381511660608501520151910152565b9060405191828154918282526020928383019160005283600020936000905b82821061145d5750505061145b92500383611233565b565b855484526001958601958895509381019390910190611445565b9060405191828154918282526020928383019160005283600020936000905b8282106114ac5750505061145b92500383611233565b85546001600160a01b031684526001958601958895509381019390910190611496565b906040516114dc816111fb565b604061150060028395805485526114f560018201611426565b602086015201611477565b910152565b9193929360608301606084528251809152608084019060208094019060005b818110611574575050508381038385015282808351928381520192019260005b82811061156057505050604091509360018060a01b0316910152565b845184529381019392810192600101611544565b82516001600160a01b031684529285019291850191600101611524565b6040519061159e82611217565b606080838181528160208201528160408201520152565b604051906115c2826111fb565b60006040838281528260208201520152565b604051906115e182611217565b81600081526000602082015260006040820152606060405191611603836111a6565b60008352600060208401520152565b90604051906000835490600182811c908084169687156116d7575b60209485841089146116c357879884899798995290816000146116a15750600114611662575b50505061145b92500383611233565b600090815285812095935091905b81831061168957505061145b9350820101388080611653565b85548884018501529485019487945091830191611670565b9250505061145b94925060ff191682840152151560051b820101388080611653565b634e487b7160e01b85526022600452602485fd5b91607f169161162d565b90815467ffffffffffffffff811161014857604051926020611708818460051b0186611233565b82855260009182528082208186015b848410611725575050505050565b600183819261173385611612565b815201920193019290611717565b9060405161174e81611217565b606061150060038395611760816116e1565b855261176e60018201611426565b602086015261177f600282016116e1565b604086015201611426565b90604051611797816111fb565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b90604051916117ce83611217565b60608360ff835481811615158352818160081c161515602084015260101c1615156040820152600260405193611803856111a6565b60018101546001600160a01b0316855201546020840152015256fea26469706673582212208fc97917e00458109d4f3d744fc5870940d41cbb9eed03cdfcebcee8e043bf0864736f6c63430008120033"; + "0x6080806040523461001657611718908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816302d008f214610fa9575080639969dd1e14610ed9578063c99c8f22146104295763e68f909d1461004b57600080fd5b3461042457600036600319011261042457604051610068816113a6565b6000815260606020820152600060408201526000606082015260006080820152600060a0820152600060c0820152600060e0820152610100604051916100ad83611334565b6000808452602084015201527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d44547ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46547ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d47547ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d48547ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d49547ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a54604051956001600160a01b039182169592821694938216939291166101a9876113a6565b865260405160007ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d45548060011c90600181161561041a575b60208210600182161461040457818452600181169081156103e0575060011461035d575b50906102198163ffffffff949303826113df565b602088015260018060a01b038116604088015260a01c166060860152608085015260a084015260c083015260e082015260405161025581611334565b60018060a01b037ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b541681527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4c54602082015261010082015260405180916020825260018060a01b0381511660208301526103596101006102e760208401516101406040870152610160860190611138565b60408401516001600160a01b0390811660608781019190915285015160808088019190915285015160a087810191909152850151811660c080880191909152850151811660e0808801919091528501518116838701529190930151805190911661012085015260200151610140840152565b0390f35b929190507ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d456000527fc190d2043ebd5011149152baff4574e2454c51ab29dfd2caee58657602b14bc8926000905b8082106103c45750919250908101602001610219610205565b91929360018160209254838588010152019101909392916103ab565b60ff191660208086019190915291151560051b840190910191506102199050610205565b634e487b7160e01b600052602260045260246000fd5b90607f16906101e1565b600080fd5b346104245760203660031901126104245763ffffffff610447611125565b60006103c060405161045881611350565b8281526060602082015260405161046e81611334565b60608152606060208201526040820152826060820152826080820152606060a0820152606060c08201528260e08201526104a6611401565b6101008201526104b4611401565b6101208201526040516104c68161136d565b8381528360208201528360408201528360608201528360808201528360a08201526101408201528261016082015282610180820152826101a0820152826101c0820152826101e08201528261020082015282610220820152826102408201526060610260820152606061028082015260606102a082015260405161054981611334565b8381528360208201526102c082015260405161056481611334565b8381528360208201526102e082015260405161057f81611334565b83815283602082015261030082015260405161059a81611334565b8381528360208201526103208201526040516105b581611389565b6105bd611425565b81526105c7611425565b60208201526105d4611425565b60408201526105e1611425565b60608201526105ee611425565b60808201526105fb611425565b60a0820152610608611425565b60c0820152610615611425565b60e0820152610622611425565b610100820152610630611425565b61012082015261063e611425565b61014082015261064c611425565b61016082015261065a611425565b610180820152610668611425565b6101a0820152610676611425565b6101c0820152610684611425565b6101e0820152610692611425565b61020082015261034082015282610360820152826103808201526106b4611453565b6103a08201520152166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d426020526040602081600020605b8351916106fa83611350565b80546001600160a01b0316835261071360018201611472565b84840152845161072281611334565b61072e60028301611541565b815261073c60038301611541565b85820152858401526004810154606084015260ff60058201541661075f816111ac565b608084015261077060068201611472565b60a084015261078160078201611472565b60c0840152600881015460e084015261079c600982016115f0565b6101008401526107ae600d82016115f0565b61012084015284516107bf8161136d565b63ffffffff601183015460ff811615158352818160081c1687840152818160281c168884015260ff8160481c1615156060840152818160501c16608084015260701c1660a082015261014084015260ff6012820154161515610160840152601381015461018084015260148101546101a084015260018060a01b036015820154166101c084015260018060a01b036016820154166101e084015260ff601782015460018060a01b03811661020086015260a01c16151561022084015260018060a01b0360188201541661024084015261089a6019820161163e565b6102608401526108ac601a820161163e565b6102808401526108be601b820161163e565b6102a08401526108d0601c8201611696565b6102c08401526108e2601e8201611696565b6102e08401526108f3848201611696565b61030084015261090560228201611696565b610320840152845161091681611389565b610922602483016116bd565b8152610930602783016116bd565b85820152610940602a83016116bd565b86820152610950602d83016116bd565b6060820152610961603083016116bd565b6080820152610972603383016116bd565b60a0820152610983603683016116bd565b60c0820152610994603983016116bd565b60e08201526109a5603c83016116bd565b6101008201526109b7603f83016116bd565b6101208201526109c9604283016116bd565b6101408201526109db604583016116bd565b6101608201526109ed604883016116bd565b6101808201526109ff604b83016116bd565b6101a0820152610a11604e83016116bd565b6101c0820152610a23605183016116bd565b6101e0820152610a35605483016116bd565b61020082015261034084015260ff605782015463ffffffff8116610360860152851c1615156103808401528451610a6b81611302565b60588201548152605982015485820152605a820154868201526103a084015201546103c08201526103c0610cb9610ca1610c89610b99610b81610b5e610b48610b15610adc8a610b808e519e8f9e8f9381855260018060a01b03815116828601520151920152610ba08d0190611138565b60408b0151908c6060601f19828403019101526020610b048351604084526040840190611178565b920151906020818403910152611178565b60608a015160808c015260808a0151610b2d816111ac565b60a08c015260a08a0151601f198c83030160c08d0152611138565b60c08901518a8203601f190160e08c0152611138565b60e08801516101008a0152610100880151601f198a8303016101208b0152611212565b610120870151888203601f19016101408a0152611212565b63ffffffff60a0610140880151805115156101608b0152826020820151166101808b0152826040820151166101a08b0152606081015115156101c08b0152826080820151166101e08b015201511661020088015261016086015115156102208801526101808601516102408801526101a086015161026088015260018060a01b036101c08701511661028088015260018060a01b036101e0870151166102a088015260018060a01b03610200870151166102c088015261022086015115156102e088015260018060a01b0361024087015116610300880152610260860151601f1988830301610320890152611269565b610280850151868203601f1901610340880152611269565b6102a0840151858203601f1901610360870152611269565b6102c083015180516001600160a01b0316610380860152602001516103a0850152916102e081015180516001600160a01b031685840190815260209182015191015261030081015180516001600160a01b03166104008601526020015161042085015261032081015180516001600160a01b031661044086015260200151610460850152610e8a610200610340830151610d58610480880182516112a6565b610d6b60208201516104e08901906112a6565b610d7e60408201516105408901906112a6565b610d9160608201516105a08901906112a6565b610da460808201516106008901906112a6565b610db760a08201516106608901906112a6565b610dca60c08201516106c08901906112a6565b610ddd60e08201516107208901906112a6565b610df16101008201516107808901906112a6565b610e056101208201516107e08901906112a6565b610e196101408201516108408901906112a6565b610e2d6101608201516108a08901906112a6565b610e416101808201516109008901906112a6565b610e556101a08201516109608901906112a6565b610e696101c08201516109c08901906112a6565b610e7d6101e0820151610a208901906112a6565b0151610a808601906112a6565b63ffffffff61036082015116610ae08501526103808101511515610b0085015260406103a08201518051610b208701526020810151610b408701520151610b608501520151610b808301520390f35b3461042457606036600319011261042457610ef2611125565b602435906002821015610424576044356001600160a01b0381169290839003610424578215610f6c57610f24816111ac565b610f4c57610f336003916112cd565b019060005260205260206040600020545b604051908152f35b610f576005916112cd565b01906000526020526020604060002054610f44565b60405162461bcd60e51b8152602060048201526015602482015274496e76616c696420746f6b656e206164647265737360581b6044820152606490fd5b346104245760208060031936011261042457610fc3611125565b91610fcd81611302565b604051610fd981611334565b6000815260008382015281526000828201526040805191610ff983611334565b611001611453565b83526000848401520152611014826112cd565b9161102e60ff6006611025846112cd565b015416916112cd565b906040519361103c85611302565b60016040519161104b83611334565b80548352015484820152845282840190151581526040519061106c82611334565b6040519161107983611302565b60ff600a63ffffffff9586600782015416865260088101548887015260018060a01b0395866009830154166040820152845201541691600483101561110f5760409286830152828701918252858351975180518952015186880152511515828701525192835190815116606087015284810151608087015201511660a0840152015190600482101561110f5760e09160c0820152f35b634e487b7160e01b600052602160045260246000fd5b6004359063ffffffff8216820361042457565b919082519283825260005b848110611164575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611143565b90815180825260208080930193019160005b828110611198575050505090565b83518552938101939281019260010161118a565b6002111561110f57565b908082519081815260208091019281808460051b8301019501936000915b8483106111e45750505050505090565b9091929394958480611202600193601f198682030187528a51611138565b98019301930191949392906111d4565b61126691606061125561124361123185516080865260808601906111b6565b60208601518582036020870152611178565b604085015184820360408601526111b6565b920151906060818403910152611178565b90565b90815180825260208080930193019160005b828110611289575050505090565b83516001600160a01b03168552938101939281019260010161127b565b80511515825260209081015180516001600160a01b0316828401520151604090910152565b565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b6060810190811067ffffffffffffffff82111761131e57604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761131e57604052565b6103e0810190811067ffffffffffffffff82111761131e57604052565b60c0810190811067ffffffffffffffff82111761131e57604052565b610220810190811067ffffffffffffffff82111761131e57604052565b610120810190811067ffffffffffffffff82111761131e57604052565b6080810190811067ffffffffffffffff82111761131e57604052565b90601f8019910116810190811067ffffffffffffffff82111761131e57604052565b6040519061140e826113c3565b606080838181528160208201528160408201520152565b6040519061143282611334565b6000825260405160208361144583611334565b600083526000828401520152565b6040519061146082611302565b60006040838281528260208201520152565b90604051906000835490600182811c90808416968715611537575b6020948584108914611523578798848997989952908160001461150157506001146114c2575b5050506112cb925003836113df565b600090815285812095935091905b8183106114e95750506112cb93508201013880806114b3565b855488840185015294850194879450918301916114d0565b925050506112cb94925060ff191682840152151560051b8201013880806114b3565b634e487b7160e01b85526022600452602485fd5b91607f169161148d565b9060405191828154918282526020928383019160005283600020936000905b828210611576575050506112cb925003836113df565b855484526001958601958895509381019390910190611560565b90815467ffffffffffffffff811161131e576040519260206115b7818460051b01866113df565b82855260009182528082208186015b8484106115d4575050505050565b60018381926115e285611472565b8152019201930192906115c6565b906040516115fd816113c3565b60606116396003839561160f81611590565b855261161d60018201611541565b602086015261162e60028201611590565b604086015201611541565b910152565b9060405191828154918282526020928383019160005283600020936000905b828210611673575050506112cb925003836113df565b85546001600160a01b03168452600195860195889550938101939091019061165d565b906040516116a381611334565b82546001600160a01b031681526001909201546020830152565b906040516116ca81611334565b60206116396001839560ff815416151585520161169656fea264697066735822122016804f374ebaf4ee92c8eddd62aff7f09a381f95cc6064ef9808d6bb9508883064736f6c63430008120033"; type AccountsQueryEndowmentsConstructorParams = - | [ - linkLibraryAddresses: AccountsQueryEndowmentsLibraryAddresses, - signer?: Signer - ] + | [signer?: Signer] | ConstructorParameters; const isSuperArgs = ( xs: AccountsQueryEndowmentsConstructorParams -): xs is ConstructorParameters => { - return ( - typeof xs[0] === "string" || - (Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) || - "_isInterface" in xs[0] - ); -}; +): xs is ConstructorParameters => xs.length > 1; export class AccountsQueryEndowments__factory extends ContractFactory { constructor(...args: AccountsQueryEndowmentsConstructorParams) { if (isSuperArgs(args)) { super(...args); } else { - const [linkLibraryAddresses, signer] = args; - super( - _abi, - AccountsQueryEndowments__factory.linkBytecode(linkLibraryAddresses), - signer - ); + super(_abi, _bytecode, args[0]); } } - static linkBytecode( - linkLibraryAddresses: AccountsQueryEndowmentsLibraryAddresses - ): string { - let linkedBytecode = _bytecode; - - linkedBytecode = linkedBytecode.replace( - new RegExp("__\\$2e6ee47b30d794e0597b4af30f16ddb84c\\$__", "g"), - linkLibraryAddresses["contracts/core/struct.sol:AngelCoreStruct"] - .replace(/^0x/, "") - .toLowerCase() - ); - - return linkedBytecode; - } - override deploy( overrides?: Overrides & { from?: PromiseOrValue } ): Promise { @@ -1317,7 +1067,3 @@ export class AccountsQueryEndowments__factory extends ContractFactory { ) as AccountsQueryEndowments; } } - -export interface AccountsQueryEndowmentsLibraryAddresses { - ["contracts/core/struct.sol:AngelCoreStruct"]: string; -} diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountsStrategiesCopyEndowments__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountsStrategiesCopyEndowments__factory.ts deleted file mode 100644 index 6c7c8f5ab..000000000 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountsStrategiesCopyEndowments__factory.ts +++ /dev/null @@ -1,2775 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { PromiseOrValue } from "../../../../../common"; -import type { - AccountsStrategiesCopyEndowments, - AccountsStrategiesCopyEndowmentsInterface, -} from "../../../../../contracts/core/accounts/facets/AccountsStrategiesCopyEndowments"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "sender", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "spender", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "tokenAddress", - type: "address", - }, - { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], - indexed: false, - internalType: "struct AccountStorage.AllowanceData", - name: "allowance", - type: "tuple", - }, - ], - name: "AllowanceStateUpdatedTo", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "uint256", - name: "quorum", - type: "uint256", - }, - { - internalType: "uint256", - name: "threshold", - type: "uint256", - }, - { - internalType: "uint256", - name: "votingPeriod", - type: "uint256", - }, - { - internalType: "uint256", - name: "timelockPeriod", - type: "uint256", - }, - { - internalType: "uint256", - name: "expirationPeriod", - type: "uint256", - }, - { - internalType: "uint256", - name: "proposalDeposit", - type: "uint256", - }, - { - internalType: "uint256", - name: "snapshotPeriod", - type: "uint256", - }, - { - components: [ - { - internalType: "enum AngelCoreStruct.TokenType", - name: "token", - type: "uint8", - }, - { - components: [ - { - internalType: "address", - name: "existingCw20Data", - type: "address", - }, - { - internalType: "uint256", - name: "newCw20InitialSupply", - type: "uint256", - }, - { - internalType: "string", - name: "newCw20Name", - type: "string", - }, - { - internalType: "string", - name: "newCw20Symbol", - type: "string", - }, - { - components: [ - { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", - type: "uint8", - }, - { - components: [ - { - internalType: "uint128", - name: "value", - type: "uint128", - }, - { - internalType: "uint256", - name: "scale", - type: "uint256", - }, - { - internalType: "uint128", - name: "slope", - type: "uint128", - }, - { - internalType: "uint128", - name: "power", - type: "uint128", - }, - ], - internalType: "struct AngelCoreStruct.CurveTypeData", - name: "data", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", - type: "tuple", - }, - { - internalType: "string", - name: "bondingCurveName", - type: "string", - }, - { - internalType: "string", - name: "bondingCurveSymbol", - type: "string", - }, - { - internalType: "uint256", - name: "bondingCurveDecimals", - type: "uint256", - }, - { - internalType: "address", - name: "bondingCurveReserveDenom", - type: "address", - }, - { - internalType: "uint256", - name: "bondingCurveReserveDecimals", - type: "uint256", - }, - { - internalType: "uint256", - name: "bondingCurveUnbondingPeriod", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DaoTokenData", - name: "data", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.DaoToken", - name: "token", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", - type: "uint8", - }, - { - internalType: "address", - name: "endowOwner", - type: "address", - }, - { - internalType: "address", - name: "registrarContract", - type: "address", - }, - ], - indexed: false, - internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", - type: "tuple", - }, - { - indexed: false, - internalType: "address", - name: "daoAddress", - type: "address", - }, - ], - name: "DaoContractCreated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "curId", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "curAmount", - type: "uint256", - }, - ], - name: "DonationDeposited", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "donationMatchContract", - type: "address", - }, - ], - name: "DonationMatchSetup", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "recipient", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "DonationWithdrawn", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "string", - name: "name", - type: "string", - }, - { - components: [ - { - internalType: "uint256[]", - name: "sdgs", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "general", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.Categories", - name: "categories", - type: "tuple", - }, - { - internalType: "uint256", - name: "tier", - type: "uint256", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", - type: "uint8", - }, - { - internalType: "string", - name: "logo", - type: "string", - }, - { - internalType: "string", - name: "image", - type: "string", - }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, - { - internalType: "uint256", - name: "maturityTime", - type: "uint256", - }, - { - components: [ - { - internalType: "string[]", - name: "locked_vault", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "lockedPercentage", - type: "uint256[]", - }, - { - internalType: "string[]", - name: "liquid_vault", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "liquidPercentage", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.AccountStrategies", - name: "strategies", - type: "tuple", - }, - { - components: [ - { - internalType: "string[]", - name: "locked", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "lockedAmount", - type: "uint256[]", - }, - { - internalType: "string[]", - name: "liquid", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "liquidAmount", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.OneOffVaults", - name: "oneoffVaults", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "rebalanceLiquidInvestedProfits", - type: "bool", - }, - { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", - }, - { - internalType: "bool", - name: "lockedPrincipleToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.RebalanceDetails", - name: "rebalance", - type: "tuple", - }, - { - internalType: "bool", - name: "kycDonorsOnly", - type: "bool", - }, - { - internalType: "uint256", - name: "pendingRedemptions", - type: "uint256", - }, - { - internalType: "uint256", - name: "copycatStrategy", - type: "uint256", - }, - { - internalType: "uint256", - name: "proposalLink", - type: "uint256", - }, - { - internalType: "address", - name: "dao", - type: "address", - }, - { - internalType: "address", - name: "daoToken", - type: "address", - }, - { - internalType: "bool", - name: "donationMatchActive", - type: "bool", - }, - { - internalType: "address", - name: "donationMatchContract", - type: "address", - }, - { - internalType: "address[]", - name: "whitelistedBeneficiaries", - type: "address[]", - }, - { - internalType: "address[]", - name: "whitelistedContributors", - type: "address[]", - }, - { - internalType: "address[]", - name: "maturityWhitelist", - type: "address[]", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "withdrawFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "depositFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "withdrawFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "depositFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "name", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "image", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "logo", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "categories", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "splitToLiquid", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "ignoreUserSplits", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsController", - name: "settingsController", - type: "tuple", - }, - { - internalType: "uint256", - name: "parent", - type: "uint256", - }, - { - internalType: "bool", - name: "ignoreUserSplits", - type: "bool", - }, - { - components: [ - { - internalType: "uint256", - name: "max", - type: "uint256", - }, - { - internalType: "uint256", - name: "min", - type: "uint256", - }, - { - internalType: "uint256", - name: "defaultSplit", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.SplitDetails", - name: "splitToLiquid", - type: "tuple", - }, - { - internalType: "uint256", - name: "referralId", - type: "uint256", - }, - ], - indexed: false, - internalType: "struct AccountStorage.Endowment", - name: "endowment", - type: "tuple", - }, - ], - name: "EndowmentCreated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - indexed: false, - internalType: "string", - name: "setting", - type: "string", - }, - ], - name: "EndowmentSettingUpdated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "sender", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "spender", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "tokenAddress", - type: "address", - }, - ], - name: "RemoveAllowance", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "curId", - type: "uint256", - }, - { - indexed: false, - internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", - type: "uint8", - }, - { - indexed: false, - internalType: "uint256", - name: "curAmount", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "curTokenin", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "curTokenout", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "curAmountout", - type: "uint256", - }, - ], - name: "SwapToken", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - components: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "registrarContract", - type: "address", - }, - { - internalType: "uint256", - name: "nextAccountId", - type: "uint256", - }, - { - internalType: "uint256", - name: "maxGeneralCategoryId", - type: "uint256", - }, - ], - indexed: false, - internalType: "struct AccountStorage.Config", - name: "config", - type: "tuple", - }, - ], - name: "UpdateConfig", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "string", - name: "name", - type: "string", - }, - { - components: [ - { - internalType: "uint256[]", - name: "sdgs", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "general", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.Categories", - name: "categories", - type: "tuple", - }, - { - internalType: "uint256", - name: "tier", - type: "uint256", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", - type: "uint8", - }, - { - internalType: "string", - name: "logo", - type: "string", - }, - { - internalType: "string", - name: "image", - type: "string", - }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, - { - internalType: "uint256", - name: "maturityTime", - type: "uint256", - }, - { - components: [ - { - internalType: "string[]", - name: "locked_vault", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "lockedPercentage", - type: "uint256[]", - }, - { - internalType: "string[]", - name: "liquid_vault", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "liquidPercentage", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.AccountStrategies", - name: "strategies", - type: "tuple", - }, - { - components: [ - { - internalType: "string[]", - name: "locked", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "lockedAmount", - type: "uint256[]", - }, - { - internalType: "string[]", - name: "liquid", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "liquidAmount", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.OneOffVaults", - name: "oneoffVaults", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "rebalanceLiquidInvestedProfits", - type: "bool", - }, - { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", - }, - { - internalType: "bool", - name: "lockedPrincipleToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.RebalanceDetails", - name: "rebalance", - type: "tuple", - }, - { - internalType: "bool", - name: "kycDonorsOnly", - type: "bool", - }, - { - internalType: "uint256", - name: "pendingRedemptions", - type: "uint256", - }, - { - internalType: "uint256", - name: "copycatStrategy", - type: "uint256", - }, - { - internalType: "uint256", - name: "proposalLink", - type: "uint256", - }, - { - internalType: "address", - name: "dao", - type: "address", - }, - { - internalType: "address", - name: "daoToken", - type: "address", - }, - { - internalType: "bool", - name: "donationMatchActive", - type: "bool", - }, - { - internalType: "address", - name: "donationMatchContract", - type: "address", - }, - { - internalType: "address[]", - name: "whitelistedBeneficiaries", - type: "address[]", - }, - { - internalType: "address[]", - name: "whitelistedContributors", - type: "address[]", - }, - { - internalType: "address[]", - name: "maturityWhitelist", - type: "address[]", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "withdrawFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "depositFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "withdrawFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "depositFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "name", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "image", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "logo", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "categories", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "splitToLiquid", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "ignoreUserSplits", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsController", - name: "settingsController", - type: "tuple", - }, - { - internalType: "uint256", - name: "parent", - type: "uint256", - }, - { - internalType: "bool", - name: "ignoreUserSplits", - type: "bool", - }, - { - components: [ - { - internalType: "uint256", - name: "max", - type: "uint256", - }, - { - internalType: "uint256", - name: "min", - type: "uint256", - }, - { - internalType: "uint256", - name: "defaultSplit", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.SplitDetails", - name: "splitToLiquid", - type: "tuple", - }, - { - internalType: "uint256", - name: "referralId", - type: "uint256", - }, - ], - indexed: false, - internalType: "struct AccountStorage.Endowment", - name: "endowment", - type: "tuple", - }, - ], - name: "UpdateEndowment", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", - type: "tuple", - }, - { - internalType: "bool", - name: "closingEndowment", - type: "bool", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", - type: "tuple", - }, - ], - indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", - type: "tuple", - }, - ], - name: "UpdateEndowmentState", - type: "event", - }, - { - inputs: [ - { - internalType: "uint256", - name: "curCopytoid", - type: "uint256", - }, - { - internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", - type: "uint8", - }, - { - internalType: "uint256", - name: "curCopyfromid", - type: "uint256", - }, - ], - name: "copycatStrategies", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, -] as const; - -const _bytecode = - "0x60808060405234610016576110da908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c633a06c2bb1461002857600080fd5b34610c66576060366003190112610c665760036024351015610c66577ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b549060ff8260a01c16158015610c5d575b15610c1b5750333003610be6575b50600435600090815260008051602061108583398151915260205260409020546001600160a01b03163303610bb2576044356000526000805160206110858339815191526020526040600020604051908161044081011067ffffffffffffffff61044084011117610b9c576104408201604090815281546001600160a01b031683525161011f816101188160018601610c6b565b0382610d7c565b602083015260405161013081610d28565b604051610144816101188160028701610d9e565b815260405161015a816101188160038701610d9e565b602082015260408301526004810154606083015260ff60058201541661017f81610ddb565b6080830152604051610198816101188160068601610c6b565b60a08301526040516101b1816101188160078601610c6b565b60c08301526008810154600460ff82161015610a7d578060ff80921660e0850152818160081c16151561010085015260101c1615156101208301526009810154610140830152610203600a8201610e51565b610160830152610215600e8201610e51565b6101808301526040518060a081011067ffffffffffffffff60a083011117610b9c5760a0810160405260ff60128301548181161515835260081c16151560208201526013820154604082015260ff60148301541615156060820152601582015460808201526101a083015260ff60168201541615156101c083015260178101546101e08301526018810154610200830152601981015461022083015260018060a01b03601a8201541661024083015260ff601b82015460018060a01b03811661026085015260a01c16151561028083015260018060a01b03601c820154166102a083015260405161030d8161011881601d8601610eb7565b6102c08301526040516103278161011881601e8601610eb7565b6102e08301526040516103418161011881601f8601610eb7565b61030083015261035360208201610efd565b61032083015261036560238201610efd565b61034083015261037760268201610efd565b61036083015261038960298201610efd565b610380830152604051908161024081011067ffffffffffffffff61024084011117610b9c5781610240606793016040526103c5602c8301610f33565b81526103d3602f8301610f33565b60208201526103e460328301610f33565b60408201526103f560358301610f33565b606082015261040660388301610f33565b6080820152610417603b8301610f33565b60a0820152610428603e8301610f33565b60c082015261043960418301610f33565b60e082015261044a60448301610f33565b61010082015261045c60478301610f33565b61012082015261046e604a8301610f33565b610140820152610480604d8301610f33565b61016082015261049260508301610f33565b6101808201526104a460538301610f33565b6101a08201526104b660568301610f33565b6101c08201526104c860598301610f33565b6101e08201526104da605c8301610f33565b6102008201526104ec605f8301610f33565b6102208201526103a084015260628101546103c084015260ff60638201541615156103e084015260405161051f81610d44565b6064820154815260658201546020820152606682015460408201526104008401520154610420820152600090610556602435610ddb565b602435610b6e576101609150015151515b15610af05760043560005260008051602061108583398151915260205260443560186040600020015414610a93576004356000526000805160206110858339815191526020526040600020604435601882015560405160043581526040602082015260018060a01b038254166040820152611120606082015261067761066161062c6105fa611160850160018701610c6b565b603f198582030160808601526040815261061a6040820160028801610d9e565b90602081830391015260038601610d9e565b600485015460a085015260ff60058601541661064781610ddb565b60c0850152838103603f190160e085015260068501610c6b565b828103603f190161010084015260078401610c6b565b91600881015490600460ff83161015610a7d5760676108106107fa6107e461071b6107057f364502d723e5ab665a7fdb51cffd24931248ebbf2a52d809c6fd1e9005b4dd9e9960ff89818c9b166101208c0152818160081c1615156101408c015260101c1615156101608a015260098801546101808a0152603f19898203016101a08a0152600a8801610ff1565b878103603f19016101c0890152600e8701610ff1565b601286015460ff81811615156101e08a015260089190911c811615156102008901526013870154610220890152601487015481161515610240890152601587015461026089015260168701548116151561028089015260178701546102a08901526044356102c089015260198701546102e0890152601a8701546001600160a01b039081166103008a0152601b8801548082166103208b015260a01c9091161515610340890152601c87015416610360880152868103603f1901610380880152601d8601610eb7565b858103603f19016103a0870152601e8501610eb7565b848103603f19016103c0860152601f8401610eb7565b60208301546001600160a01b03166103e08501526021830154610400850152602283015460ff1615156104208501529160238101546001600160a01b03166104408501526024810154610460850152602581015460ff16151561048085015260268101546001600160a01b03166104a085015260278101546104c0850152602881015460ff1615156104e085015260298101546001600160a01b0316610500850152602a810154610520850152602b81015460ff1615156105408501526108de6105608501602c8301611043565b6108ef6106008501602f8301611043565b6109006106a0850160328301611043565b610911610740850160358301611043565b6109226107e0850160388301611043565b6109336108808501603b8301611043565b6109446109208501603e8301611043565b6109556109c0850160418301611043565b610966610a60850160448301611043565b610977610b00850160478301611043565b610988610ba08501604a8301611043565b610999610c408501604d8301611043565b6109aa610ce0850160508301611043565b6109bb610d80850160538301611043565b6109cc610e20850160568301611043565b6109dd610ec0850160598301611043565b6109ee610f608501605c8301611043565b6109ff6110008501605f8301611043565b60628101546110a085015260ff60638201541615156110c085015260648101546110e08501526065810154611100850152606681015461112085015201546111408301520390a1333003610a4f57005b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff60a01b19169055005b634e487b7160e01b600052602160045260246000fd5b60405162461bcd60e51b815260206004820152602f60248201527f417474656d7074696e672072652d736574207468652073616d6520636f70796360448201526e185d08195b991bdddb595b9d081251608a1b6064820152608490fd5b60405162461bcd60e51b815260206004820152604a60248201527f417474656d7074696e6720746f20636f707920616e20656e646f776d656e742060448201527f77697468206e6f2073657420737472617465677920666f722074686174206163606482015269636f756e74207479706560b01b608482015260a490fd5b610b79602435610ddb565b600160243514610b8a575b50610567565b60409150610160015101515138610b84565b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b60ff60a01b1916600160a01b177ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b5538610084565b62461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50333014610076565b600080fd5b80546000939260018083169383821c938515610d1e575b6020958686108114610d0857858552908115610ce95750600114610ca8575b5050505050565b90939495506000929192528360002092846000945b838610610cd557505050500101903880808080610ca1565b805485870183015294019385908201610cbd565b60ff19168685015250505090151560051b010191503880808080610ca1565b634e487b7160e01b600052602260045260246000fd5b93607f1693610c82565b6040810190811067ffffffffffffffff821117610b9c57604052565b6060810190811067ffffffffffffffff821117610b9c57604052565b6080810190811067ffffffffffffffff821117610b9c57604052565b90601f8019910116810190811067ffffffffffffffff821117610b9c57604052565b90815480825260208092019260005281600020916000905b828210610dc4575050505090565b835485529384019360019384019390910190610db6565b60031115610a7d57565b90815467ffffffffffffffff8111610b9c57604092835193602090610e0f828560051b0187610d7c565b8386526000928352818320908287015b858510610e2e57505050505050565b60018481928451610e4381610118818a610c6b565b815201930194019391610e1f565b9060036060604051610e6281610d60565b610eb38195610e7081610de5565b8352604051610e86816101188160018601610d9e565b6020840152610e9760028201610de5565b6040840152610eac6040518096819301610d9e565b0384610d7c565b0152565b90815480825260208092019260005281600020916000905b828210610edd575050505090565b83546001600160a01b031685529384019360019384019390910190610ecf565b90604051610f0a81610d44565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b9060405191610f4183610d60565b60608360ff835481811615158352818160081c161515602084015260101c1615156040820152600260405193610f7685610d28565b60018101546001600160a01b03168552015460208401520152565b9080825490818152602080910192818360051b8201019460005281600020936000915b848310610fc45750505050505090565b909192939495846001610fe18193601f198682030187528a610c6b565b9801930193019194939290610fb4565b906003611040926080835261103161102061100f6080860184610f91565b858103602087015260018401610d9e565b848103604086015260028301610f91565b92606081850391015201610d9e565b90565b600260809160ff815481811615158652818160081c161515602087015260101c161515604085015260018060a01b036001820154166060850152015491015256fef42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42a26469706673582212204de5fbc67a7f9f40f1d1c53155a8166825c6d57f8db6a81067c56617cb25d6d364736f6c63430008120033"; - -type AccountsStrategiesCopyEndowmentsConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: AccountsStrategiesCopyEndowmentsConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class AccountsStrategiesCopyEndowments__factory extends ContractFactory { - constructor(...args: AccountsStrategiesCopyEndowmentsConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - override deploy( - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise { - return super.deploy( - overrides || {} - ) as Promise; - } - override getDeployTransaction( - overrides?: Overrides & { from?: PromiseOrValue } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - override attach(address: string): AccountsStrategiesCopyEndowments { - return super.attach(address) as AccountsStrategiesCopyEndowments; - } - override connect(signer: Signer): AccountsStrategiesCopyEndowments__factory { - return super.connect(signer) as AccountsStrategiesCopyEndowments__factory; - } - - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): AccountsStrategiesCopyEndowmentsInterface { - return new utils.Interface( - _abi - ) as AccountsStrategiesCopyEndowmentsInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): AccountsStrategiesCopyEndowments { - return new Contract( - address, - _abi, - signerOrProvider - ) as AccountsStrategiesCopyEndowments; - } -} diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountsStrategiesUpdateEndowments__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountsStrategiesUpdateEndowments__factory.ts deleted file mode 100644 index 092ddfb06..000000000 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountsStrategiesUpdateEndowments__factory.ts +++ /dev/null @@ -1,2824 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { PromiseOrValue } from "../../../../../common"; -import type { - AccountsStrategiesUpdateEndowments, - AccountsStrategiesUpdateEndowmentsInterface, -} from "../../../../../contracts/core/accounts/facets/AccountsStrategiesUpdateEndowments"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "sender", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "spender", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "tokenAddress", - type: "address", - }, - { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], - indexed: false, - internalType: "struct AccountStorage.AllowanceData", - name: "allowance", - type: "tuple", - }, - ], - name: "AllowanceStateUpdatedTo", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "uint256", - name: "quorum", - type: "uint256", - }, - { - internalType: "uint256", - name: "threshold", - type: "uint256", - }, - { - internalType: "uint256", - name: "votingPeriod", - type: "uint256", - }, - { - internalType: "uint256", - name: "timelockPeriod", - type: "uint256", - }, - { - internalType: "uint256", - name: "expirationPeriod", - type: "uint256", - }, - { - internalType: "uint256", - name: "proposalDeposit", - type: "uint256", - }, - { - internalType: "uint256", - name: "snapshotPeriod", - type: "uint256", - }, - { - components: [ - { - internalType: "enum AngelCoreStruct.TokenType", - name: "token", - type: "uint8", - }, - { - components: [ - { - internalType: "address", - name: "existingCw20Data", - type: "address", - }, - { - internalType: "uint256", - name: "newCw20InitialSupply", - type: "uint256", - }, - { - internalType: "string", - name: "newCw20Name", - type: "string", - }, - { - internalType: "string", - name: "newCw20Symbol", - type: "string", - }, - { - components: [ - { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", - type: "uint8", - }, - { - components: [ - { - internalType: "uint128", - name: "value", - type: "uint128", - }, - { - internalType: "uint256", - name: "scale", - type: "uint256", - }, - { - internalType: "uint128", - name: "slope", - type: "uint128", - }, - { - internalType: "uint128", - name: "power", - type: "uint128", - }, - ], - internalType: "struct AngelCoreStruct.CurveTypeData", - name: "data", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", - type: "tuple", - }, - { - internalType: "string", - name: "bondingCurveName", - type: "string", - }, - { - internalType: "string", - name: "bondingCurveSymbol", - type: "string", - }, - { - internalType: "uint256", - name: "bondingCurveDecimals", - type: "uint256", - }, - { - internalType: "address", - name: "bondingCurveReserveDenom", - type: "address", - }, - { - internalType: "uint256", - name: "bondingCurveReserveDecimals", - type: "uint256", - }, - { - internalType: "uint256", - name: "bondingCurveUnbondingPeriod", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DaoTokenData", - name: "data", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.DaoToken", - name: "token", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", - type: "uint8", - }, - { - internalType: "address", - name: "endowOwner", - type: "address", - }, - { - internalType: "address", - name: "registrarContract", - type: "address", - }, - ], - indexed: false, - internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", - type: "tuple", - }, - { - indexed: false, - internalType: "address", - name: "daoAddress", - type: "address", - }, - ], - name: "DaoContractCreated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "curId", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "curAmount", - type: "uint256", - }, - ], - name: "DonationDeposited", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "donationMatchContract", - type: "address", - }, - ], - name: "DonationMatchSetup", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "recipient", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "DonationWithdrawn", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "string", - name: "name", - type: "string", - }, - { - components: [ - { - internalType: "uint256[]", - name: "sdgs", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "general", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.Categories", - name: "categories", - type: "tuple", - }, - { - internalType: "uint256", - name: "tier", - type: "uint256", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", - type: "uint8", - }, - { - internalType: "string", - name: "logo", - type: "string", - }, - { - internalType: "string", - name: "image", - type: "string", - }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, - { - internalType: "uint256", - name: "maturityTime", - type: "uint256", - }, - { - components: [ - { - internalType: "string[]", - name: "locked_vault", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "lockedPercentage", - type: "uint256[]", - }, - { - internalType: "string[]", - name: "liquid_vault", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "liquidPercentage", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.AccountStrategies", - name: "strategies", - type: "tuple", - }, - { - components: [ - { - internalType: "string[]", - name: "locked", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "lockedAmount", - type: "uint256[]", - }, - { - internalType: "string[]", - name: "liquid", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "liquidAmount", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.OneOffVaults", - name: "oneoffVaults", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "rebalanceLiquidInvestedProfits", - type: "bool", - }, - { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", - }, - { - internalType: "bool", - name: "lockedPrincipleToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.RebalanceDetails", - name: "rebalance", - type: "tuple", - }, - { - internalType: "bool", - name: "kycDonorsOnly", - type: "bool", - }, - { - internalType: "uint256", - name: "pendingRedemptions", - type: "uint256", - }, - { - internalType: "uint256", - name: "copycatStrategy", - type: "uint256", - }, - { - internalType: "uint256", - name: "proposalLink", - type: "uint256", - }, - { - internalType: "address", - name: "dao", - type: "address", - }, - { - internalType: "address", - name: "daoToken", - type: "address", - }, - { - internalType: "bool", - name: "donationMatchActive", - type: "bool", - }, - { - internalType: "address", - name: "donationMatchContract", - type: "address", - }, - { - internalType: "address[]", - name: "whitelistedBeneficiaries", - type: "address[]", - }, - { - internalType: "address[]", - name: "whitelistedContributors", - type: "address[]", - }, - { - internalType: "address[]", - name: "maturityWhitelist", - type: "address[]", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "withdrawFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "depositFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "withdrawFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "depositFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "name", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "image", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "logo", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "categories", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "splitToLiquid", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "ignoreUserSplits", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsController", - name: "settingsController", - type: "tuple", - }, - { - internalType: "uint256", - name: "parent", - type: "uint256", - }, - { - internalType: "bool", - name: "ignoreUserSplits", - type: "bool", - }, - { - components: [ - { - internalType: "uint256", - name: "max", - type: "uint256", - }, - { - internalType: "uint256", - name: "min", - type: "uint256", - }, - { - internalType: "uint256", - name: "defaultSplit", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.SplitDetails", - name: "splitToLiquid", - type: "tuple", - }, - { - internalType: "uint256", - name: "referralId", - type: "uint256", - }, - ], - indexed: false, - internalType: "struct AccountStorage.Endowment", - name: "endowment", - type: "tuple", - }, - ], - name: "EndowmentCreated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - indexed: false, - internalType: "string", - name: "setting", - type: "string", - }, - ], - name: "EndowmentSettingUpdated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "sender", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "spender", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "tokenAddress", - type: "address", - }, - ], - name: "RemoveAllowance", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "curId", - type: "uint256", - }, - { - indexed: false, - internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", - type: "uint8", - }, - { - indexed: false, - internalType: "uint256", - name: "curAmount", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "curTokenin", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "curTokenout", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "curAmountout", - type: "uint256", - }, - ], - name: "SwapToken", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - components: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "registrarContract", - type: "address", - }, - { - internalType: "uint256", - name: "nextAccountId", - type: "uint256", - }, - { - internalType: "uint256", - name: "maxGeneralCategoryId", - type: "uint256", - }, - ], - indexed: false, - internalType: "struct AccountStorage.Config", - name: "config", - type: "tuple", - }, - ], - name: "UpdateConfig", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "string", - name: "name", - type: "string", - }, - { - components: [ - { - internalType: "uint256[]", - name: "sdgs", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "general", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.Categories", - name: "categories", - type: "tuple", - }, - { - internalType: "uint256", - name: "tier", - type: "uint256", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", - type: "uint8", - }, - { - internalType: "string", - name: "logo", - type: "string", - }, - { - internalType: "string", - name: "image", - type: "string", - }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, - { - internalType: "uint256", - name: "maturityTime", - type: "uint256", - }, - { - components: [ - { - internalType: "string[]", - name: "locked_vault", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "lockedPercentage", - type: "uint256[]", - }, - { - internalType: "string[]", - name: "liquid_vault", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "liquidPercentage", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.AccountStrategies", - name: "strategies", - type: "tuple", - }, - { - components: [ - { - internalType: "string[]", - name: "locked", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "lockedAmount", - type: "uint256[]", - }, - { - internalType: "string[]", - name: "liquid", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "liquidAmount", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.OneOffVaults", - name: "oneoffVaults", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "rebalanceLiquidInvestedProfits", - type: "bool", - }, - { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", - }, - { - internalType: "bool", - name: "lockedPrincipleToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.RebalanceDetails", - name: "rebalance", - type: "tuple", - }, - { - internalType: "bool", - name: "kycDonorsOnly", - type: "bool", - }, - { - internalType: "uint256", - name: "pendingRedemptions", - type: "uint256", - }, - { - internalType: "uint256", - name: "copycatStrategy", - type: "uint256", - }, - { - internalType: "uint256", - name: "proposalLink", - type: "uint256", - }, - { - internalType: "address", - name: "dao", - type: "address", - }, - { - internalType: "address", - name: "daoToken", - type: "address", - }, - { - internalType: "bool", - name: "donationMatchActive", - type: "bool", - }, - { - internalType: "address", - name: "donationMatchContract", - type: "address", - }, - { - internalType: "address[]", - name: "whitelistedBeneficiaries", - type: "address[]", - }, - { - internalType: "address[]", - name: "whitelistedContributors", - type: "address[]", - }, - { - internalType: "address[]", - name: "maturityWhitelist", - type: "address[]", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "withdrawFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "depositFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "withdrawFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "depositFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "name", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "image", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "logo", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "categories", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "splitToLiquid", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "ignoreUserSplits", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsController", - name: "settingsController", - type: "tuple", - }, - { - internalType: "uint256", - name: "parent", - type: "uint256", - }, - { - internalType: "bool", - name: "ignoreUserSplits", - type: "bool", - }, - { - components: [ - { - internalType: "uint256", - name: "max", - type: "uint256", - }, - { - internalType: "uint256", - name: "min", - type: "uint256", - }, - { - internalType: "uint256", - name: "defaultSplit", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.SplitDetails", - name: "splitToLiquid", - type: "tuple", - }, - { - internalType: "uint256", - name: "referralId", - type: "uint256", - }, - ], - indexed: false, - internalType: "struct AccountStorage.Endowment", - name: "endowment", - type: "tuple", - }, - ], - name: "UpdateEndowment", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", - type: "tuple", - }, - { - internalType: "bool", - name: "closingEndowment", - type: "bool", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", - type: "tuple", - }, - ], - indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", - type: "tuple", - }, - ], - name: "UpdateEndowmentState", - type: "event", - }, - { - inputs: [ - { - internalType: "uint256", - name: "curId", - type: "uint256", - }, - { - internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", - type: "uint8", - }, - { - components: [ - { - internalType: "string", - name: "vault", - type: "string", - }, - { - internalType: "uint256", - name: "percentage", - type: "uint256", - }, - ], - internalType: "struct AccountMessages.Strategy[]", - name: "curStrategies", - type: "tuple[]", - }, - ], - name: "updateStrategies", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, -] as const; - -const _bytecode = - "0x608080604052346100165761184e908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c631f6dcf861461002757600080fd5b346102d85760603660031901126102d857600360243510156102d8576001600160401b03604435116102d8573660236044350112156102d85760443560040135610070816114a7565b9061007e6040519283611486565b80825260208201903660248260051b6044350101116102d857602460443501915b60248260051b604435010183106113ab57837ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b5460ff8160a01c161580156113a2575b1561135d57333003611328575b507ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d465460043560009081526000805160206117f983398151915260205260409020546001600160a01b0391821692911633036112f4576004356000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4160205260ff600860406000200154166112ba576004356000526000805160206117f983398151915260205260176040600020015461127e576000915b81518060001981011161024b57600019018310156103065760018301831161024b57600183015b82518110156102f15761021160206101e786866114d9565b51516101f384876114d9565b51516040516360353db960e01b815293849283929060048401611558565b038173__$cdb3a974a6603f5f21ad73b7f4e0c6fc0b$__5af49081156102e5576000916102a6575b506102615760018101809111156101cf575b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b815260206004820152601b60248201527f5374726174656779436f6d706f6e656e74734e6f74556e6971756500000000006044820152606490fd5b90506020813d6020116102dd575b816102c160209383611486565b810103126102d8576102d290611503565b85610239565b600080fd5b3d91506102b4565b6040513d6000823e3d90fd5b509160018101811161024b57600101916101a8565b906004356000526000805160206117f9833981519152602052600060ff60056040832001541660e46040518095819363144e410960e21b835285600484015261034e81611594565b602483015261035e602435611594565b602435604483015260036064830152600160848301528460a48301528460c48301525afa9182156102e557600092610ff3575b50600081516103b86103a2826114a7565b916103b06040519384611486565b8083526114a7565b60005b601f1982018110610fe25750508251926103d4846114a7565b936103e26040519586611486565b8085526103f1601f19916114a7565b013660208601376000915b815183101561055a5760009560005b81518110156105085761042f602061042387876114d9565b51516101f384866114d9565b038173__$cdb3a974a6603f5f21ad73b7f4e0c6fc0b$__5af49081156102e5576000916104ce575b5061046f575b60018101811161024b5760010161040b565b6001975094602061048086866114d9565b510151810180911161024b579461049785856114d9565b51516104a386856114d9565b526104ae85846114d9565b5060206104bb86866114d9565b5101516104c886896114d9565b5261045d565b90506020813d602011610500575b816104e960209383611486565b810103126102d8576104fa90611503565b89610457565b3d91506104dc565b5095929092156105255760018101811161024b57600101916103fc565b60405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964496e7075747360981b6044820152606490fd5b849060648511610f9d5761056f602435611594565b602435610d01576004356000526000805160206117f9833981519152602052600a60406000200190805190600160401b8211610b55578254828455808310610c8b575b50602001916000526020600020916000905b828210610b6b57505050506004356000526000805160206117f9833981519152602052600b604060002001908051906001600160401b038211610b5557600160401b8211610b55576020908354838555808410610b38575b50019160005260206000209160005b828110610b2457505050505b6004356000526000805160206117f9833981519152602052604060002060405160043581526040602082015260018060a01b038254166040820152611120606082015261068b6111608201600184016115ef565b916107106106fc6106c9603f199586868203016080870152604081526106b76040820160028701611685565b90602081830391015260038501611685565b600484015460a086015260ff6005850154166106e481611594565b60c0860152858582030160e0860152600684016115ef565b8484820301610100850152600783016115ef565b9060088101549160ff83166004811015610b0e577f364502d723e5ab665a7fdb51cffd24931248ebbf2a52d809c6fd1e9005b4dd9e9561088d6108796107b061079c60679660ff8b9a6108a1986101208d0152818160081c1615156101408d015260101c1615156101608b015260098901546101808b0152858a8203016101a08b0152600a8901611722565b84898203016101c08a0152600e8801611722565b601287015460ff81811615156101e08b015260089190911c811615156102008a015260138801546102208a01526014880154811615156102408a015260158801546102608a01526016880154811615156102808a015260178801546102a08a015260188801546102c08a015260198801546102e08a0152601a8801546001600160a01b039081166103008b0152601b8901548082166103208c015260a01c90911615156103408a0152601c880154166103608901528781038401610380890152601d8701611771565b82878203016103a0880152601e8601611771565b90858203016103c0860152601f8401611771565b60208301546001600160a01b03166103e08501526021830154610400850152602283015460ff1615156104208501529160238101546001600160a01b03166104408501526024810154610460850152602581015460ff16151561048085015260268101546001600160a01b03166104a085015260278101546104c0850152602881015460ff1615156104e085015260298101546001600160a01b0316610500850152602a810154610520850152602b81015460ff16151561054085015261096f6105608501602c83016117b7565b6109806106008501602f83016117b7565b6109916106a08501603283016117b7565b6109a26107408501603583016117b7565b6109b36107e08501603883016117b7565b6109c46108808501603b83016117b7565b6109d56109208501603e83016117b7565b6109e66109c08501604183016117b7565b6109f7610a608501604483016117b7565b610a08610b008501604783016117b7565b610a19610ba08501604a83016117b7565b610a2a610c408501604d83016117b7565b610a3b610ce08501605083016117b7565b610a4c610d808501605383016117b7565b610a5d610e208501605683016117b7565b610a6e610ec08501605983016117b7565b610a7f610f608501605c83016117b7565b610a906110008501605f83016117b7565b60628101546110a085015260ff60638201541615156110c085015260648101546110e08501526065810154611100850152606681015461112085015201546111408301520390a1333003610ae057005b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff60a01b19169055005b634e487b7160e01b600052602160045260246000fd5b60019060208351930192818601550161062b565b610b4f9085600052848460002091820191016115d8565b8461061c565b634e487b7160e01b600052604160045260246000fd5b80518051906001600160401b038211610b5557610b88865461159e565b601f8111610c4e575b50602090601f8311600114610bde579282600194936020938695600092610bd3575b5050600019600383901b1c191690841b1787555b019401910190926105c4565b015190508a80610bb3565b908660005260206000209160005b601f1985168110610c36575083602093600196938796938794601f19811610610c1d575b505050811b018755610bc7565b015160001960f88460031b161c191690558a8080610c10565b91926020600181928685015181550194019201610bec565b610c7b90876000526020600020601f850160051c81019160208610610c81575b601f0160051c01906115d8565b87610b91565b9091508190610c6e565b836000526020600020908382015b8183018110610ca95750506105b2565b80610cb66001925461159e565b80610cc3575b5001610c99565b601f908181118414610cdc575050600081555b88610cbc565b610cf860009284845260208420920160051c82018583016115d8565b81835555610cd6565b610d0c602435611594565b600160243514610d1e575b5050610637565b6004356000526000805160206117f9833981519152602052600c60406000200190805190600160401b8211610b55578254828455808310610f27575b50602001916000526020600020916000905b828210610e1257505050506004356000526000805160206117f9833981519152602052600d604060002001908051906001600160401b038211610b5557600160401b8211610b55576020908354838555808410610df5575b50019160005260206000209160005b828110610de1575050610d17565b600190602083519301928186015501610dd3565b610e0c9085600052848460002091820191016115d8565b84610dc4565b80518051906001600160401b038211610b5557610e2f865461159e565b601f8111610ef5575b50602090601f8311600114610e85579282600194936020938695600092610e7a575b5050600019600383901b1c191690841b1787555b01940191019092610d6c565b015190508a80610e5a565b908660005260206000209160005b601f1985168110610edd575083602093600196938796938794601f19811610610ec4575b505050811b018755610e6e565b015160001960f88460031b161c191690558a8080610eb7565b91926020600181928685015181550194019201610e93565b610f2190876000526020600020601f850160051c81019160208610610c8157601f0160051c01906115d8565b87610e38565b836000526020600020908382015b8183018110610f45575050610d5a565b80610f526001925461159e565b80610f5f575b5001610f35565b601f908181118414610f78575050600081555b88610f58565b610f9460009284845260208420920160051c82018583016115d8565b81835555610f72565b60405162461bcd60e51b815260206004820152601960248201527f496e76616c69645374726174656779416c6c6f636174696f6e000000000000006044820152606490fd5b8060606020809386010152016103bb565b9091503d806000833e6110068183611486565b60208282810103126102d85781516001600160401b0381116102d857818301601f8285010112156102d857808301519061103f826114a7565b9361104d6040519586611486565b828552602085019184820160208560051b8385010101116102d857602081830101925b60208560051b8385010101841061108e575050505050509082610391565b83516001600160401b0381116102d857610100848401820188860103601f1901126102d85760405190816101008101106001600160401b0361010084011117610b555761010082016040526020818587010101516001600160401b0381116102d857818587010101603f9089870182820112156102d857602081015190611114826114be565b916111226040519384611486565b8083528b8901604082840101116102d857611144916040602085019101611510565b835285850182016040810151602085015261116190606001611580565b604084015260806111778184888a010101611580565b606085015261118c60a084888a010101611503565b9084015260c082868801010151906001600160401b0382116102d857898701908284888a0101010112156102d8576020818387890101010151906111cf826114a7565b916111dd6040519384611486565b808352602083018b890160408a85888c8760051b930101010101116102d857604083868a8c01010101905b60408a85888c8760051b9301010101018210611265575050505060a083015260e0818587010101519060038210156102d8576101009160c084015284860101015160048110156102d85760e0820152815260209384019301611070565b815160038110156102d857815260209182019101611208565b60405162461bcd60e51b8152602060048201526014602482015273526564656d7074696f6e496e50726f677265737360601b6044820152606490fd5b60405162461bcd60e51b8152602060048201526012602482015271155c19185d195cd0599d195c90db1bdcd95960721b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b60ff60a01b1916600160a01b177ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b55816100ef565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b503330146100e2565b8235906001600160401b0382116102d85760406044358301360360231901126102d8576040518060408101106001600160401b03604083011117610b555760408101604052602483604435010135916001600160401b0383116102d857366043848660443501010112156102d85760248385604435010101359161142e836114be565b9361143c6040519586611486565b838552366044858389833501010101116102d857856020956000878781986044809760249d823501010183860137830101528352813501013583820152815201930192905061009f565b90601f801991011681019081106001600160401b03821117610b5557604052565b6001600160401b038111610b555760051b60200190565b6001600160401b038111610b5557601f01601f191660200190565b80518210156114ed5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b519081151582036102d857565b60005b8381106115235750506000910152565b8181015183820152602001611513565b9060209161154c81518092818552858086019101611510565b601f01601f1916010190565b909161156f61157d93604084526040840190611533565b916020818403910152611533565b90565b51906001600160a01b03821682036102d857565b60031115610b0e57565b90600182811c921680156115ce575b60208310146115b857565b634e487b7160e01b600052602260045260246000fd5b91607f16916115ad565b8181106115e3575050565b600081556001016115d8565b90600092918054916116008361159e565b9182825260019384811690816000146116625750600114611622575b50505050565b90919394506000526020928360002092846000945b83861061164e57505050500101903880808061161c565b805485870183015294019385908201611637565b9294505050602093945060ff191683830152151560051b0101903880808061161c565b90815480825260208092019260005281600020916000905b8282106116ab575050505090565b83548552938401936001938401939091019061169d565b908081835491828252602080809301948460051b01019460005281600020936000915b8483106116f55750505050505090565b9091929394958460016117128193601f198682030187528a6115ef565b98019301930191949392906116e5565b90600361157d926080835261176261175161174060808601846116c2565b858103602087015260018401611685565b8481036040860152600283016116c2565b92606081850391015201611685565b90815480825260208092019260005281600020916000905b828210611797575050505090565b83546001600160a01b031685529384019360019384019390910190611789565b600260809160ff815481811615158652818160081c161515602087015260101c161515604085015260018060a01b036001820154166060850152015491015256fef42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42a26469706673582212209372d9bd74831078d5794c56facd4020860b961a8980761a93cc1a2c38329c6064736f6c63430008120033"; - -type AccountsStrategiesUpdateEndowmentsConstructorParams = - | [ - linkLibraryAddresses: AccountsStrategiesUpdateEndowmentsLibraryAddresses, - signer?: Signer - ] - | ConstructorParameters; - -const isSuperArgs = ( - xs: AccountsStrategiesUpdateEndowmentsConstructorParams -): xs is ConstructorParameters => { - return ( - typeof xs[0] === "string" || - (Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) || - "_isInterface" in xs[0] - ); -}; - -export class AccountsStrategiesUpdateEndowments__factory extends ContractFactory { - constructor(...args: AccountsStrategiesUpdateEndowmentsConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - const [linkLibraryAddresses, signer] = args; - super( - _abi, - AccountsStrategiesUpdateEndowments__factory.linkBytecode( - linkLibraryAddresses - ), - signer - ); - } - } - - static linkBytecode( - linkLibraryAddresses: AccountsStrategiesUpdateEndowmentsLibraryAddresses - ): string { - let linkedBytecode = _bytecode; - - linkedBytecode = linkedBytecode.replace( - new RegExp("__\\$cdb3a974a6603f5f21ad73b7f4e0c6fc0b\\$__", "g"), - linkLibraryAddresses["contracts/lib/Strings/string.sol:StringArray"] - .replace(/^0x/, "") - .toLowerCase() - ); - - return linkedBytecode; - } - - override deploy( - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise { - return super.deploy( - overrides || {} - ) as Promise; - } - override getDeployTransaction( - overrides?: Overrides & { from?: PromiseOrValue } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - override attach(address: string): AccountsStrategiesUpdateEndowments { - return super.attach(address) as AccountsStrategiesUpdateEndowments; - } - override connect( - signer: Signer - ): AccountsStrategiesUpdateEndowments__factory { - return super.connect(signer) as AccountsStrategiesUpdateEndowments__factory; - } - - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): AccountsStrategiesUpdateEndowmentsInterface { - return new utils.Interface( - _abi - ) as AccountsStrategiesUpdateEndowmentsInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): AccountsStrategiesUpdateEndowments { - return new Contract( - address, - _abi, - signerOrProvider - ) as AccountsStrategiesUpdateEndowments; - } -} - -export interface AccountsStrategiesUpdateEndowmentsLibraryAddresses { - ["contracts/lib/Strings/string.sol:StringArray"]: string; -} diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountsSwapEndowments__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountsSwapEndowments__factory.ts index 05cca6c66..702e08753 100644 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountsSwapEndowments__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/facets/AccountsSwapEndowments__factory.ts @@ -32,37 +32,10 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], indexed: false, - internalType: "struct AccountStorage.AllowanceData", + internalType: "uint256", name: "allowance", - type: "tuple", + type: "uint256", }, ], name: "AllowanceStateUpdatedTo", @@ -74,9 +47,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -129,29 +102,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -177,43 +150,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -228,7 +201,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -244,7 +217,7 @@ const _abi = [ ], indexed: false, internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", + name: "createdaomessage", type: "tuple", }, { @@ -263,13 +236,13 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -365,7 +338,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -378,21 +351,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -456,18 +414,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -475,12 +433,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -496,13 +459,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -526,17 +489,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -548,17 +511,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -570,14 +528,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -592,14 +545,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -614,17 +562,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -633,24 +576,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -665,31 +598,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -704,31 +627,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -743,31 +656,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -782,31 +685,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -821,31 +714,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -860,31 +743,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -899,31 +772,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -938,31 +801,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -984,24 +837,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1023,63 +866,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1094,31 +888,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1140,24 +924,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1179,24 +953,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1218,24 +982,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1257,24 +1011,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1296,24 +1040,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1337,9 +1071,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -1433,37 +1167,37 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { indexed: false, internalType: "address", - name: "curTokenin", + name: "tokenin", type: "address", }, { indexed: false, internalType: "address", - name: "curTokenout", + name: "tokenout", type: "address", }, { indexed: false, internalType: "uint256", - name: "curAmountout", + name: "amountout", type: "uint256", }, ], @@ -1480,23 +1214,65 @@ const _abi = [ name: "owner", type: "address", }, + { + internalType: "string", + name: "version", + type: "string", + }, { internalType: "address", name: "registrarContract", type: "address", }, { - internalType: "uint256", + internalType: "uint32", name: "nextAccountId", - type: "uint256", + type: "uint32", }, { internalType: "uint256", name: "maxGeneralCategoryId", type: "uint256", }, - ], - indexed: false, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + internalType: "bool", + name: "reentrancyGuardLocked", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, + ], + indexed: false, internalType: "struct AccountStorage.Config", name: "config", type: "tuple", @@ -1550,7 +1326,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1563,21 +1339,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -1641,18 +1402,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -1660,12 +1421,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -1681,13 +1447,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -1711,17 +1477,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1733,17 +1499,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1755,14 +1516,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1777,14 +1533,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1799,17 +1550,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1818,24 +1564,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1850,31 +1586,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1889,31 +1615,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1928,31 +1644,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1967,31 +1673,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2006,31 +1702,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2045,31 +1731,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2084,31 +1760,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2123,31 +1789,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2169,24 +1825,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2208,63 +1854,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2279,31 +1876,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2325,24 +1912,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2364,24 +1941,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2403,24 +1970,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2442,24 +1999,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2481,24 +2028,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2522,9 +2059,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -2569,153 +2106,30 @@ const _abi = [ type: "event", }, { - anonymous: false, inputs: [ { - indexed: false, - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", - type: "tuple", - }, - { - internalType: "bool", - name: "closingEndowment", - type: "bool", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", - type: "tuple", - }, - ], - indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", - type: "tuple", - }, - ], - name: "UpdateEndowmentState", - type: "event", - }, - { - inputs: [ - { - internalType: "uint256", - name: "curId", - type: "uint256", + type: "uint32", }, { internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { internalType: "address", - name: "curTokenin", + name: "tokenIn", type: "address", }, { internalType: "address", - name: "curTokenout", + name: "tokenOut", type: "address", }, ], @@ -2727,7 +2141,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001657611ba2908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c6377baed191461002a57600080fd5b34610c2b5760a0366003190112610c2b5760036024351015610c2b576064356001600160a01b0381169003610c2b576084356001600160a01b0381169003610c2b577ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b549060ff8260a01c161580156114ff575b156114bd5750333003611488575b5060043581527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d426020526040812060405190816104408101106001600160401b036104408401111761147457610440820160405280546001600160a01b03168252610119600182016115be565b602083015260405161012a81611508565b6101366002830161168f565b81526101446003830161168f565b602082015260408301526004810154606083015260ff600582015416610169816116de565b608083015261017a600682016115be565b60a083015261018b600782016115be565b60c083015260ff60088201548181166101a3816116fe565b60e0850152818160081c16151561010085015260101c16151561012083015260098101546101408301526101d9600a8201611774565b6101608301526101eb600e8201611774565b6101808301526040516101fd81611539565b601282015460ff8181161515835260089190911c811615156020830152601383015460408301526014830154811615156060830152601583015460808301526101a08401919091526016820154811615156101c084015260178201546101e084015260188201546102008401526019820154610220840152601a8201546001600160a01b03908116610240850152601b83015480821661026086015260a01c9091161515610280840152601c820154166102a08301526102bf601d82016117c2565b6102c08301526102d1601e82016117c2565b6102e08301526102e3601f82016117c2565b6103008301526102f56020820161181a565b6103208301526103076023820161181a565b6103408301526103196026820161181a565b61036083015261032b6029820161181a565b610380830152604051806102408101106001600160401b036102408301111761146057908161024060679301604052610366602c8301611850565b8152610374602f8301611850565b602082015261038560328301611850565b604082015261039660358301611850565b60608201526103a760388301611850565b60808201526103b8603b8301611850565b60a08201526103c9603e8301611850565b60c08201526103da60418301611850565b60e08201526103eb60448301611850565b6101008201526103fd60478301611850565b61012082015261040f604a8301611850565b610140820152610421604d8301611850565b61016082015261043360508301611850565b61018082015261044560538301611850565b6101a082015261045760568301611850565b6101c082015261046960598301611850565b6101e082015261047b605c8301611850565b61020082015261048d605f8301611850565b6102208201526103a084015260628101546103c084015260ff60638201541615156103e08401526040516104c081611554565b60648201548152606582015460208201526066820154604082015261040084015201546104208201526004358252600080516020611b4d8339815191526020526040822090604051916105128361156f565b60405161051e81611508565b8154815260018201546020820152835260405161053a81611508565b610546600283016118ae565b8152610554600583016118ae565b6020820152602084015260ff6008820154161515604084015260ff600b6040519261057e84611508565b60405161058a81611508565b60098201548152600a8201546001600160a01b0316602082015284520154166105b2816116fe565b6020820152606083015251336001600160a01b039091160361142c576105db60443515156118df565b6105f16064356001600160a01b031615156118df565b6106076084356001600160a01b031615156118df565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d465460405163e68f909d60e01b8152908390829060049082906001600160a01b03165afa908115610d27578391610f9b575b506040516370a0823160e01b81523060048201526020816024816064356001600160a01b03165afa908115610e79578491610f69575b5060443511610f32576106a36024356116de565b602435610ea6576106e283602084015151602060408201519101519060405193849283926340b185af60e01b84526044359160643591600486016119ba565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115610e79578491610e84575b506020808401515101525b61030081015160405163095ea7b360e01b81526001600160a01b0391821660048201526044803560248301529091602091839182908890606435165af1908115610e79578491610e3f575b5015610e0957602061081a916040519061077882611508565b6001825282368184013760443561078e83611a4d565b526107f786604051926107a084611508565b600184528536818601376064356001600160a01b03166107bf85611a4d565b526103000151604051630486bc6d60e31b8152608060048201529687956001600160a01b039092169486948593916084850190611a70565b6084356001600160a01b0316602485015283810360031901604485015290611aad565b82606483015203925af1908115610d27578391610dd3575b506004358352600080516020611b4d83398151915260205260408320602083518051835501516001820155602083015180518051600284015560208101518051906001600160401b038211610dbf57600160401b8211610dbf57602060038601916108a284845481865585611ae1565b0190885260208820885b838110610dab5750505050604001518051906001600160401b038211610d7a57600160401b8211610d7a57602060048501916108ed84845481865585611ae1565b0190875260208720875b838110610d8e5750505050602001518051600583015560208101518051906001600160401b038211610d7a57600160401b8211610d7a576020600685019161094484845481865585611ae1565b0190875260208720875b838110610d665750505050604001518051906001600160401b038211610d5257600160401b8211610d525790829160206007889695019161099484845481865585611ae1565b0190855260208520855b838110610d32575050505060088101604085015115159060ff199160ff83835416911617905560ff6020600b606088015194855180516009830155600a8201908460018060a01b03910151166bffffffffffffffffffffffff60a01b8254161790550193015191610a0e836116fe565b610a17836116fe565b8354169116179055610a2a6024356116de565b602435610c3e5773__$2e6ee47b30d794e0597b4af30f16ddb84c$__906004358352600080516020611b4d8339815191526020526002604084200190823b15610c3a57604051631bccc68560e21b815260048101929092526084356001600160a01b031660248301526044820152908290829060649082905af48015610c2f57610c17575b50507f758243dab8e0b86a43e2f0b0d6e842211dc46a791072e017f73e274b81ad1e52905b604051809160043582526040602083015260208151805160408501520151606083015260206060610b388284015160e0608087015283610b22825160406101208a0152610160890190611b15565b91015186820361011f1901610140880152611b15565b6040840151151560a08601529201518051805160c08601528201516001600160a01b031660e08501520151610b6c816116fe565b6101008301520390a17f3245730c95bd329396487002159bccb62ff0ce57ceb510cc8376a2b737fcd01d60c06040516004358152610bab6024356116de565b602435602082015260443560408201526001600160a01b036064358116606083015260843516608082015260a08101849052a1333003610be85780f35b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff60a01b1916905580f35b610c209061158a565b610c2b578138610aaf565b5080fd5b6040513d84823e3d90fd5b8380fd5b90506004358352600080516020611b4d83398151915260205282600560408220019173__$2e6ee47b30d794e0597b4af30f16ddb84c$__3b15610c2b57604051631bccc68560e21b815260048101939093526084356001600160a01b0316602484015260448301528160648173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af48015610d2757610cf4575b507f758243dab8e0b86a43e2f0b0d6e842211dc46a791072e017f73e274b81ad1e5290610ad4565b91610d207f758243dab8e0b86a43e2f0b0d6e842211dc46a791072e017f73e274b81ad1e52929361158a565b9190610ccc565b6040513d85823e3d90fd5b82516001600160a01b03168183015588965060209092019160010161099e565b634e487b7160e01b86526041600452602486fd5b60019060208451940193818401550161094e565b634e487b7160e01b87526041600452602487fd5b82516001600160a01b0316818301556020909201916001016108f7565b6001906020845194019381840155016108ac565b634e487b7160e01b88526041600452602488fd5b90506020813d602011610e01575b81610dee6020938361159d565b81010312610dfd575138610832565b8280fd5b3d9150610de1565b60405162461bcd60e51b815260206004820152600e60248201526d105c1c1c9bdd994819985a5b195960921b6044820152606490fd5b90506020813d602011610e71575b81610e5a6020938361159d565b81010312610c3a57610e6b90611934565b3861075f565b3d9150610e4d565b6040513d86823e3d90fd5b610ea091503d8086833e610e98818361159d565b810190611941565b38610709565b610ee0836020808501510151602060408201519101519060405193849283926340b185af60e01b84526044359160643591600486016119ba565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115610e79578491610f18575b506020808085015101510152610714565b610f2c91503d8086833e610e98818361159d565b38610f07565b60405162461bcd60e51b815260206004820152600f60248201526e10985b185b98d9551bdbd4db585b1b608a1b6044820152606490fd5b90506020813d602011610f93575b81610f846020938361159d565b81010312610c3a57513861068f565b3d9150610f77565b3d91508184823e610fac828261159d565b6020818381010312610c3a578051906001600160401b0382116113f9576104e082820184830103126113f95760405192836104208101106001600160401b0361042086011117610d5257610420840160405261100983830161191b565b845261101960208484010161191b565b602085015261102c60408484010161191b565b604085015261103f60608484010161191b565b606085015261105260808484010161191b565b608085015261106560a08484010161191b565b60a085015261107860c08484010161191b565b60c085015261108b60e08484010161191b565b60e085015261109f6101008484010161191b565b6101008501526110b46101208484010161191b565b6101208501526110c96101408484010161191b565b6101408501526110de6101608484010161191b565b6101608501526110f36101808484010161191b565b6101808501526111086101a08484010161191b565b6101a08501526060828401828401036101bf1901126114285760405161112d81611554565b8284016101c08181015183526101e082015160208401526102008201516040840152860191909152611162906102200161191b565b6101e08501526111776102408484010161191b565b61020085015261118c6102608484010161191b565b6102208501526111a16102808484010161191b565b6102408501528183016102a08101516102608601526111c3906102c00161191b565b6102808501526102e083830101516001600160401b0381116114245760208185850101838501031261142457604051908160208101106001600160401b03602084011117610dbf5760208201604052808585010151906001600160401b03821161142057838501601f838389890101010112156114205781818787010101519061124c82611708565b9261125a604051948561159d565b828452602084019186880160208560051b84848d8d01010101011161141c5790602081838b8b01010101925b60208560051b83858d8d010101010184106113fd5750505091835250506102a085015260a0906112bb8385016103000161191b565b6102c08601528284019083010361031f1901126113f9576113ed916104c0916040516112e681611539565b6112f561032084840101611934565b815261130661034084840101611934565b602082015281830161036081015160408301526113269061038001611934565b60608201526103a0838301015160808201526102e086015261134d6103c08383010161191b565b6103008601526113626103e08383010161191b565b6103208601526113776104008383010161191b565b61034086015261138c6104208383010161191b565b6103608601526113a16104408383010161191b565b6103808601526113b66104608383010161191b565b6103a08601526113cb6104808383010161191b565b6103c08601526113e06104a08383010161191b565b6103e0860152010161191b565b61040082015238610659565b8480fd5b9060208080949361140d8761191b565b81520194019390919250611286565b8b80fd5b8880fd5b8680fd5b8580fd5b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b634e487b7160e01b84526041600452602484fd5b634e487b7160e01b83526041600452602483fd5b60ff60a01b1916600160a01b177ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b55386100ac565b62461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b5033301461009e565b604081019081106001600160401b0382111761152357604052565b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b0382111761152357604052565b606081019081106001600160401b0382111761152357604052565b608081019081106001600160401b0382111761152357604052565b6001600160401b03811161152357604052565b90601f801991011681019081106001600160401b0382111761152357604052565b90604051906000835490600182811c90808416968715611685575b6020948584108914611671578798848997989952908160001461164f5750600114611610575b50505061160e9250038361159d565b565b600090815285812095935091905b81831061163757505061160e93508201013880806115ff565b8554888401850152948501948794509183019161161e565b9250505061160e94925060ff191682840152151560051b8201013880806115ff565b634e487b7160e01b85526022600452602485fd5b91607f16916115d9565b9060405191828154918282526020928383019160005283600020936000905b8282106116c45750505061160e9250038361159d565b8554845260019586019588955093810193909101906116ae565b600311156116e857565b634e487b7160e01b600052602160045260246000fd5b600411156116e857565b6001600160401b0381116115235760051b60200190565b90815461172b81611708565b92611739604051948561159d565b818452600090815260208082208186015b848410611758575050505050565b6001838192611766856115be565b81520192019301929061174a565b906040516117818161156f565b60606117bd600383956117938161171f565b85526117a16001820161168f565b60208601526117b26002820161171f565b60408601520161168f565b910152565b9060405191828154918282526020928383019160005283600020936000905b8282106117f75750505061160e9250038361159d565b85546001600160a01b0316845260019586019588955093810193909101906117e1565b9060405161182781611554565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b906040519161185e8361156f565b60608360ff835481811615158352818160081c161515602084015260101c161515604082015260026040519361189385611508565b60018101546001600160a01b03168552015460208401520152565b906040516118bb81611554565b60406117bd60028395805485526118d46001820161168f565b6020860152016117c2565b156118e657565b60405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964496e7075747360981b6044820152606490fd5b51906001600160a01b038216820361192f57565b600080fd5b5190811515820361192f57565b602090818184031261192f578051906001600160401b03821161192f57019180601f8401121561192f57825161197681611708565b93611984604051958661159d565b818552838086019260051b82010192831161192f578301905b8282106119ab575050505090565b8151815290830190830161199d565b9190949392946080830160808452815180915260a084019060208093019060005b818110611a30575050508381038285015281808451928381520193019160005b828110611a1c5750505050906060919460018060a01b031660408201520152565b8351855293810193928101926001016119fb565b82516001600160a01b0316845292840192918401916001016119db565b805115611a5a5760200190565b634e487b7160e01b600052603260045260246000fd5b90815180825260208080930193019160005b828110611a90575050505090565b83516001600160a01b031685529381019392810192600101611a82565b90815180825260208080930193019160005b828110611acd575050505090565b835185529381019392810192600101611abf565b9091828110611aef57505050565b60009182526020822092830192015b828110611b0a57505050565b818155600101611afe565b611b4991815181526040611b386020840151606060208501526060840190611aad565b920151906040818403910152611a70565b9056fef42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41a2646970667358221220c7f044c503cd25a43a4a62d11c8804a71547fb478f0c38fb49fd7801d7bd0b3c64736f6c63430008120033"; + "0x60808060405234610016576112a1908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c63e957e9b31461002a57600080fd5b346108545760a03660031901126108545763ffffffff6004351660043503610854576002602435101561085457606435906001600160a01b0382168203610940576084356001600160a01b0381169003610940577ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a549060ff8260a01c16158015610eb1575b15610e6f5750333003610e3a575b5063ffffffff6004351682527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d426020526040822060405190816103e081011067ffffffffffffffff6103e084011117610e26576103e0820160405280546001600160a01b0316825261013260018201610f73565b602083015260405161014381610eef565b61014f60028301611044565b815261015d60038301611044565b602082015260408301526004810154606083015260ff60058201541661018281611093565b608083015261019360068201610f73565b60a08301526101a460078201610f73565b60c0830152600881015460e08301526101bf60098201611113565b6101008301526101d1600d8201611113565b6101208301526040518060c081011067ffffffffffffffff60c083011117610dd65760c0810160405263ffffffff601183015460ff811615158352818160081c166020840152818160281c16604084015260ff8160481c1615156060840152818160501c16608084015260701c1660a082015261014083015260ff6012820154161515610160830152601381015461018083015260148101546101a083015260018060a01b036015820154166101c083015260018060a01b036016820154166101e083015260ff601782015460018060a01b03811661020085015260a01c16151561022083015260018060a01b036018820154166102408301526102d760198201611172565b6102608301526102e9601a8201611172565b6102808301526102fb601b8201611172565b6102a083015261030d601c82016111ca565b6102c083015261031f601e82016111ca565b6102e0830152610331602082016111ca565b610300830152610343602282016111ca565b6103208301526040518061022081011067ffffffffffffffff61022083011117610dd6579081610220605b930160405261037f602483016111f1565b815261038d602783016111f1565b602082015261039e602a83016111f1565b60408201526103af602d83016111f1565b60608201526103c0603083016111f1565b60808201526103d1603383016111f1565b60a08201526103e2603683016111f1565b60c08201526103f3603983016111f1565b60e0820152610404603c83016111f1565b610100820152610416603f83016111f1565b610120820152610428604283016111f1565b61014082015261043a604583016111f1565b61016082015261044c604883016111f1565b61018082015261045e604b83016111f1565b6101a0820152610470604e83016111f1565b6101c0820152610482605183016111f1565b6101e0820152610494605483016111f1565b61020082015261034084015260ff605782015463ffffffff811661036086015260201c1615156103808401526040516104cc81610f21565b6058820154815260598201546020820152605a82015460408201526103a084015201546103c082015251336001600160a01b0390911603610df2576105146044351515611216565b6105286001600160a01b0382161515611216565b61053e6084356001600160a01b03161515611216565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d465460405163e68f909d60e01b8152906103e090829060049082906001600160a01b03165afa908115610935578391610b4e575b506040516370a0823160e01b81523060048201526020816024816001600160a01b0387165afa9081156109e7578491610b1c575b5060443511610ae5576105da602435611093565b602435610a245760036105ee600435610eba565b0160018060a01b0383168452602052604083205460405190631a06a59d60e31b82526004820152604435602482015260208160448173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156109e75784916109f2575b506003610656600435610eba565b6001600160a01b03851686520160205260408420555b61028081015160405163095ea7b360e01b81526001600160a01b039182166004820152604480356024830152909160209183918290889088165af19081156109e75784916109ac575b5015610976576102800151604051632df8991560e11b81526001600160a01b0383811660048301526084803582166024840152604480359084015260648301869052859360209284929183918791165af1908115610858578291610944575b50610720602435611093565b6024356108675773__$2e6ee47b30d794e0597b4af30f16ddb84c$__90600261074a600435610eba565b0190823b1561086357604051631bccc68560e21b815260048101929092526084356001600160a01b031660248301526044820152908290829060649082905af4801561085857610840575b505060c07f3245730c95bd329396487002159bccb62ff0ce57ceb510cc8376a2b737fcd01d915b6040519063ffffffff6004351682526107d6602435611093565b602435602083015260443560408301526001600160a01b03908116606083015260843516608082015260a08101849052a13330036108115780f35b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff60a01b1916905580f35b61084990610f3d565b610854578138610795565b5080fd5b6040513d84823e3d90fd5b8380fd5b9073__$2e6ee47b30d794e0597b4af30f16ddb84c$__91600461088a8135610eba565b0192803b1561094057604051631bccc68560e21b815260048101949094526084356001600160a01b031660248501526044840191909152829060649082905af48015610935576108ff575b5060c07f3245730c95bd329396487002159bccb62ff0ce57ceb510cc8376a2b737fcd01d916107bc565b7f3245730c95bd329396487002159bccb62ff0ce57ceb510cc8376a2b737fcd01d919261092d60c092610f3d565b9291506108d5565b6040513d85823e3d90fd5b8280fd5b90506020813d60201161096e575b8161095f60209383610f51565b81010312610854575138610714565b3d9150610952565b60405162461bcd60e51b815260206004820152600e60248201526d105c1c1c9bdd994819985a5b195960921b6044820152606490fd5b90506020813d6020116109df575b816109c760209383610f51565b810103126108635751801515810361086357386106b5565b3d91506109ba565b6040513d86823e3d90fd5b90506020813d602011610a1c575b81610a0d60209383610f51565b81010312610863575138610648565b3d9150610a00565b6005610a31600435610eba565b0160018060a01b0383168452602052604083205460405190631a06a59d60e31b82526004820152604435602482015260208160448173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156109e7578491610ab3575b506005610a99600435610eba565b6001600160a01b038516865201602052604084205561066c565b90506020813d602011610add575b81610ace60209383610f51565b81010312610863575138610a8b565b3d9150610ac1565b60405162461bcd60e51b815260206004820152600f60248201526e10985b185b98d9551bdbd4db585b1b608a1b6044820152606490fd5b90506020813d602011610b46575b81610b3760209383610f51565b810103126108635751386105c6565b3d9150610b2a565b6103e091503d8211610dea575b610b658282610f51565b6103e08183810103126108635760405191826103a081011067ffffffffffffffff6103a085011117610dd6576060906103a08401604052610ba583611252565b8452610bb360208401611252565b6020850152610bc460408401611252565b6040850152610bd4828401611252565b82850152610be460808401611252565b6080850152610bf560a08401611252565b60a0850152610c0660c08401611252565b60c0850152610c1760e08401611252565b60e0850152610c296101008401611252565b610100850152610c3c6101208401611252565b610120850152610c4f6101408401611252565b610140850152610c626101608401611252565b610160850152610c756101808401611252565b610180850152820182900361019f190112610863576103c0610dca91604051610c9d81610f21565b6101a082015181526101c082015160208201526101e082015160408201526101a0850152610cce6102008201611252565b6101c0850152610ce16102208201611252565b6101e0850152610cf46102408201611252565b610200850152610260810151610220850152610d136102808201611252565b610240850152610d266102a08201611252565b610260850152610d396102c08201611252565b610280850152610d4c6102e08201611252565b6102a0850152610d5f6103008201611252565b6102c0850152610d726103208201611252565b6102e0850152610d856103408201611252565b610300850152610d986103608201611252565b610320850152610dab6103808201611252565b610340850152610dbe6103a08201611252565b61036085015201611252565b61038082015238610592565b634e487b7160e01b85526041600452602485fd5b3d9150610b5b565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b634e487b7160e01b84526041600452602484fd5b60ff60a01b1916600160a01b177ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a55386100be565b62461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b503330146100b0565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b6040810190811067ffffffffffffffff821117610f0b57604052565b634e487b7160e01b600052604160045260246000fd5b6060810190811067ffffffffffffffff821117610f0b57604052565b67ffffffffffffffff8111610f0b57604052565b90601f8019910116810190811067ffffffffffffffff821117610f0b57604052565b90604051906000835490600182811c9080841696871561103a575b602094858410891461102657879884899798995290816000146110045750600114610fc5575b505050610fc392500383610f51565b565b600090815285812095935091905b818310610fec575050610fc39350820101388080610fb4565b85548884018501529485019487945091830191610fd3565b92505050610fc394925060ff191682840152151560051b820101388080610fb4565b634e487b7160e01b85526022600452602485fd5b91607f1691610f8e565b9060405191828154918282526020928383019160005283600020936000905b82821061107957505050610fc392500383610f51565b855484526001958601958895509381019390910190611063565b6002111561109d57565b634e487b7160e01b600052602160045260246000fd5b90815467ffffffffffffffff8111610f0b576040519260206110da818460051b0186610f51565b82855260009182528082208186015b8484106110f7575050505050565b600183819261110585610f73565b8152019201930192906110e9565b906040516080810181811067ffffffffffffffff821117610f0b57604052606061116d60038395611143816110b3565b855261115160018201611044565b6020860152611162600282016110b3565b604086015201611044565b910152565b9060405191828154918282526020928383019160005283600020936000905b8282106111a757505050610fc392500383610f51565b85546001600160a01b031684526001958601958895509381019390910190611191565b906040516111d781610eef565b82546001600160a01b031681526001909201546020830152565b906040516111fe81610eef565b602061116d6001839560ff81541615158552016111ca565b1561121d57565b60405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964496e7075747360981b6044820152606490fd5b51906001600160a01b038216820361126657565b600080fdfea2646970667358221220c0c4d15ecec44b377ae8648e35dee1a77ea741c79d853ef1030828a2a9af434564736f6c63430008120033"; type AccountsSwapEndowmentsConstructorParams = | [ diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdateEndowmentSettingsController__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdateEndowmentSettingsController__factory.ts index c2cfd14aa..a679232aa 100644 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdateEndowmentSettingsController__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdateEndowmentSettingsController__factory.ts @@ -32,37 +32,10 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], indexed: false, - internalType: "struct AccountStorage.AllowanceData", + internalType: "uint256", name: "allowance", - type: "tuple", + type: "uint256", }, ], name: "AllowanceStateUpdatedTo", @@ -74,9 +47,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -129,29 +102,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -177,43 +150,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -228,7 +201,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -244,7 +217,7 @@ const _abi = [ ], indexed: false, internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", + name: "createdaomessage", type: "tuple", }, { @@ -263,13 +236,13 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -365,7 +338,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -378,21 +351,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -456,18 +414,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -475,12 +433,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -496,13 +459,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -526,17 +489,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -548,17 +511,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -570,14 +528,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -592,14 +545,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -614,17 +562,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -633,24 +576,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -665,31 +598,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -704,31 +627,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -743,31 +656,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -782,31 +685,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -821,31 +714,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -860,31 +743,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -899,31 +772,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -938,31 +801,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -984,24 +837,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1023,63 +866,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1094,31 +888,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1140,24 +924,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1179,24 +953,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1218,24 +982,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1257,24 +1011,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1296,24 +1040,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1337,9 +1071,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -1433,37 +1167,37 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { indexed: false, internalType: "address", - name: "curTokenin", + name: "tokenin", type: "address", }, { indexed: false, internalType: "address", - name: "curTokenout", + name: "tokenout", type: "address", }, { indexed: false, internalType: "uint256", - name: "curAmountout", + name: "amountout", type: "uint256", }, ], @@ -1480,23 +1214,65 @@ const _abi = [ name: "owner", type: "address", }, + { + internalType: "string", + name: "version", + type: "string", + }, { internalType: "address", name: "registrarContract", type: "address", }, { - internalType: "uint256", + internalType: "uint32", name: "nextAccountId", - type: "uint256", + type: "uint32", }, { internalType: "uint256", name: "maxGeneralCategoryId", type: "uint256", }, - ], - indexed: false, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + internalType: "bool", + name: "reentrancyGuardLocked", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, + ], + indexed: false, internalType: "struct AccountStorage.Config", name: "config", type: "tuple", @@ -1550,7 +1326,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1563,21 +1339,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -1641,18 +1402,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -1660,12 +1421,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -1681,13 +1447,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -1711,17 +1477,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1733,17 +1499,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1755,14 +1516,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1777,14 +1533,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1799,17 +1550,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1818,24 +1564,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1850,31 +1586,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1889,31 +1615,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1928,31 +1644,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1967,31 +1673,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2006,31 +1702,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2045,31 +1731,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2084,31 +1760,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2123,31 +1789,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2169,24 +1825,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2208,63 +1854,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2279,31 +1876,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2325,24 +1912,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2364,24 +1941,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2403,24 +1970,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2442,24 +1999,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2481,24 +2028,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2522,9 +2059,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -2569,725 +2106,517 @@ const _abi = [ type: "event", }, { - anonymous: false, inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, { components: [ { - components: [ - { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", + internalType: "uint32", + name: "id", + type: "uint32", }, { components: [ { components: [ { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "strategies", type: "tuple", }, { components: [ { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "lockedInvestmentManagement", type: "tuple", }, - ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", - type: "tuple", - }, - { - internalType: "bool", - name: "closingEndowment", - type: "bool", - }, - { - components: [ { components: [ { - internalType: "uint256", - name: "id", - type: "uint256", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "address", - name: "addr", - type: "address", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "liquidInvestmentManagement", type: "tuple", }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", - type: "tuple", - }, - ], - indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", - type: "tuple", - }, - ], - name: "UpdateEndowmentState", - type: "event", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, { components: [ { - internalType: "address", - name: "Addr", - type: "address", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "uint256", - name: "expires", - type: "uint256", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "allowlistedBeneficiaries", type: "tuple", }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, { components: [ { - internalType: "address", - name: "Addr", - type: "address", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "uint256", - name: "expires", - type: "uint256", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "allowlistedContributors", type: "tuple", }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "name", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, { components: [ { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "image", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "uint256", - name: "expires", - type: "uint256", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "maturityAllowlist", type: "tuple", }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "logo", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, { components: [ { - internalType: "address", - name: "Addr", - type: "address", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "uint256", - name: "expires", - type: "uint256", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "maturityTime", type: "tuple", }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "categories", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, { components: [ { - internalType: "address", - name: "Addr", - type: "address", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "uint256", - name: "expires", - type: "uint256", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "earlyLockedWithdrawFee", type: "tuple", }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, { components: [ { - internalType: "address", - name: "Addr", - type: "address", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "uint256", - name: "expires", - type: "uint256", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "withdrawFee", type: "tuple", }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "splitToLiquid", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, { components: [ { - internalType: "address", - name: "Addr", - type: "address", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "uint256", - name: "expires", - type: "uint256", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "depositFee", type: "tuple", }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "ignoreUserSplits", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, { components: [ { - internalType: "address", - name: "Addr", - type: "address", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", + }, + ], + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "balanceFee", + type: "tuple", }, { components: [ { - internalType: "address", - name: "Addr", - type: "address", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "uint256", - name: "expires", - type: "uint256", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "name", type: "tuple", }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, { components: [ { - internalType: "address", - name: "Addr", - type: "address", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "uint256", - name: "expires", - type: "uint256", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "image", type: "tuple", }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, { components: [ { - internalType: "address", - name: "Addr", - type: "address", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "uint256", - name: "expires", - type: "uint256", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "logo", type: "tuple", }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, { components: [ { - internalType: "address", - name: "Addr", - type: "address", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "uint256", - name: "expires", - type: "uint256", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "categories", type: "tuple", }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "depositFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, { components: [ { - internalType: "address", - name: "Addr", - type: "address", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "uint256", - name: "expires", - type: "uint256", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "splitToLiquid", type: "tuple", }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "withdrawFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, { components: [ { - internalType: "address", - name: "Addr", - type: "address", + internalType: "bool", + name: "locked", + type: "bool", }, { - internalType: "uint256", - name: "expires", - type: "uint256", + components: [ + { + internalType: "address", + name: "addr", + type: "address", + }, + { + internalType: "uint256", + name: "expires", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.Delegate", + name: "delegate", + type: "tuple", }, ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", + internalType: "struct AngelCoreStruct.SettingsPermission", + name: "ignoreUserSplits", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", + internalType: "struct AngelCoreStruct.SettingsController", + name: "settingsController", type: "tuple", }, ], internalType: "struct AccountMessages.UpdateEndowmentControllerRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -3301,9 +2630,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { components: [ @@ -3314,17 +2643,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -3336,14 +2660,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -3358,14 +2677,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -3380,22 +2694,17 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, ], internalType: "struct AccountMessages.UpdateEndowmentFeeRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -3409,33 +2718,38 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "bool", name: "donationMatchActive", type: "bool", }, + { + internalType: "uint256", + name: "maturityTime", + type: "uint256", + }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturity_whitelist_add", + name: "maturity_allowlist_add", type: "address[]", }, { internalType: "address[]", - name: "maturity_whitelist_remove", + name: "maturity_allowlist_remove", type: "address[]", }, { @@ -3467,7 +2781,7 @@ const _abi = [ }, ], internalType: "struct AccountMessages.UpdateEndowmentSettingsRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -3479,7 +2793,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001757615d2090816200001d8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80631ebcd0af14613c625780636f703594146119625763a9067da41461003d57600080fd5b3461195d5760031960203682011261195d576004356001600160401b03811161195d576101408136039283011261195d576040519161010083018381106001600160401b038211176114ab576040528160040135835261009f60248301614fe8565b602084015260448201356001600160401b03811161195d576100c79060043691850101614ff5565b604084015260648201356001600160401b03811161195d576100ef9060043691850101614ff5565b606084015260848201356001600160401b03811161195d576101179060043691850101614ff5565b608084015260a4820135906001600160401b03821161195d5761014260609260043691860101614ff5565b60a085015260c319011261195d5761012461018a9160405161016381614fac565b60c4820135815260e48201356020820152610104820135604082015260c085015201614fe8565b60e0820152610197615b4e565b80516000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d416020526040600020604051906101d282614f76565b6040516101de81614f91565b815481526001820154602082015282526040516101fa81614f91565b610206600283016150ee565b8152610214600583016150ee565b6020820152602083015260ff6008820154161515604083015260ff600b6040519261023e84614f91565b60405161024a81614f91565b60098201548152600a8201546001600160a01b03166020820152845201541661027281615139565b602082015260608201528151600052600080516020615ccb8339815191526020526040806000209101516119235760ff60058201541660038110156111085761125f575b8054601a820154604051637768621360e11b815291602091839182916102f39142916001600160a01b03908116911633605c8a016004870161515b565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156111d257600091611240575b506111de575b8054601a820154604051637768621360e11b8152916020918391829161035e9142916001600160a01b03908116911633605f8a016004870161515b565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156111d2576000916111a3575b5061113e575b8151600052600080516020615ccb8339815191526020526040600020918183036103df575b600080516020615c8b8339815191529250516103d2604051928392836156fb565b0390a16103dd615bef565b005b815483546001600160a01b0319166001600160a01b039190911617835561040c600183810190850161526d565b600283016002830180820361111e575b50506004820154600484015560ff60058301541692600384101561110857600080516020615c8b83398151915293600582019060ff19825416179055610468600684016006830161526d565b610478600784016007830161526d565b6104dc60ff600885018181541661048e81615139565b6008858101805485191692909217808355835461ff001990911690821c8516151590911b61ff00161790555460101c16600883019062ff0000825491151560101b169062ff00001916179055565b600983015460098201556104f6600a8401600a83016154cc565b610506600e8401600e83016154cc565b828103611085575b61052e60ff601685015416601683019060ff801983541691151516179055565b601783810154908201556018808401549082015560198084015490820155601a8084015490820180546001600160a01b03199081166001600160a01b0393841617909155601b80860180549185018054938416929094169182178455546001600160a81b03199092161760a091821c60ff16151590911b60ff60a01b16179055601c810160018060a01b03601c850154166001600160601b0360a01b8254161790556105e0601d8401601d8301615510565b6105f0601e8401601e8301615510565b610600601f8401601f8301615510565b6020810160208401808203611039575b50506023810160238401808203610fed575b50506026810160268401808203610fa1575b50506029810160298401808203610f55575b5050602c8101602c84019081811415806106c6575b5050506062830154606282015561068860ff606385015416606383019060ff801983541691151516179055565b60648101606484018082036106a8575b50506067808401549101556103b1565b54905560658301546065820155606683015460668201553880610698565b610ef9575b5050602f8101602f840190818103610e9d575b5050603281016032840190818103610e41575b5050603581016035840190818103610de5575b5050603881016038840190818103610d89575b5050603b8101603b840190818103610d2d575b5050603e8101603e840190818103610cd1575b5050604181016041840190818103610c75575b5050604481016044840190818103610c19575b5050604781016047840190818103610bbd575b5050604a8101604a840190818103610b61575b5050604d8101604d840190818103610b05575b5050605081016050840190818103610aa9575b5050605381016053840190818103610a4d575b50506056810160568401908181036109f1575b505060598101605984019081810361095a575b5050605c81018382036108b2575b50605f810183820361080a575b808061065b565b61086f9061082b60ff605f87015416829060ff801983541691151516179055565b605f850154815461ff001916600891821c60ff16151590911b61ff001617815560ff605f86015460101c1662ff0000825491151560101b169062ff00001916179055565b6060810160608401808203610885575b50610803565b5481546001600160a01b0319166001600160a01b039190911617905560618381015490820155388061087f565b610917906108d360ff605c87015416829060ff801983541691151516179055565b605c850154815461ff001916600891821c60ff16151590911b61ff001617815560ff605c86015460101c1662ff0000825491151560101b169062ff00001916179055565b605d8101605d840180820361092d575b506107f6565b5481546001600160a01b0319166001600160a01b0391909116179055605e83810154908201553880610927565b60ff82610979826109b4955416849060ff801983541691151516179055565b8054835461ff001916600891821c8416151590911b61ff00161783555b5460101c1662ff0000825491151560101b169062ff00001916179055565b605a8101605a8401808203156107e8575481546001600160a01b0319166001600160a01b0391909116179055605b838101549082015538806107e8565b60ff8261097982610a10955416849060ff801983541691151516179055565b6057810160578401808203156107d5575481546001600160a01b0319166001600160a01b03919091161790556058838101549082015538806107d5565b60ff8261097982610a6c955416849060ff801983541691151516179055565b6054810160548401808203156107c2575481546001600160a01b0319166001600160a01b03919091161790556055838101549082015538806107c2565b60ff8261097982610ac8955416849060ff801983541691151516179055565b6051810160518401808203156107af575481546001600160a01b0319166001600160a01b03919091161790556052838101549082015538806107af565b60ff8261097982610b24955416849060ff801983541691151516179055565b604e8101604e84018082031561079c575481546001600160a01b0319166001600160a01b0391909116179055604f8381015490820155388061079c565b60ff8261097982610b80955416849060ff801983541691151516179055565b604b8101604b840180820315610789575481546001600160a01b0319166001600160a01b0391909116179055604c83810154908201553880610789565b60ff8261097982610bdc955416849060ff801983541691151516179055565b604881016048840180820315610776575481546001600160a01b0319166001600160a01b0391909116179055604983810154908201553880610776565b60ff8261097982610c38955416849060ff801983541691151516179055565b604581016045840180820315610763575481546001600160a01b0319166001600160a01b0391909116179055604683810154908201553880610763565b60ff8261097982610c94955416849060ff801983541691151516179055565b604281016042840180820315610750575481546001600160a01b0319166001600160a01b0391909116179055604383810154908201553880610750565b60ff8261097982610cf0955416849060ff801983541691151516179055565b603f8101603f84018082031561073d575481546001600160a01b0319166001600160a01b039190911617905560408381015490820155388061073d565b60ff8261097982610d4c955416849060ff801983541691151516179055565b603c8101603c84018082031561072a575481546001600160a01b0319166001600160a01b0391909116179055603d8381015490820155388061072a565b60ff8261097982610da8955416849060ff801983541691151516179055565b603981016039840180820315610717575481546001600160a01b0319166001600160a01b0391909116179055603a83810154908201553880610717565b60ff8261097982610e04955416849060ff801983541691151516179055565b603681016036840180820315610704575481546001600160a01b0319166001600160a01b0391909116179055603783810154908201553880610704565b60ff8261097982610e60955416849060ff801983541691151516179055565b6033810160338401808203156106f1575481546001600160a01b0319166001600160a01b03919091161790556034838101549082015538806106f1565b60ff8261097982610ebc955416849060ff801983541691151516179055565b6030810160308401808203156106de575481546001600160a01b0319166001600160a01b03919091161790556031838101549082015538806106de565b60ff8261097982610f18955416849060ff801983541691151516179055565b602d8101602d8401808203156106cb575481546001600160a01b0319166001600160a01b0391909116179055602e838101549082015538806106cb565b60018060a01b039054166001600160601b0360a01b825416179055602a830154602a820155610f9a60ff602b85015416602b83019060ff801983541691151516179055565b3880610646565b60018060a01b039054166001600160601b0360a01b82541617905560278301546027820155610fe660ff602885015416602883019060ff801983541691151516179055565b3880610634565b60018060a01b039054166001600160601b0360a01b8254161790556024830154602482015561103260ff602585015416602583019060ff801983541691151516179055565b3880610622565b60018060a01b039054166001600160601b0360a01b8254161790556021830154602182015561107e60ff602285015416602283019060ff801983541691151516179055565b3880610610565b6110a560ff601285015416601283019060ff801983541691151516179055565b6110cf60ff601285015460081c16601283019061ff00825491151560081b169061ff001916179055565b601383015460138201556110f960ff601485015416601483019060ff801983541691151516179055565b6015830154601582015561050e565b634e487b7160e01b600052602160045260246000fd5b61112791615388565b6111376003830160038501615388565b388061041c565b61115d60e08301511515606383019060ff801983541691151516179055565b600080516020615cab8339815191526080835160405190815260406020820152601060408201526f69676e6f72655573657253706c69747360801b6060820152a161038c565b6111c5915060203d6020116111cb575b6111bd8183614fc7565b810190615143565b38610386565b503d6111b3565b6040513d6000823e3d90fd5b604060c0830151805160648401556020810151606584015501516066820155600080516020615cab8339815191526080835160405190815260406020820152600d60408201526c1cdc1b1a5d151bd31a5c5d5a59609a1b6060820152a1610321565b611259915060203d6020116111cb576111bd8183614fc7565b3861031b565b60098101548015908115611919575b50156102b6578054601a820154604051637768621360e11b815291602091839182916112b19142916001600160a01b0390811691163360328a016004870161515b565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156111d2576000916118fa575b5061184b575b8054601a820154604051637768621360e11b8152916020918391829161131c9142916001600160a01b0390811691163360358a016004870161515b565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156111d25760009161182c575b5061177d575b8054601a820154604051637768621360e11b815291602091839182916113879142916001600160a01b0390811691163360388a016004870161515b565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156111d25760009161175e575b50156102b6579060005b608082015180518210156114f7576113e6906001600160a01b03906113df9084906151f1565b5116615c26565b156114c15761142560018060a01b036114038360808601516151f1565b51166040516114208161141981601f8a016150a8565b0382614fc7565b615c3e565b90501561143b575b611436906151e2565b6113b9565b60808201516001600160a01b03906114549083906151f1565b511690601f840154600160401b8110156114ab57611436926114858260016114a49401601f890155601f880161521b565b90919082549060031b9160018060a01b03809116831b921b1916179055565b905061142d565b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c69644164647265737360901b6044820152606490fd5b50506000905b60a0810151805183101561171357611523906001600160a01b03906114039085906151f1565b611539575b5090611533906151e2565b906114fd565b601f8401548110156116ce575b601f840154806000198101116115ab57600019018110156115c1576001810181116115ab57806115a161158260016115a69401601f880161521b565b905460039190911b1c6001600160a01b031661148583601f890161521b565b6151e2565b611546565b634e487b7160e01b600052601160045260246000fd5b5090601f83015480156116b8576115df6000198201601f860161521b565b81549060018060a01b039060031b1b191690556000198101601f8501556040516020816000198401815201918183601f88016000526020600020926000905b6000198101821061169257505061163792500382614fc7565b51906001600160401b0382116114ab5761165482601f87016151c8565b601f8501600052602060002060005b83811061167557505050919091611528565b82516001600160a01b031681830155602090920191600101611663565b84546001600160a01b03168352600194850194869450602090930192919091019061161e565b634e487b7160e01b600052603160045260246000fd5b60405162461bcd60e51b815260206004820152601960248201527f4572726f7220696e2072656d6f76653a20696e7465726e616c000000000000006044820152606490fd5b50919050600080516020615cab833981519152608083516040519081526040602082015260116040820152701b585d1d5c9a5d1e55da1a5d195b1a5cdd607a1b6060820152a16102b6565b611777915060203d6020116111cb576111bd8183614fc7565b386113af565b60608201518051906001600160401b0382116114ab576020601e8401916117a484846151c8565b0190600052602060002060005b83811061180f5750505050600080516020615cab8339815191526080835160405190815260406020820152601760408201527f77686974656c6973746564436f6e7472696275746f72730000000000000000006060820152a161134a565b82516001600160a01b0316818301556020909201916001016117b1565b611845915060203d6020116111cb576111bd8183614fc7565b38611344565b60408201518051906001600160401b0382116114ab576020601d84019161187284846151c8565b0190600052602060002060005b8381106118dd5750505050600080516020615cab8339815191526080835160405190815260406020820152601860408201527f77686974656c697374656442656e6566696369617269657300000000000000006060820152a16112df565b82516001600160a01b03168183015560209092019160010161187f565b611913915060203d6020116111cb576111bd8183614fc7565b386112d9565b905042103861126e565b60405162461bcd60e51b8152602060048201526012602482015271155c19185d195cd0599d195c90db1bdcd95960721b6044820152606490fd5b600080fd5b3461195d5761098036600319011261195d5760405161020081018181106001600160401b038211176114ab57604052600435815260a036602319011261195d576040516119ae81614f76565b602435801515810361195d578152604435801515810361195d576020820152606435801515810361195d576040820152604060831936011261195d576040516119f681614f91565b6084356001600160a01b038116810361195d57815260a43560208201526060820152602082015260a060c31936011261195d57604051611a3581614f76565b60c435801515810361195d57815260e435801515810361195d57602082015261010435801515810361195d57604082015260406101231936011261195d57604051611a7f81614f91565b610124356001600160a01b038116810361195d5781526101443560208201526060820152604082015260a03661016319011261195d57604051611ac181614f76565b61016435801515810361195d57815261018435801515810361195d5760208201526101a435801515810361195d57604082015260406101c31936011261195d57604051611b0d81614f91565b6101c4356001600160a01b038116810361195d5781526101e43560208201526060820152606082015260a06102031936011261195d57604051611b4f81614f76565b61020435801515810361195d57815261022435801515810361195d57602082015261024435801515810361195d57604082015260406102631936011261195d57604051611b9b81614f91565b610264356001600160a01b038116810361195d5781526102843560208201526060820152608082015260a0366102a319011261195d57604051611bdd81614f76565b6102a435801515810361195d5781526102c435801515810361195d5760208201526102e435801515810361195d57604082015260406103031936011261195d57604051611c2981614f91565b610304356001600160a01b038116810361195d578152610324356020820152606082015260a082015260a06103431936011261195d57604051611c6b81614f76565b61034435801515810361195d57815261036435801515810361195d57602082015261038435801515810361195d57604082015260406103a31936011261195d57604051611cb781614f91565b6103a4356001600160a01b038116810361195d5781526103c4356020820152606082015260c082015260a0366103e319011261195d57604051611cf981614f76565b6103e435801515810361195d57815261040435801515810361195d57602082015261042435801515810361195d57604082015260406104431936011261195d57604051611d4581614f91565b610444356001600160a01b038116810361195d578152610464356020820152606082015260e082015260a03661048319011261195d57604051611d8781614f76565b61048435801515810361195d5781526104a435801515810361195d5760208201526104c435801515810361195d57604082015260406104e31936011261195d57604051611dd381614f91565b6104e4356001600160a01b038116900361195d576104e4358152610504356020820152606082015261010082015260a03661052319011261195d57604051611e1a81614f76565b61052435801515810361195d57815261054435801515810361195d57602082015261056435801515810361195d57604082015260406105831936011261195d57604051611e6681614f91565b610584356001600160a01b038116810361195d5781526105a4356020820152606082015261012082015260a0366105c319011261195d57604051611ea981614f76565b6105c435801515810361195d5781526105e435801515810361195d57602082015261060435801515810361195d57604082015260406106231936011261195d57604051611ef581614f91565b610624356001600160a01b038116810361195d578152610644356020820152606082015261014082015260a03661066319011261195d57604051611f3881614f76565b61066435801515810361195d57815261068435801515810361195d5760208201526106a435801515810361195d57604082015260406106c31936011261195d57604051611f8481614f91565b6106c4356001600160a01b038116810361195d5781526106e4356020820152606082015261016082015260a03661070319011261195d57604051611fc781614f76565b61070435801515810361195d57815261072435801515810361195d57602082015261074435801515810361195d57604082015260406107631936011261195d5760405161201381614f91565b610764356001600160a01b038116810361195d578152610784356020820152606082015261018082015260a0366107a319011261195d5760405161205681614f76565b6107a435801515810361195d5781526107c435801515810361195d5760208201526107e435801515810361195d57604082015260406108031936011261195d576040516120a281614f91565b610804356001600160a01b038116810361195d57815261082435602082015260608201526101a082015260a03661084319011261195d576040516120e581614f76565b61084435801515810361195d57815261086435801515810361195d57602082015261088435801515810361195d57604082015260406108a31936011261195d5760405161213181614f91565b6108a4356001600160a01b038116810361195d5781526108c435602082015260608201526101c082015260a0366108e319011261195d5760405161217481614f76565b6108e435801515810361195d57815261090435801515810361195d57602082015261092435801515810361195d57604082015260406109431936011261195d576040516121c081614f91565b610944356001600160a01b038116810361195d57815261096435602082015260608201526101e08201526121f2615b4e565b8051600052600080516020615ccb833981519152602052604060002081516000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4160205260406000206040519061224982614f76565b60405161225581614f91565b8154815260018201546020820152825260405161227181614f91565b61227d600283016150ee565b815261228b600583016150ee565b60208201526020830152606060ff6008830154169260408101931515845260ff600b604051946122ba86614f91565b6040516122c681614f91565b60098201548152600a8201546001600160a01b0316602082015286520154166122ee81615139565b6020840152015251611923578054601a820154604051637768621360e11b815291602091839182916123379142916001600160a01b03908116911633602c8a016004870161515b565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156111d257600091613c43575b5015613c0f57602060608184015161238981511515602c86019060ff801983541691151516179055565b80830151602c8501805461ff00191691151560081b61ff00169190911790556040810151602c8501805462ff0000191691151560101b62ff000016919091179055015160018060a01b038151166001600160601b0360a01b602d8501541617602d8401550151602e82015560206060604084015161241981511515605086019060ff801983541691151516179055565b8083015160508501805461ff00191691151560081b61ff0016919091179055604081015160508501805462ff0000191691151560101b62ff000016919091179055015160018060a01b038151166001600160601b0360a01b6051850154161760518401550151605282015560206060808401516124a881511515605386019060ff801983541691151516179055565b8083015160538501805461ff00191691151560081b61ff0016919091179055604081015160538501805462ff0000191691151560101b62ff000016919091179055015160018060a01b038151166001600160601b0360a01b6054850154161760548401550151605582015560206060608084015161253881511515605686019060ff801983541691151516179055565b8083015160568501805461ff00191691151560081b61ff0016919091179055604081015160568501805462ff0000191691151560101b62ff000016919091179055015160018060a01b038151166001600160601b0360a01b605785015416176057840155015160588201556020606060a08401516125c881511515605986019060ff801983541691151516179055565b8083015160598501805461ff00191691151560081b61ff0016919091179055604081015160598501805462ff0000191691151560101b62ff000016919091179055015160018060a01b038151166001600160601b0360a01b605a8501541617605a8401550151605b8201556020606060c084015161265881511515604d86019060ff801983541691151516179055565b80830151604d8501805461ff00191691151560081b61ff00169190911790556040810151604d8501805462ff0000191691151560101b62ff000016919091179055015160018060a01b038151166001600160601b0360a01b604e8501541617604e8401550151604f8201556020606060e08401516126e881511515605c86019060ff801983541691151516179055565b80830151605c8501805461ff00191691151560081b61ff00169190911790556040810151605c8501805462ff0000191691151560101b62ff000016919091179055015160018060a01b038151166001600160601b0360a01b605d8501541617605d8401550151605e8201556020606061010084015161277981511515605f86019060ff801983541691151516179055565b80830151605f8501805461ff00191691151560081b61ff00169190911790556040810151605f8501805462ff0000191691151560101b62ff000016919091179055015160018060a01b038151166001600160601b0360a01b606085015416176060840155015160618201556020606061012084015161280a81511515603286019060ff801983541691151516179055565b8083015160328501805461ff00191691151560081b61ff0016919091179055604081015160328501805462ff0000191691151560101b62ff000016919091179055015160018060a01b038151166001600160601b0360a01b603385015416176033840155015160348201556020606061014084015161289b81511515603586019060ff801983541691151516179055565b8083015160358501805461ff00191691151560081b61ff0016919091179055604081015160358501805462ff0000191691151560101b62ff000016919091179055015160018060a01b038151166001600160601b0360a01b603685015416176036840155015160378201556020606061016084015161292c81511515603886019060ff801983541691151516179055565b8083015160388501805461ff00191691151560081b61ff0016919091179055604081015160388501805462ff0000191691151560101b62ff000016919091179055015160018060a01b038151166001600160601b0360a01b6039850154161760398401550151603a820155602060606101808401516129bd81511515604186019060ff801983541691151516179055565b8083015160418501805461ff00191691151560081b61ff0016919091179055604081015160418501805462ff0000191691151560101b62ff000016919091179055015160018060a01b038151166001600160601b0360a01b60428501541617604284015501516043820155602060606101a0840151612a4e81511515604786019060ff801983541691151516179055565b8083015160478501805461ff00191691151560081b61ff0016919091179055604081015160478501805462ff0000191691151560101b62ff000016919091179055015160018060a01b038151166001600160601b0360a01b60488501541617604884015501516049820155602060606101c0840151612adf81511515604486019060ff801983541691151516179055565b8083015160448501805461ff00191691151560081b61ff0016919091179055604081015160448501805462ff0000191691151560101b62ff000016919091179055015160018060a01b038151166001600160601b0360a01b60458501541617604584015501516046820155602060606101e0840151612b7081511515604a86019060ff801983541691151516179055565b82810151604a8501805460408085015162ff000090151560101b1662ffff001990921661ff0094151560081b94909416939093171790559101518051604b850180546001600160a01b0319166001600160a01b039290921691909117905590910151604c83015582516000908152600080516020615ccb8339815191526020522091818303612c5f575b600080516020615c8b8339815191529250600080516020615cab8339815191526080825160405190815260406020820152601360408201527232b73237bbb6b2b73a21b7b73a3937b63632b960691b6060820152a1516103d2604051928392836156fb565b815483546001600160a01b0319166001600160a01b0391909116178355612c8c600183810190850161526d565b6002830160028301808203613bef575b50506004820154600484015560ff60058301541692600384101561110857600080516020615c8b8339815191529360ff199081600584015416176005830155612ceb600685016006840161526d565b612cfb600785016007840161526d565b60ff60088501541690612d0d82615139565b600883015416176008820155612d4360ff600885015460081c16600883019061ff00825491151560081b169061ff001916179055565b612d6f60ff600885015460101c16600883019062ff0000825491151560101b169062ff00001916179055565b60098301546009820155612d89600a8401600a83016154cc565b612d99600e8401600e83016154cc565b828103613b6c575b612dc160ff601685015416601683019060ff801983541691151516179055565b601783810154908201556018808401549082015560198084015490820155601a8084015490820180546001600160a01b03199081166001600160a01b0393841617909155601b80860180549185018054938416929094169182178455546001600160a81b03199092161760a091821c60ff16151590911b60ff60a01b16179055601c810160018060a01b03601c850154166001600160601b0360a01b825416179055612e73601d8401601d8301615510565b612e83601e8401601e8301615510565b612e93601f8401601f8301615510565b6020810160208401808203613b20575b50506023810160238401808203613ad4575b50506026810160268401808203613a88575b50506029810160298401808203613a3c575b5050602c8101602c840181141580612f56575b505060628301546062820155612f1860ff606385015416606383019060ff801983541691151516179055565b6064810160648401808203612f38575b5050606780840154910155612bfa565b54905560658301546065820155606683015460668201558480612f28565b61399c575b50602f8101602f840190818103613940575b5050603281018382036138a0575b5060358101838203613800575b5060388101838203613760575b50603b8101603b840190818103613704575b5050603e8101603e8401908181036136a8575b505060418101838203613608575b5060448101838203613568575b50604781018382036134c8575b50604a8101838203613428575b50604d8101838203613388575b50605081018382036132e8575b5060538101838203613248575b50605681018382036131a8575b5060598101838203613108575b50605c81018382036130ac575b50605f8101838203613050575b80612eec565b6130719061082b60ff605f87015416829060ff801983541691151516179055565b6060810183821461304a57606084015481546001600160a01b0319166001600160a01b0391909116179055606180840154908201558461304a565b6130cd906108d360ff605c87015416829060ff801983541691151516179055565b605d810183821461303d57605d84015481546001600160a01b0319166001600160a01b0391909116179055605e80840154908201558461303d565b61316d9061312960ff605987015416829060ff801983541691151516179055565b6059850154815461ff001916600891821c60ff16151590911b61ff001617815560ff605986015460101c1662ff0000825491151560101b169062ff00001916179055565b605a810183821461303057605a84015481546001600160a01b0319166001600160a01b0391909116179055605b808401549082015584613030565b61320d906131c960ff605687015416829060ff801983541691151516179055565b6056850154815461ff001916600891821c60ff16151590911b61ff001617815560ff605686015460101c1662ff0000825491151560101b169062ff00001916179055565b6057810183821461302357605784015481546001600160a01b0319166001600160a01b03919091161790556058808401549082015584613023565b6132ad9061326960ff605387015416829060ff801983541691151516179055565b6053850154815461ff001916600891821c60ff16151590911b61ff001617815560ff605386015460101c1662ff0000825491151560101b169062ff00001916179055565b6054810183821461301657605484015481546001600160a01b0319166001600160a01b03919091161790556055808401549082015584613016565b61334d9061330960ff605087015416829060ff801983541691151516179055565b6050850154815461ff001916600891821c60ff16151590911b61ff001617815560ff605086015460101c1662ff0000825491151560101b169062ff00001916179055565b6051810183821461300957605184015481546001600160a01b0319166001600160a01b03919091161790556052808401549082015584613009565b6133ed906133a960ff604d87015416829060ff801983541691151516179055565b604d850154815461ff001916600891821c60ff16151590911b61ff001617815560ff604d86015460101c1662ff0000825491151560101b169062ff00001916179055565b604e8101838214612ffc57604e84015481546001600160a01b0319166001600160a01b0391909116179055604f808401549082015584612ffc565b61348d9061344960ff604a87015416829060ff801983541691151516179055565b604a850154815461ff001916600891821c60ff16151590911b61ff001617815560ff604a86015460101c1662ff0000825491151560101b169062ff00001916179055565b604b8101838214612fef57604b84015481546001600160a01b0319166001600160a01b0391909116179055604c808401549082015584612fef565b61352d906134e960ff604787015416829060ff801983541691151516179055565b6047850154815461ff001916600891821c60ff16151590911b61ff001617815560ff604786015460101c1662ff0000825491151560101b169062ff00001916179055565b60488101838214612fe257604884015481546001600160a01b0319166001600160a01b03919091161790556049808401549082015584612fe2565b6135cd9061358960ff604487015416829060ff801983541691151516179055565b6044850154815461ff001916600891821c60ff16151590911b61ff001617815560ff604486015460101c1662ff0000825491151560101b169062ff00001916179055565b60458101838214612fd557604584015481546001600160a01b0319166001600160a01b03919091161790556046808401549082015584612fd5565b61366d9061362960ff604187015416829060ff801983541691151516179055565b6041850154815461ff001916600891821c60ff16151590911b61ff001617815560ff604186015460101c1662ff0000825491151560101b169062ff00001916179055565b60428101838214612fc857604284015481546001600160a01b0319166001600160a01b03919091161790556043808401549082015584612fc8565b60ff82610979826136c7955416849060ff801983541691151516179055565b603f8101603f840180820315612fba575481546001600160a01b0319166001600160a01b0391909116179055604083810154908201558480612fba565b60ff8261097982613723955416849060ff801983541691151516179055565b603c8101603c840180820315612fa7575481546001600160a01b0319166001600160a01b0391909116179055603d83810154908201558480612fa7565b6137c59061378160ff603887015416829060ff801983541691151516179055565b6038850154815461ff001916600891821c60ff16151590911b61ff001617815560ff603886015460101c1662ff0000825491151560101b169062ff00001916179055565b60398101838214612f9557603984015481546001600160a01b0319166001600160a01b0391909116179055603a808401549082015584612f95565b6138659061382160ff603587015416829060ff801983541691151516179055565b6035850154815461ff001916600891821c60ff16151590911b61ff001617815560ff603586015460101c1662ff0000825491151560101b169062ff00001916179055565b60368101838214612f8857603684015481546001600160a01b0319166001600160a01b03919091161790556037808401549082015584612f88565b613905906138c160ff603287015416829060ff801983541691151516179055565b6032850154815461ff001916600891821c60ff16151590911b61ff001617815560ff603286015460101c1662ff0000825491151560101b169062ff00001916179055565b60338101838214612f7b57603384015481546001600160a01b0319166001600160a01b03919091161790556034808401549082015584612f7b565b60ff826109798261395f955416849060ff801983541691151516179055565b603081016030840180820315612f6d575481546001600160a01b0319166001600160a01b0391909116179055603183810154908201558480612f6d565b613a01906139bd60ff602c87015416829060ff801983541691151516179055565b602c850154815461ff001916600891821c60ff16151590911b61ff001617815560ff602c86015460101c1662ff0000825491151560101b169062ff00001916179055565b602d8101838214612f5b57602d84015481546001600160a01b0319166001600160a01b0391909116179055602e808401549082015584612f5b565b60018060a01b039054166001600160601b0360a01b825416179055602a830154602a820155613a8160ff602b85015416602b83019060ff801983541691151516179055565b8480612ed9565b60018060a01b039054166001600160601b0360a01b82541617905560278301546027820155613acd60ff602885015416602883019060ff801983541691151516179055565b8480612ec7565b60018060a01b039054166001600160601b0360a01b82541617905560248301546024820155613b1960ff602585015416602583019060ff801983541691151516179055565b8480612eb5565b60018060a01b039054166001600160601b0360a01b82541617905560218301546021820155613b6560ff602285015416602283019060ff801983541691151516179055565b8480612ea3565b613b8c60ff601285015416601283019060ff801983541691151516179055565b613bb660ff601285015460081c16601283019061ff00825491151560081b169061ff001916179055565b60138301546013820155613be060ff601485015416601483019060ff801983541691151516179055565b60158301546015820155612da1565b613bf891615388565b613c086003830160038501615388565b8380612c9c565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b613c5c915060203d6020116111cb576111bd8183614fc7565b8361235f565b3461195d576101a036600319011261195d57610120604052600435608052606036602319011261195d57604051613c9881614fac565b6024356001600160a01b038116810361195d5781526044356020820152606435801515810361195d57604082015260a052606036608319011261195d57604051613ce181614fac565b6084356001600160a01b038116810361195d57815260a435602082015260c435801515810361195d57604082015260c05260603660e319011261195d57604051613d2a81614fac565b60e4356001600160a01b038116810361195d57815261010435602082015261012435801515810361195d57604082015260e05260603661014319011261195d57604051613d7681614fac565b610144356001600160a01b038116810361195d57815261016435602082015261018435801515810361195d57604082015261010052613db3615b4e565b608051600052600080516020615ccb8339815191526020526040600020600581019060ff82541660038110156111085715614f18578054601a820154604051637768621360e11b81529160209183918291613e259142916001600160a01b0390811691163360418a016004870161515b565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156111d257600091614ef9575b50614ea7575b8054601a820154604051637768621360e11b81529160209183918291613e909142916001600160a01b0390811691163360478a016004870161515b565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156111d257600091614e88575b50614e37575b8054601a820154604051637768621360e11b81529160209183918291613efb9142916001600160a01b0390811691163360448a016004870161515b565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156111d257600091614e18575b50614dc6575b8054601a820154604051637768621360e11b81529160209183918291613f669142916001600160a01b03908116911633604a8a016004870161515b565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156111d257600091614da7575b50614d56575b608051600052600080516020615ccb833981519152602052604060002091818303613fdc575b600080516020615c8b833981519152826080516103d2604051928392836156fb565b815483546001600160a01b0319166001600160a01b039190911617835560ff9061400c600184810190860161526d565b6002840160028401808203614d36575b505060048301546004850155541691600383101561110857600080516020615c8b8339815191529260ff19600583015416176005820155614063600683016006830161526d565b614073600783016007830161526d565b6140ba6008830160ff808254169161408a83615139565b6008850192821984541617835561099682825460081c16849061ff00825491151560081b169061ff001916179055565b600982015460098201556140d4600a8301600a83016154cc565b6140e4600e8301600e83016154cc565b818103614cb3575b61410c60ff601684015416601683019060ff801983541691151516179055565b601782810154908201556018808301549082015560198083015490820155601a8083015490820180546001600160a01b03199081166001600160a01b0393841617909155601b80850180549185018054938416929094169182178455546001600160a81b03199092161760a091821c60ff16151590911b60ff60a01b16179055601c810160018060a01b03601c840154166001600160601b0360a01b8254161790556141be601d8301601d8301615510565b6141ce601e8301601e8301615510565b6141de601f8301601f8301615510565b6020810160208301808203614c67575b50506023810160238301808203614c1b575b50506026810160268301808203614bcf575b50506029810160298301808203614b83575b5050602c8101602c83019081811415806142a5575b5050506062820154606282015561426660ff606384015416606383019060ff801983541691151516179055565b6064810160648301808203614287575b505060678083015491015582613fba565b54905560658201546065820155606682015460668201558380614276565b614b27575b5050602f8101602f830190818103614acb575b5050603281016032830190818103614a6f575b5050603581016035830190818103614a13575b50506038810160388301908181036149b7575b5050603b8101603b83019081810361495b575b5050603e8101603e8301908181036148ff575b505060418101828203614857575b50604481018282036147af575b5060478101828203614707575b50604a810182820361465f575b50604d8101604d830190818103614603575b50506050810160508301908181036145a7575b505060538101605383019081810361454b575b50506056810160568301908181036144ef575b5050605981016059830190818103614493575b5050605c8101605c830190818103614437575b5050605f8101605f8301908181036143db575b80614239565b60ff82610979826143fa955416849060ff801983541691151516179055565b6060810160608301808203156143d5575481546001600160a01b0319166001600160a01b03919091161790556061828101549082015583806143d5565b60ff8261097982614456955416849060ff801983541691151516179055565b605d8101605d8301808203156143c2575481546001600160a01b0319166001600160a01b0391909116179055605e828101549082015583806143c2565b60ff82610979826144b2955416849060ff801983541691151516179055565b605a8101605a8301808203156143af575481546001600160a01b0319166001600160a01b0391909116179055605b828101549082015583806143af565b60ff826109798261450e955416849060ff801983541691151516179055565b60578101605783018082031561439c575481546001600160a01b0319166001600160a01b039190911617905560588281015490820155838061439c565b60ff826109798261456a955416849060ff801983541691151516179055565b605481016054830180820315614389575481546001600160a01b0319166001600160a01b0391909116179055605582810154908201558380614389565b60ff82610979826145c6955416849060ff801983541691151516179055565b605181016051830180820315614376575481546001600160a01b0319166001600160a01b0391909116179055605282810154908201558380614376565b60ff8261097982614622955416849060ff801983541691151516179055565b604e8101604e830180820315614363575481546001600160a01b0319166001600160a01b0391909116179055604f82810154908201558380614363565b6146c49061468060ff604a86015416829060ff801983541691151516179055565b604a840154815461ff001916600891821c60ff16151590911b61ff001617815560ff604a85015460101c1662ff0000825491151560101b169062ff00001916179055565b604b8101604b83018082036146da575b50614351565b5481546001600160a01b0319166001600160a01b0391909116179055604c828101549082015583806146d4565b61476c9061472860ff604786015416829060ff801983541691151516179055565b6047840154815461ff001916600891821c60ff16151590911b61ff001617815560ff604785015460101c1662ff0000825491151560101b169062ff00001916179055565b6048810160488301808203614782575b50614344565b5481546001600160a01b0319166001600160a01b039190911617905560498281015490820155838061477c565b614814906147d060ff604486015416829060ff801983541691151516179055565b6044840154815461ff001916600891821c60ff16151590911b61ff001617815560ff604485015460101c1662ff0000825491151560101b169062ff00001916179055565b604581016045830180820361482a575b50614337565b5481546001600160a01b0319166001600160a01b0391909116179055604682810154908201558380614824565b6148bc9061487860ff604186015416829060ff801983541691151516179055565b6041840154815461ff001916600891821c60ff16151590911b61ff001617815560ff604185015460101c1662ff0000825491151560101b169062ff00001916179055565b60428101604283018082036148d2575b5061432a565b5481546001600160a01b0319166001600160a01b03919091161790556043828101549082015583806148cc565b60ff826109798261491e955416849060ff801983541691151516179055565b603f8101603f83018082031561431c575481546001600160a01b0319166001600160a01b039190911617905560408281015490820155838061431c565b60ff826109798261497a955416849060ff801983541691151516179055565b603c8101603c830180820315614309575481546001600160a01b0319166001600160a01b0391909116179055603d82810154908201558380614309565b60ff82610979826149d6955416849060ff801983541691151516179055565b6039810160398301808203156142f6575481546001600160a01b0319166001600160a01b0391909116179055603a828101549082015583806142f6565b60ff8261097982614a32955416849060ff801983541691151516179055565b6036810160368301808203156142e3575481546001600160a01b0319166001600160a01b03919091161790556037828101549082015583806142e3565b60ff8261097982614a8e955416849060ff801983541691151516179055565b6033810160338301808203156142d0575481546001600160a01b0319166001600160a01b03919091161790556034828101549082015583806142d0565b60ff8261097982614aea955416849060ff801983541691151516179055565b6030810160308301808203156142bd575481546001600160a01b0319166001600160a01b03919091161790556031828101549082015583806142bd565b60ff8261097982614b46955416849060ff801983541691151516179055565b602d8101602d8301808203156142aa575481546001600160a01b0319166001600160a01b0391909116179055602e828101549082015583806142aa565b60018060a01b039054166001600160601b0360a01b825416179055602a820154602a820155614bc860ff602b84015416602b83019060ff801983541691151516179055565b8380614224565b60018060a01b039054166001600160601b0360a01b82541617905560278201546027820155614c1460ff602884015416602883019060ff801983541691151516179055565b8380614212565b60018060a01b039054166001600160601b0360a01b82541617905560248201546024820155614c6060ff602584015416602583019060ff801983541691151516179055565b8380614200565b60018060a01b039054166001600160601b0360a01b82541617905560218201546021820155614cac60ff602284015416602283019060ff801983541691151516179055565b83806141ee565b614cd360ff601284015416601283019060ff801983541691151516179055565b614cfd60ff601284015460081c16601283019061ff00825491151560081b169061ff001916179055565b60138201546013820155614d2760ff601484015416601483019060ff801983541691151516179055565b601582015460158201556140ec565b614d3f91615388565b614d4f6003840160038601615388565b848061401c565b614da2604060808001516029840160018060a01b038251166001600160601b0360a01b8254161790556020810151602a85015501511515602b83019060ff801983541691151516179055565b613f94565b614dc0915060203d6020116111cb576111bd8183614fc7565b83613f8e565b614e1360406060608001516023840160018060a01b038251166001600160601b0360a01b8254161790556020810151602485015501511515602583019060ff801983541691151516179055565b613f29565b614e31915060203d6020116111cb576111bd8183614fc7565b83613f23565b614e83604080608001516026840160018060a01b038251166001600160601b0360a01b8254161790556020810151602785015501511515602883019060ff801983541691151516179055565b613ebe565b614ea1915060203d6020116111cb576111bd8183614fc7565b83613eb8565b614ef460406020608001516020840160018060a01b038251166001600160601b0360a01b8254161790556020810151602185015501511515602283019060ff801983541691151516179055565b613e53565b614f12915060203d6020116111cb576111bd8183614fc7565b83613e4d565b60405162461bcd60e51b815260206004820152603060248201527f4368617269747920456e646f776d656e7473206d6179206e6f74206368616e6760448201526f6520656e646f776d656e74206665657360801b6064820152608490fd5b608081019081106001600160401b038211176114ab57604052565b604081019081106001600160401b038211176114ab57604052565b606081019081106001600160401b038211176114ab57604052565b90601f801991011681019081106001600160401b038211176114ab57604052565b3590811515820361195d57565b9080601f8301121561195d578135906001600160401b0382116114ab578160051b6040519360209361502985840187614fc7565b8552838086019282010192831161195d578301905b82821061504c575050505090565b81356001600160a01b038116810361195d57815290830190830161503e565b90815480825260208092019260005281600020916000905b828210615091575050505090565b835485529384019360019384019390910190615083565b90815480825260208092019260005281600020916000905b8282106150ce575050505090565b83546001600160a01b0316855293840193600193840193909101906150c0565b906002604080516150fe81614fac565b615135819580548352835161511a81611419816001860161506b565b602084015261512e845180968193016150a8565b0384614fc7565b0152565b6004111561110857565b9081602091031261195d5751801515810361195d5790565b9081526001600160a01b03918216602082015291811660408301529091166060820152608081019190915260a00190565b818110615197575050565b6000815560010161518c565b918181106151b057505050565b6151c6926000526020600020918201910161518c565b565b90600160401b81116114ab5781548183556151c6926151a3565b60001981146115ab5760010190565b80518210156152055760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b80548210156152055760005260206000200190600090565b90600182811c92168015615263575b602083101461524d57565b634e487b7160e01b600052602260045260246000fd5b91607f1691615242565b908082146153845761527f8154615233565b906001600160401b0382116114ab57819061529a8454615233565b601f8111615347575b50600090601f83116001146152db576000926152d0575b50508160011b916000199060031b1c1916179055565b0154905038806152ba565b81526020808220858352818320935090601f1985169083905b82821061532e575050908460019594939210615315575b505050811b019055565b015460001960f88460031b161c1916905538808061530b565b84958192958501548155600180910196019401906152f4565b61537490856000526020600020601f850160051c8101916020861061537a575b601f0160051c019061518c565b386152a3565b9091508190615367565b5050565b818114615384578154916001600160401b0383116114ab57600160401b83116114ab576153ba838354818555846151a3565b60005260206000209060005260206000208154916000925b8484106153e0575050505050565b60018091920193845492818501550192906153d2565b81811461538457815491600160401b83116114ab578154838355808410615457575b506000526020600020906000526020600020906000905b83821061543c5750505050565b806154496001928561526d565b92810192918101910161542f565b600083815260208581832093840193015b83811061547757505050615418565b808361548560019354615233565b80615493575b505001615468565b601f80821185146154aa57505081555b833861548b565b6154c390848452868420920160051c820185830161518c565b818355556154a3565b8181036154d7575050565b600380836154e86151c695856153f6565b6154f86001820160018601615388565b61550860028201600286016153f6565b019101615388565b818114615384578154916001600160401b0383116114ab5761553283836151c8565b60005260206000209060005260206000208154916000925b848410615558575050505050565b600191820180546001600160a01b039092168486015593909101929061554a565b906000929180549161558a83615233565b9182825260019384811690816000146155ec57506001146155ac575b50505050565b90919394506000526020928360002092846000945b8386106155d85750505050010190388080806155a6565b8054858701830152940193859082016155c1565b9294505050602093945060ff191683830152151560051b010190388080806155a6565b908154808252602080920191828260051b84019460005281600020936000915b84831061563f5750505050505090565b909192939495846001615658838583950387528a615579565b980193019301919493929061562f565b9060036156b792608083526156a8615697615686608086018461560f565b85810360208701526001840161506b565b84810360408601526002830161560f565b9260608185039101520161506b565b90565b600260809160ff815481811615158652818160081c161515602087015260101c161515604085015260018060a01b0360018201541660608501520154910152565b9081526040602082015260018060a01b0391828154166040830152611120806060840152615730611160840160018401615579565b91615768603f19938486820301608087015260408152615756604082016002850161506b565b9060208183039101526003830161506b565b91600482015460a086015260ff95866005840154169460038610156111085761590b6158f761591f9361583b6158278c8c6101606157d88c6111409f60679f6157c69060079260c08801528d8782030160e088015260068401615579565b918c8684030161010087015201615579565b9260088d01548181166157ea81615139565b610120850152600881901c8216151561014085015260101c16151591015260098a01546101808e01528c810387016101a08e0152600a8a01615668565b858c8203016101c08d0152600e8901615668565b6012880154808d1615156101e08d015260081c8c1615156102008c015260138801546102208c015260148801548c1615156102408c015260158801546102608c015260168801548c1615156102808c015260178801546102a08c015260188801546102c08c015260198801546102e08c0152601a88015482166103008c0152601b8801548083166103208d015260a01c8c1615156103408c0152601c8801549091166103608b015289810384016103808b0152601d87016150a8565b82898203016103a08a0152601e86016150a8565b90878203016103c0880152601f84016150a8565b60208301546001600160a01b03166103e08701526021830154610400870152602283015460ff1615156104208701529560238301546001600160a01b03166104408701526024830154610460870152602583015460ff16151561048087015260268301546001600160a01b03166104a087015260278301546104c0870152602883015460ff1615156104e087015260298301546001600160a01b0316610500870152602a830154610520870152602b83015460ff1615156105408701526159ed6105608701602c85016156ba565b6159fe6106008701602f85016156ba565b615a0f6106a08701603285016156ba565b615a206107408701603585016156ba565b615a316107e08701603885016156ba565b615a426108808701603b85016156ba565b615a536109208701603e85016156ba565b615a646109c08701604185016156ba565b615a75610a608701604485016156ba565b615a86610b008701604785016156ba565b615a97610ba08701604a85016156ba565b615aa8610c408701604d85016156ba565b615ab9610ce08701605085016156ba565b615aca610d808701605385016156ba565b615adb610e208701605685016156ba565b615aec610ec08701605985016156ba565b615afd610f608701605c85016156ba565b615b0e6110008701605f85016156ba565b60628301546110a087015260638301541615156110c086015260648201546110e08601526065820154611100860152606682015490850152015491015290565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff8160a01c16158015615be6575b15615ba157333003615b90575050565b60ff60a01b1916600160a01b179055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50333014615b80565b333003615bf857565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff60a01b19169055565b6001600160a01b031615615c3957600190565b600090565b9060005b8251811015615c7f576001600160a01b0380615c5e83866151f1565b511690831614615c7657615c71906151e2565b615c42565b91505090600190565b50505060009060009056fe364502d723e5ab665a7fdb51cffd24931248ebbf2a52d809c6fd1e9005b4dd9e7df43fc6494df2b30019e35da70862e20eee3809be672605eb373a1c0c9b65bef42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42a26469706673582212209b41af7def2f6b38be974dffe960dd2936987ad59510df0e35ab93a2665e36be64736f6c63430008120033"; + "0x6080806040523461001657613b08908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80634c2b54b31461192b5780636844900714610db35763891529011461003d57600080fd5b34610d9857610120366003190112610d985760405160a081018181106001600160401b03821117610d9d57604052610073612d0a565b81526040366023190112610d985760405161008d81612cce565b6024356001600160a01b0381168103610d98578152604435602082015260208201526040606319360112610d98576040516100c781612cce565b6064356001600160a01b0381168103610d9857815260843560208201526040820152604060a319360112610d985760405161010181612cce565b60a4356001600160a01b0381168103610d9857815260c4356020820152606082015260403660e3190112610d985760405161013b81612cce565b60e4356001600160a01b0381168103610d985781526101043560208201526080820152610166613956565b61017663ffffffff825116612da0565b60ff6005820154166002811015610b2f5715610d3a576101ac60ff60066101a363ffffffff865116612dd5565b01541615612e0a565b805460405163bb37a28360e01b815290602090829081906101e09042906001600160a01b0316336039890160048601612e63565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115610bee57600091610d1b575b50610cd0575b805460405163bb37a28360e01b815290602090829081906102429042906001600160a01b031633603f890160048601612e63565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115610bee57600091610cb1575b50610c65575b805460405163bb37a28360e01b815290602090829081906102a49042906001600160a01b031633603c890160048601612e63565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115610bee57600091610c46575b50610bfa575b805460405163bb37a28360e01b815290602090829081906103069042906001600160a01b0316336042890160048601612e63565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115610bee57600091610bbf575b50610b65575b61034463ffffffff835116612da0565b818103610380575b5063ffffffff600080516020613ab383398151915292511661037360405192839283613498565b0390a161037e6139f7565b005b60018060a01b03825416926bffffffffffffffffffffffff60a01b93848354161782556103b36001840160018401612fb2565b6002820160028401808203610b45575b50506004830154600483015560ff600584015416916002831015610b2f57600080516020613ab38339815191529463ffffffff93600583019060ff198254161790556104156006860160068401612fb2565b6104256007860160078401612fb2565b6008850154600883015561043f6009860160098401613211565b61044f600d8601600d8401613211565b6011820160118601808203610a6c575b505061048160ff601287015416601284019060ff801983541691151516179055565b60138501546013830155601485015460148301556015820160018060a01b03601587015416828254161790556016820160018060a01b03601687015416828254161790556105046017830160ff6017880160018060a01b03815416858454161783555460a01c1681549060ff60a01b90151560a01b169060ff60a01b1916179055565b601882019060018060a01b036018870154169082541617905561052d6019850160198301613255565b61053d601a8501601a8301613255565b61054d601b8501601b8301613255565b61055d601c8501601c83016132be565b61056d601e8501601e83016132be565b61057d60208501602083016132be565b61058d60228501602283016132be565b602481016024850190818114158061061e575b5050506105de6057820160ff605787018681541687198454161783555460201c1664ff00000000825491151560201b169064ff000000001916179055565b6058810160588501808203610600575b5050605b80850154910155925061034c565b54905560598401546059820155605a840154605a82015538806105ee565b610a3d575b5050602781016027850190818103610a0e575b5050602a8101602a8501908181036109df575b5050602d8101602d8501908181036109b0575b5050603081016030850190818103610981575b5050603381016033850190818103610952575b5050603681016036850190818103610923575b5050603981018482036108f1575b50603c81018482036108bf575b50603f810184820361088d575b506042810184820361085b575b5060458101604585019081810361082c575b50506048810160488501908181036107fd575b5050604b8101604b8501908181036107ce575b5050604e8101604e85019081810361079f575b5050605181016051850190818103610770575b5050605481016054850190818103610741575b806105a0565b60ff61075992541660ff801983541691151516179055565b61076960558501605583016132be565b388061073b565b60ff61078892541660ff801983541691151516179055565b61079860528501605283016132be565b3880610728565b60ff6107b792541660ff801983541691151516179055565b6107c7604f8501604f83016132be565b3880610715565b60ff6107e692541660ff801983541691151516179055565b6107f6604c8501604c83016132be565b3880610702565b60ff61081592541660ff801983541691151516179055565b61082560498501604983016132be565b38806106ef565b60ff61084492541660ff801983541691151516179055565b61085460468501604683016132be565b38806106dc565b6108779060ff60428701541660ff801983541691151516179055565b61088760438501604383016132be565b386106ca565b6108a99060ff603f8701541660ff801983541691151516179055565b6108b960408501604083016132be565b386106bd565b6108db9060ff603c8701541660ff801983541691151516179055565b6108eb603d8501603d83016132be565b386106b0565b61090d9060ff60398701541660ff801983541691151516179055565b61091d603a8501603a83016132be565b386106a3565b60ff61093b92541660ff801983541691151516179055565b61094b60378501603783016132be565b3880610695565b60ff61096a92541660ff801983541691151516179055565b61097a60348501603483016132be565b3880610682565b60ff61099992541660ff801983541691151516179055565b6109a960318501603183016132be565b388061066f565b60ff6109c892541660ff801983541691151516179055565b6109d8602e8501602e83016132be565b388061065c565b60ff6109f792541660ff801983541691151516179055565b610a07602b8501602b83016132be565b3880610649565b60ff610a2692541660ff801983541691151516179055565b610a3660288501602883016132be565b3880610636565b60ff610a5592541660ff801983541691151516179055565b610a6560258501602583016132be565b3880610623565b610a8660ff825416839060ff801983541691151516179055565b80549064ffffffff00835492168064ffffffff0019841617845568ffffffff0000000000825416808268ffffffffffffffff001986161717855560ff60481b60ff845460481c16151560481b1691828169ffffffffffffffffff001987161783171786558960501b8454169384826dffffffffffffffffffffffffff0019881617841785171787558a60701b90541694610100600160901b03191617171717179055388061045f565b634e487b7160e01b600052602160045260246000fd5b610b4e916130cd565b610b5e60038401600384016130cd565b38806103c3565b610b87608083015160018060a01b038151161590811591610bb2575b506138ab565b610b9c6103e8602060808501510151106138f7565b610bad608083015160228301613880565b610334565b6020915001511538610b81565b610be1915060203d602011610be7575b610bd98183612ce9565b810190612e4b565b3861032e565b503d610bcf565b6040513d6000823e3d90fd5b610c1b606083015160018060a01b038151161590811591610bb257506138ab565b610c306103e8602060608501510151106138f7565b610c416060830151601e8301613880565b6102d2565b610c5f915060203d602011610be757610bd98183612ce9565b386102cc565b610c86604083015160018060a01b038151161590811591610bb257506138ab565b610c9b6103e8602060408501510151106138f7565b610cac604083015160208301613880565b610270565b610cca915060203d602011610be757610bd98183612ce9565b3861026a565b610cf1602083015160018060a01b038151161590811591610bb257506138ab565b610d056103e86020808501510151106138f7565b610d166020830151601c8301613880565b61020e565b610d34915060203d602011610be757610bd98183612ce9565b38610208565b60405162461bcd60e51b815260206004820152603060248201527f4368617269747920456e646f776d656e7473206d6179206e6f74206368616e6760448201526f6520656e646f776d656e74206665657360801b6064820152608490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b34610d9857610680366003190112610d9857604051610dd181612cce565b610dd9612d0a565b815236602319016106608112610d9857604051906102208201908282106001600160401b03831117610d9d576060908260405212610d9857610e1a81612cce565b6024358015158103610d985781526040366043190112610d9857604051610e4081612cce565b6044356001600160a01b0381168103610d98578152606435602082015261024083015281526060366083190112610d9857604051610e7d81612cce565b6084358015158103610d9857815260403660a3190112610d9857604051610ea381612cce565b60a4356001600160a01b0381168103610d9857815260c435602082015260208201526020820152606060e319360112610d9857604051610ee281612cce565b60e4358015158103610d98578152604036610103190112610d9857604051610f0981612cce565b610104356001600160a01b0381168103610d9857815261012435602082015260208201526040820152606061014319360112610d9857604051610f4b81612cce565b610144358015158103610d98578152604036610163190112610d9857604051610f7381612cce565b610164356001600160a01b0381168103610d985781526101843560208201526020820152606082015260606101a319360112610d9857604051610fb581612cce565b6101a4358015158103610d985781526040366101c3190112610d9857604051610fdd81612cce565b6101c4356001600160a01b0381168103610d985781526101e435602082015260208201526080820152606061020319360112610d985760405161101f81612cce565b610204358015158103610d98578152604036610223190112610d985760405161104781612cce565b610224356001600160a01b0381168103610d98578152610244356020820152602082015260a0820152606061026319360112610d985760405161108981612cce565b610264358015158103610d98578152604036610283190112610d98576040516110b181612cce565b610284356001600160a01b0381168103610d985781526102a4356020820152602082015260c082015260606102c319360112610d98576040516110f381612cce565b6102c4358015158103610d985781526040366102e3190112610d985760405161111b81612cce565b6102e4356001600160a01b0381168103610d98578152610304356020820152602082015260e0820152606061032319360112610d985760405161115d81612cce565b610324358015158103610d98578152604036610343190112610d985760405161118581612cce565b610344356001600160a01b0381168103610d985781526103643560208201526020820152610100820152606061038319360112610d98576040516111c881612cce565b610384358015158103610d985781526040366103a3190112610d98576040516111f081612cce565b6103a4356001600160a01b0381168103610d985781526103c4356020820152602082015261012082015260606103e319360112610d985760405161123381612cce565b6103e4358015158103610d98578152604036610403190112610d985760405161125b81612cce565b610404356001600160a01b0381168103610d985781526104243560208201526020820152610140820152606061044319360112610d985760405161129e81612cce565b610444358015158103610d98578152604036610463190112610d98576040516112c681612cce565b610464356001600160a01b0381168103610d98578152610484356020820152602082015261016082015260606104a319360112610d985760405161130981612cce565b6104a4358015158103610d985781526040366104c3190112610d985760405161133181612cce565b6104c4356001600160a01b0381168103610d985781526104e43560208201526020820152610180820152606061050319360112610d985760405161137481612cce565b610504358015158103610d98578152604036610523190112610d985760405161139c81612cce565b610524356001600160a01b0381168103610d9857815261054435602082015260208201526101a0820152606061056319360112610d98576040516113df81612cce565b610564358015158103610d98578152604036610583190112610d985760405161140781612cce565b610584356001600160a01b0381168103610d985781526105a435602082015260208201526101c082015260606105c319360112610d985760405161144a81612cce565b6105c4358015158103610d985781526040366105e3190112610d985760405161147281612cce565b6105e4356001600160a01b0381168103610d9857815261060435602082015260208201526101e0820152606061062319360112610d98576040516114b581612cce565b6106243515156106243503610d9857610624358152604036610643190112610d98576040516114e381612cce565b610644356001600160a01b0381168103610d985781526106643560208201526020820152610200820152602082015261151a613956565b61152a63ffffffff825116612da0565b61154160ff60066101a363ffffffff865116612dd5565b80546001600160a01b031633036118f75763ffffffff826118a0602061020081600080516020613ab38339815191529701516115a08382516115958151151560248c019060ff801983541691151516179055565b015160258901613880565b6115cf83808301516115c48151151560278c019060ff801983541691151516179055565b015160288901613880565b6115ff8360408301516115f481511515602a8c019060ff801983541691151516179055565b0151602b8901613880565b61162f83606083015161162481511515602d8c019060ff801983541691151516179055565b0151602e8901613880565b61165f8360808301516116548151151560308c019060ff801983541691151516179055565b015160318901613880565b61168f8360a08301516116848151151560338c019060ff801983541691151516179055565b015160348901613880565b6116bf8360c08301516116b48151151560368c019060ff801983541691151516179055565b015160378901613880565b6116ef8360e08301516116e48151151560398c019060ff801983541691151516179055565b0151603a8901613880565b6117208361010083015161171581511515603c8c019060ff801983541691151516179055565b0151603d8901613880565b6117518361012083015161174681511515603f8c019060ff801983541691151516179055565b015160408901613880565b611782836101408301516117778151151560428c019060ff801983541691151516179055565b015160438901613880565b6117b3836101608301516117a88151151560458c019060ff801983541691151516179055565b015160468901613880565b6117e4836101808301516117d98151151560488c019060ff801983541691151516179055565b015160498901613880565b611815836101a083015161180a81511515604b8c019060ff801983541691151516179055565b0151604c8901613880565b611846836101c083015161183b81511515604e8c019060ff801983541691151516179055565b0151604f8901613880565b611877836101e083015161186c8151151560518c019060ff801983541691151516179055565b015160528901613880565b015161189581511515605488019060ff801983541691151516179055565b015160558501613880565b600080516020613a9383398151915260808383511660405190815260406020820152601360408201527232b73237bbb6b2b73a21b7b73a3937b63632b960691b6060820152a1511661037360405192839283613498565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b34610d9857600319602036820112610d98576001600160401b0360043511610d98576101609060043536030112610d98576101a06040526004356004013563ffffffff81168103610d9857608052611987602460043501612d1d565b60a052600435604481013560c052606401356001600160401b038111610d98576119b8906004369181350101612d2a565b60e052600435608401356001600160401b038111610d98576119e1906004369181350101612d2a565b6101005260043560a401356001600160401b038111610d9857611a0b906004369181350101612d2a565b6101205260043560c401356001600160401b038111610d9857611a35906004369181350101612d2a565b610140526060600435360360e3190112610d98576040518060608101106001600160401b03606083011117610d9d576060810160405260e460043501358152610104600435013560208201526101246004350135604082015260e060800152611aa361014460043501612d1d565b61018052611aaf613956565b611ac063ffffffff60805116612da0565b611ad860ff60066101a363ffffffff60805116612dd5565b60ff6005820154166002811015610b2f576124ed575b805460405163bb37a28360e01b81529060209082908190611b229042906001600160a01b0316336051890160048601612e63565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115610bee576000916124ce575b50612464575b805460405163bb37a28360e01b81529060209082908190611b849042906001600160a01b0316336054890160048601612e63565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115610bee57600091612445575b506123d3575b611bc363ffffffff60805116612da0565b90808203611bf4575b600080516020613ab38339815191529063ffffffff6080511661037360405192839283613498565b60018060a01b03815416916bffffffffffffffffffffffff60a01b9283825416178155611c276001830160018301612fb2565b60028101600283018082036123b3575b505060048201546004820155600581019260ff600584015416936002851015610b2f57600080516020613ab38339815191529460ff19825416179055611c836006840160068401612fb2565b611c936007840160078401612fb2565b60088301546008830155611cad6009840160098401613211565b611cbd600d8401600d8401613211565b60118201601184018082036122e8575b5050611cef60ff601285015416601284019060ff801983541691151516179055565b60138301546013830155601483015460148301556015820160018060a01b03601585015416828254161790556016820160018060a01b0360168501541682825416179055611d726017830160ff6017860160018060a01b03815416858454161783555460a01c1681549060ff60a01b90151560a01b169060ff60a01b1916179055565b601882019060018060a01b0360188501541690825416179055611d9b6019830160198301613255565b611dab601a8301601a8301613255565b611dbb601b8301601b8301613255565b611dcb601c8301601c83016132be565b611ddb601e8301601e83016132be565b611deb60208301602083016132be565b611dfb60228301602283016132be565b6024810160248301908181141580611e92575b505050611e546057820160ff6057850163ffffffff81541663ffffffff198454161783555460201c1664ff00000000825491151560201b169064ff000000001916179055565b6058810160588301808203611e74575b5050605b80830154910155611bcc565b54905560598201546059820155605a820154605a8201558380611e64565b6122b9575b505060278101602783019081810361228a575b5050602a8101602a83019081810361225b575b5050602d8101602d83019081810361222c575b50506030810160308301908181036121fd575b50506033810160338301908181036121ce575b505060368101603683019081810361219f575b5050603981016039830190818103612170575b5050603c8101603c830190818103612141575b5050603f8101603f830190818103612112575b50506042810160428301908181036120e3575b50506045810160458301908181036120b4575b5050604881016048830190818103612085575b5050604b8101604b830190818103612056575b5050604e8101604e830190818103612027575b505060518101828203611ff5575b5060548101828203611fc3575b8080611e0e565b611fdf9060ff60548501541660ff801983541691151516179055565b611fef60558301605583016132be565b83611fbc565b6120119060ff60518501541660ff801983541691151516179055565b61202160528301605283016132be565b83611faf565b60ff61203f92541660ff801983541691151516179055565b61204f604f8301604f83016132be565b8380611fa1565b60ff61206e92541660ff801983541691151516179055565b61207e604c8301604c83016132be565b8380611f8e565b60ff61209d92541660ff801983541691151516179055565b6120ad60498301604983016132be565b8380611f7b565b60ff6120cc92541660ff801983541691151516179055565b6120dc60468301604683016132be565b8380611f68565b60ff6120fb92541660ff801983541691151516179055565b61210b60438301604383016132be565b8380611f55565b60ff61212a92541660ff801983541691151516179055565b61213a60408301604083016132be565b8380611f42565b60ff61215992541660ff801983541691151516179055565b612169603d8301603d83016132be565b8380611f2f565b60ff61218892541660ff801983541691151516179055565b612198603a8301603a83016132be565b8380611f1c565b60ff6121b792541660ff801983541691151516179055565b6121c760378301603783016132be565b8380611f09565b60ff6121e692541660ff801983541691151516179055565b6121f660348301603483016132be565b8380611ef6565b60ff61221592541660ff801983541691151516179055565b61222560318301603183016132be565b8380611ee3565b60ff61224492541660ff801983541691151516179055565b612254602e8301602e83016132be565b8380611ed0565b60ff61227392541660ff801983541691151516179055565b612283602b8301602b83016132be565b8380611ebd565b60ff6122a292541660ff801983541691151516179055565b6122b260288301602883016132be565b8380611eaa565b60ff6122d192541660ff801983541691151516179055565b6122e160258301602583016132be565b8380611e97565b61230260ff825416839060ff801983541691151516179055565b80549064ffffffff00835492168064ffffffff0019841617845568ffffffff0000000000825416808268ffffffffffffffff001986161717855560ff60481b60ff845460481c16151560481b1691828169ffffffffffffffffff0019871617831717865563ffffffff60501b8454169384826dffffffffffffffffffffffffff00198816178417851717875563ffffffff60701b90541694610100600160901b031916171717171790558480611ccd565b6123bc916130cd565b6123cc60038301600383016130cd565b8380611c37565b6101805160578201805464ff00000000191691151560201b64ff0000000016919091179055600080516020613a93833981519152608063ffffffff6080511660405190815260406020820152601060408201526f69676e6f72655573657253706c69747360801b6060820152a1611bb2565b61245e915060203d602011610be757610bd98183612ce9565b82611bac565b604060e06080015180516058840155602081015160598401550151605a820155600080516020613a93833981519152608063ffffffff6080511660405190815260406020820152600d60408201526c1cdc1b1a5d151bd31a5c5d5a59609a1b6060820152a1611b50565b6124e7915060203d602011610be757610bd98183612ce9565b82611b4a565b60088101548015908115612cc4575b5015611aee57805460405163bb37a28360e01b815290602090829081906125369042906001600160a01b0316336036890160048601612e63565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115610bee57600091612ca5575b50612bef575b805460405163bb37a28360e01b815290602090829081906125989042906001600160a01b031633602d890160048601612e63565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115610bee57600091612bd0575b50612b1c575b805460405163bb37a28360e01b815290602090829081906125fa9042906001600160a01b0316336030890160048601612e63565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115610bee57600091612afd575b50612a48575b805460405163bb37a28360e01b8152906020908290819061265c9042906001600160a01b0316336033890160048601612e63565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115610bee57600091612a29575b5015611aee5760005b6101205180518210156127b7576126b9906001600160a01b03906126b2908490612ef0565b5116613a2e565b1561278157610120516126fc906001600160a01b03906126da908490612ef0565b51166040516126f7816126f081601b8901612f1a565b0382612ce9565b613a46565b905015612712575b61270d90612ee1565b61268d565b610120516001600160a01b039061272a908390612ef0565b511690601b830154600160401b811015610d9d5761270d9261275b82600161277a9401601b880155601b8701612f60565b90919082549060031b9160018060a01b03809116831b921b1916179055565b9050612704565b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c69644164647265737360901b6044820152606490fd5b505060005b6101405180518210156129d9576127e1906001600160a01b03906126da908490612ef0565b6127f5575b506127f090612ee1565b6127bc565b601b830154811015612994575b601b8301548060001981011161287f57600019018110156128955760018101811161287f578061287561283e600161287a9401601b8701612f60565b90549061284e84601b8901612f60565b81546001600160a01b03600392831b81811b199092169490921b9490941c1690921b179055565b612ee1565b612802565b634e487b7160e01b600052601160045260246000fd5b50601b820154801561297e576128b26000198201601b8501612f60565b81546001600160a01b0360039290921b9190911b191690556000198101601b8401818155604051918252600090815260208082209083019384925b6000198201811061295f5750505081612907910382612ce9565b51906001600160401b038211610d9d5761292482601b8601612ec7565b601b8401600052602060002060005b838110612942575050506127e6565b82516001600160a01b031681830155602090920191600101612933565b82546001600160a01b03168452602090930192600192830192016128ed565b634e487b7160e01b600052603160045260246000fd5b60405162461bcd60e51b815260206004820152601960248201527f4572726f7220696e2072656d6f76653a20696e7465726e616c000000000000006044820152606490fd5b5050600080516020613a93833981519152608063ffffffff608051166040519081526040602082015260116040820152701b585d1d5c9a5d1e505b1b1bdddb1a5cdd607a1b6060820152a1611aee565b612a42915060203d602011610be757610bd98183612ce9565b82612684565b610100518051906001600160401b038211610d9d576020601a840191612a6e8484612ec7565b0190600052602060002060005b838110612ae05750505050600080516020613a93833981519152608063ffffffff6080511660405190815260406020820152601760408201527f616c6c6f776c6973746564436f6e7472696275746f72730000000000000000006060820152a1612628565b82516001600160a01b031681830155602090920191600101612a7b565b612b16915060203d602011610be757610bd98183612ce9565b82612622565b60e0518051906001600160401b038211610d9d5760206019840191612b418484612ec7565b0190600052602060002060005b838110612bb35750505050600080516020613a93833981519152608063ffffffff6080511660405190815260406020820152601860408201527f616c6c6f776c697374656442656e6566696369617269657300000000000000006060820152a16125c6565b82516001600160a01b031681830155602090920191600101612b4e565b612be9915060203d602011610be757610bd98183612ce9565b826125c0565b60c051428111908115612c9c575b5015612c57576040608001516008820155600080516020613a93833981519152608063ffffffff6080511660405190815260406020820152600c60408201526b6d6174757269747954696d6560a01b6060820152a1612564565b60405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964206d617475726974792074696d6520696e70757400000000006044820152606490fd5b90501582612bfd565b612cbe915060203d602011610be757610bd98183612ce9565b8261255e565b90504210826124fc565b604081019081106001600160401b03821117610d9d57604052565b90601f801991011681019081106001600160401b03821117610d9d57604052565b6004359063ffffffff82168203610d9857565b35908115158203610d9857565b9080601f83011215610d98578135906001600160401b038211610d9d578160051b60405193602093612d5e85840187612ce9565b85528380860192820101928311610d98578301905b828210612d81575050505090565b81356001600160a01b0381168103610d98578152908301908301612d73565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b15612e1157565b60405162461bcd60e51b8152602060048201526012602482015271155c19185d195cd0599d195c90db1bdcd95960721b6044820152606490fd5b90816020910312610d9857518015158103610d985790565b9081526001600160a01b03918216602082015291166040820152606081019190915260800190565b818110612e96575050565b60008155600101612e8b565b91818110612eaf57505050565b612ec59260005260206000209182019101612e8b565b565b90600160401b8111610d9d578154818355612ec592612ea2565b600019811461287f5760010190565b8051821015612f045760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b90815480825260208092019260005281600020916000905b828210612f40575050505090565b83546001600160a01b031685529384019360019384019390910190612f32565b8054821015612f045760005260206000200190600090565b90600182811c92168015612fa8575b6020831014612f9257565b634e487b7160e01b600052602260045260246000fd5b91607f1691612f87565b908082146130c957612fc48154612f78565b906001600160401b038211610d9d578190612fdf8454612f78565b601f811161308c575b50600090601f831160011461302057600092613015575b50508160011b916000199060031b1c1916179055565b015490503880612fff565b81526020808220858352818320935090601f1985169083905b82821061307357505090846001959493921061305a575b505050811b019055565b015460001960f88460031b161c19169055388080613050565b8495819295850154815560018091019601940190613039565b6130b990856000526020600020601f850160051c810191602086106130bf575b601f0160051c0190612e8b565b38612fe8565b90915081906130ac565b5050565b8181146130c9578154916001600160401b038311610d9d57600160401b8311610d9d576130ff83835481855584612ea2565b60005260206000209060005260206000208154916000925b848410613125575050505050565b6001809192019384549281850155019290613117565b8181146130c957815491600160401b8311610d9d57815483835580841061319c575b506000526020600020906000526020600020906000905b8382106131815750505050565b8061318e60019285612fb2565b928101929181019101613174565b600083815260208581832093840193015b8381106131bc5750505061315d565b80836131ca60019354612f78565b806131d8575b5050016131ad565b601f80821185146131ef57505081555b83386131d0565b61320890848452868420920160051c8201858301612e8b565b818355556131e8565b81810361321c575050565b6003808361322d612ec5958561313b565b61323d60018201600186016130cd565b61324d600282016002860161313b565b0191016130cd565b8181146130c9578154916001600160401b038311610d9d576132778383612ec7565b60005260206000209060005260206000208154916000925b84841061329d575050505050565b600191820180546001600160a01b039092168486015593909101929061328f565b908082036132ca575050565b805482546001600160a01b0319166001600160a01b0391909116178255600190810154910155565b906000929180549161330383612f78565b9182825260019384811690816000146133655750600114613325575b50505050565b90919394506000526020928360002092846000945b83861061335157505050500101903880808061331f565b80548587018301529401938590820161333a565b9294505050602093945060ff191683830152151560051b0101903880808061331f565b90815480825260208092019260005281600020916000905b8282106133ae575050505090565b8354855293840193600193840193909101906133a0565b908154808252602080920191828260051b84019460005281600020936000915b8483106133f55750505050505090565b90919293949584600161340e838583950387528a6132f2565b98019301930191949392906133e5565b90600361346d926080835261345e61344d61343c60808601846133c5565b858103602087015260018401613388565b8481036040860152600283016133c5565b92606081850391015201613388565b90565b805460ff161515825260018101546001600160a01b0316602083015260020154604090910152565b909163ffffffff80931682526040602083015260018060a01b03808254166040840152610b80918260608501526134d6610bc08501600183016132f2565b9261350e603f199485878203016080880152604081526134fc6040820160028601613388565b90602081830391015260038401613388565b92600483015460a087015260ff9081600585015416956002871015610b2f5761368d6136796136a1936135ac6135986135798d613564605b9d610ba09f8e60069160c08601528b8584030160e0860152016132f2565b90610100898284030191015260078c016132f2565b60088b01546101208f01528d810387016101408f015260098b0161341e565b8c810386016101608e0152600d8a0161341e565b601189015487811615156101808e0152600881901c8e166101a08e0152602881901c8e166101c08e0152604881901c881615156101e08e0152605081901c8e166102008e015260701c8d166102208d01526012890154871615156102408d015260138901546102608d015260148901546102808d0152601589015482166102a08d0152601689015482166102c08d015260178901548083166102e08e015260a01c871615156103008d015260188901549091166103208c01528a810384016103408c015260198801612f1a565b828a8203016103608b0152601a8701612f1a565b9088820301610380890152601b8501612f1a565b601c8401546001600160a01b03166103a0880152601d8401546103c088015296601e8401546001600160a01b03166103e0880152601f84015461040088015260208401546001600160a01b0316610420880152602184015461044088015260228401546001600160a01b0316610460880152602384015461048088015261372f6104a0880160248601613470565b613740610500880160278601613470565b6137516105608801602a8601613470565b6137626105c08801602d8601613470565b613773610620880160308601613470565b613784610680880160338601613470565b6137956106e0880160368601613470565b6137a6610740880160398601613470565b6137b76107a08801603c8601613470565b6137c86108008801603f8601613470565b6137d9610860880160428601613470565b6137ea6108c0880160458601613470565b6137fb610920880160488601613470565b61380c6109808801604b8601613470565b61381d6109e08801604e8601613470565b61382e610a40880160518601613470565b61383f610aa0880160548601613470565b6057840154908116610b0088015260201c161515610b208601526058820154610b408601526059820154610b60860152605a82015490850152015491015290565b815181546001600160a01b0319166001600160a01b0391909116178155602090910151600190910155565b156138b257565b60405162461bcd60e51b815260206004820152601c60248201527f496e76616c6964207061796f7574206164647265737320676976656e000000006044820152606490fd5b156138fe57565b60405162461bcd60e51b815260206004820152602a60248201527f4665652050657263656e746167652063616e6e6f742062652067726561746572604482015269207468616e203130302560b01b6064820152608490fd5b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff8160a01c161580156139ee575b156139a957333003613998575050565b60ff60a01b1916600160a01b179055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50333014613988565b333003613a0057565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff60a01b19169055565b6001600160a01b031615613a4157600190565b600090565b9060005b8251811015613a87576001600160a01b0380613a668386612ef0565b511690831614613a7e57613a7990612ee1565b613a4a565b91505090600190565b50505060009060009056fe7df43fc6494df2b30019e35da70862e20eee3809be672605eb373a1c0c9b65be28c1b2f18a3e71d2e6df5b0732ff252e57dc097525c7b3a6aa087522506a5b36a264697066735822122097c4db21c2aef82114088d9058d7cb2d4cc62b1a500ad0ae89382902ea89d4d564736f6c63430008120033"; type AccountsUpdateEndowmentSettingsControllerConstructorParams = | [ diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdateEndowments__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdateEndowments__factory.ts index 7c719298d..c9471346e 100644 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdateEndowments__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdateEndowments__factory.ts @@ -32,37 +32,10 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], indexed: false, - internalType: "struct AccountStorage.AllowanceData", + internalType: "uint256", name: "allowance", - type: "tuple", + type: "uint256", }, ], name: "AllowanceStateUpdatedTo", @@ -74,9 +47,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -129,29 +102,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -177,43 +150,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -228,7 +201,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -244,7 +217,7 @@ const _abi = [ ], indexed: false, internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", + name: "createdaomessage", type: "tuple", }, { @@ -263,13 +236,13 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -365,7 +338,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -378,21 +351,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -456,18 +414,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -475,12 +433,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -496,13 +459,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -526,17 +489,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -548,17 +511,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -570,14 +528,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -592,14 +545,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -614,17 +562,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -633,24 +576,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -665,31 +598,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -704,31 +627,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -743,31 +656,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -782,31 +685,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -821,31 +714,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -860,31 +743,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -899,31 +772,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -938,31 +801,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -984,24 +837,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1023,63 +866,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1094,31 +888,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1140,24 +924,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1179,24 +953,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1218,24 +982,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1257,24 +1011,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1296,24 +1040,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1337,9 +1071,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -1433,37 +1167,37 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { indexed: false, internalType: "address", - name: "curTokenin", + name: "tokenin", type: "address", }, { indexed: false, internalType: "address", - name: "curTokenout", + name: "tokenout", type: "address", }, { indexed: false, internalType: "uint256", - name: "curAmountout", + name: "amountout", type: "uint256", }, ], @@ -1480,23 +1214,65 @@ const _abi = [ name: "owner", type: "address", }, + { + internalType: "string", + name: "version", + type: "string", + }, { internalType: "address", name: "registrarContract", type: "address", }, { - internalType: "uint256", + internalType: "uint32", name: "nextAccountId", - type: "uint256", + type: "uint32", }, { internalType: "uint256", name: "maxGeneralCategoryId", type: "uint256", }, - ], - indexed: false, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + internalType: "bool", + name: "reentrancyGuardLocked", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, + ], + indexed: false, internalType: "struct AccountStorage.Config", name: "config", type: "tuple", @@ -1550,7 +1326,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1563,21 +1339,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -1641,18 +1402,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -1660,12 +1421,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -1681,13 +1447,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -1711,17 +1477,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1733,17 +1499,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1755,14 +1516,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1777,14 +1533,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1799,17 +1550,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1818,24 +1564,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1850,31 +1586,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1889,31 +1615,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1928,31 +1644,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1967,31 +1673,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2006,31 +1702,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2045,31 +1731,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2084,31 +1760,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2123,31 +1789,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2169,24 +1825,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2208,63 +1854,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2279,31 +1876,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2325,24 +1912,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2364,24 +1941,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2403,24 +1970,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2442,24 +1999,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2481,24 +2028,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2522,9 +2059,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -2569,144 +2106,21 @@ const _abi = [ type: "event", }, { - anonymous: false, inputs: [ { - indexed: false, - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { - components: [ - { - components: [ - { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", - type: "tuple", - }, - { - internalType: "bool", - name: "closingEndowment", - type: "bool", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", - type: "tuple", - }, - ], - indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", - type: "tuple", - }, - ], - name: "UpdateEndowmentState", - type: "event", - }, - { - inputs: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "string", + internalType: "enum AngelCoreStruct.ControllerSettingOption", name: "setting", - type: "string", + type: "uint8", }, { - internalType: "string", + internalType: "enum AngelCoreStruct.DelegateAction", name: "action", - type: "string", + type: "uint8", }, { internalType: "address", @@ -2729,25 +2143,15 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", name: "owner", type: "address", }, - { - internalType: "bool", - name: "kycDonorsOnly", - type: "bool", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", - type: "uint8", - }, { internalType: "string", name: "name", @@ -2770,11 +2174,6 @@ const _abi = [ name: "categories", type: "tuple", }, - { - internalType: "uint256", - name: "tier", - type: "uint256", - }, { internalType: "string", name: "logo", @@ -2789,18 +2188,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -2808,18 +2207,23 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, ], internalType: "struct AccountMessages.UpdateEndowmentDetailsRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -2831,7 +2235,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001657613c1a908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c806392ef65d4146120c05763de852c071461003357600080fd5b346120b45760203660031901126120b4576001600160401b03600435116120b4576101c0600435360360031901126120b4576040519061014082018281106001600160401b03821117611a1c5760405260048035908101358352602401356001600160a01b03811681036120bb5760208301526100b4604460043501612f40565b604083015260036064600435013510156120b4576064600435013560608301526001600160401b0360846004350135116120b4576100fc366004803560848101350101612eea565b60808301526001600160401b0360a46004350135116120b457604060043560a481013501360360031901126120b45760405161013781612e4a565b6001600160401b036004803560a4810135010135116120b757610169366004803560a481013501808201350101612f64565b81526001600160401b0360043560a48101350160240135116120b75761019f366004803560a48101350160248101350101612f64565b602082015260a083015260c4600435013560c08301526001600160401b0360e46004350135116120b4576101dd366004803560e48101350101612eea565b60e08301526001600160401b036101046004350135116120b45761020c36600480356101048101350101612eea565b61010083015260a060043536036101231901126120b45760405161022f81612e65565b61023e61012460043501612f40565b815261024f61014460043501612f40565b60208201526101646004350135604082015261027061018460043501612f40565b60608201526101a46004350135608082015261012083015261029061395f565b8151600052600080516020613bc5833981519152602052604060002082516000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d416020526040600020604051906102e782612eae565b6040516102f381612e4a565b8154815260018201546020820152825260405161030f81612e4a565b61031b60028301613045565b815261032960058301613045565b60208201526020830152606060ff6008830154169260408101931515845260ff600b6040519461035886612e4a565b60405161036481612e4a565b60098201548152600a8201546001600160a01b03166020820152865201541661038c81613090565b602084015201525161207a577ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d45546001600160a01b03163314808015612067575b15612009575b611f70575b60ff6005820154166003811015611d7f57611ef8575b8054601a820154604051637768621360e11b8152916020918391829161042b9142916001600160a01b03908116911633604d8a01600487016130ca565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115611a6157600091611ed9575b50611eb5575b8054601a820154604051637768621360e11b815291602091839182916104969142916001600160a01b0390811691163360508a01600487016130ca565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115611a6157600091611e96575b50611db4575b8054601a820154604051637768621360e11b815291602091839182916105019142916001600160a01b0390811691163360598a01600487016130ca565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115611a6157600091611d95575b50611b6e575b8054601a820154604051637768621360e11b8152916020918391829161056c9142916001600160a01b0390811691163360568a01600487016130ca565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115611a6157600091611b4f575b50611a6d575b8054601a820154604051637768621360e11b815291602091839182916105d79142916001600160a01b0390811691163360538a01600487016130ca565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115611a6157600091611a32575b50611919575b82600080516020613ba5833981519152929351600052600080516020613bc58339815191526020526040600020828103610aad575b5051604080519182526020820181905282546001600160a01b0316908201526111206060820152908190606761086c61085661084061077561075f61070b6106f56106c161068f6111608c0160018c016134d8565b603f198c82030160808d0152604081526106af6040820160028d01612fc2565b90602081830391015260038b01612fc2565b60048a015460a08c01526106e060ff60058c01541660c08d019061356e565b8a8103603f190160e08c015260068a016134d8565b898103603f19016101008b0152600789016134d8565b60ff600889015481811661071e81613090565b6101208c0152818160081c1615156101408c015260101c1615156101608a015260098801546101808a0152603f19898203016101a08a0152600a88016135db565b878103603f19016101c0890152600e87016135db565b601286015460ff81811615156101e08a015260089190911c811615156102008901526013870154610220890152601487015481161515610240890152601587015461026089015260168701548116151561028089015260178701546102a089015260188701546102c089015260198701546102e0890152601a8701546001600160a01b039081166103008a0152601b8801548082166103208b015260a01c9091161515610340890152601c87015416610360880152868103603f1901610380880152601d8601612fff565b858103603f19016103a0870152601e8501612fff565b848103603f19016103c0860152601f8401612fff565b60208301546001600160a01b03166103e08501526021830154610400850152602283015460ff1615156104208501529160238101546001600160a01b03166104408501526024810154610460850152602581015460ff16151561048085015260268101546001600160a01b03166104a085015260278101546104c0850152602881015460ff1615156104e085015260298101546001600160a01b0316610500850152602a810154610520850152602b81015460ff16151561054085015261093a6105608501602c830161362d565b61094b6106008501602f830161362d565b61095c6106a085016032830161362d565b61096d61074085016035830161362d565b61097e6107e085016038830161362d565b61098f6108808501603b830161362d565b6109a06109208501603e830161362d565b6109b16109c085016041830161362d565b6109c2610a6085016044830161362d565b6109d3610b0085016047830161362d565b6109e4610ba08501604a830161362d565b6109f5610c408501604d830161362d565b610a06610ce085016050830161362d565b610a17610d8085016053830161362d565b610a28610e2085016056830161362d565b610a39610ec085016059830161362d565b610a4a610f608501605c830161362d565b610a5b6110008501605f830161362d565b60628101546110a085015260ff60638201541615156110c085015260648101546110e08501526065810154611100850152606681015461112085015201546111408301520390a1610aaa613a00565b80f35b825481546001600160a01b0319166001600160a01b0391909116178155610ada6001848101908301613209565b60028101600284018082036118f9575b505060048301546004820155610b0a60ff6005850154166005830161309a565b610b1a6006840160068301613209565b610b2a6007840160078301613209565b60ff600884015416610b3b81613090565b60ff19600883015416176008820155610b7460ff600885015460081c16600883019061ff00825491151560081b169061ff001916179055565b610ba060ff600885015460101c16600883019062ff0000825491151560101b169062ff00001916179055565b60098301546009820155610bba600a8401600a830161341b565b610bca600e8401600e830161341b565b601281016012840190818103611883575b5050610bfd60ff601685015416601683019060ff801983541691151516179055565b601783015460178201556018830154601882015560198301546019820155601a810160018060a01b03601a850154166001600160601b0360a01b825416179055601b8101601b840160018060a01b03815416825491816001600160601b0360a01b841617845560ff8060a01b915460a01c16151560a01b16916affffffffffffffffffffff60a81b1617179055601c810160018060a01b03601c850154166001600160601b0360a01b825416179055610cbc601d8401601d830161345f565b610ccc601e8401601e830161345f565b610cdc601f8401601f830161345f565b6020810160208401808203611837575b505060238101602384018082036117eb575b5050602681016026840180820361179f575b50506029810160298401808203611753575b5050828103610d95575b60628301546062820155610d5660ff606385015416606383019060ff801983541691151516179055565b6064810160648401808203610d77575b50506067808401549101553861063a565b54905560658301546065820155606683015460668201553880610d66565b828103611699575b602f8101602f84019081810361163d575b50506032810160328401908181036115e1575b5050603581016035840190818103611585575b5050603881016038840190818103611529575b5050603b8101603b8401908181036114cd575b5050603e8101603e840190818103611471575b5050604181016041840190818103611415575b50506044810160448401908181036113b9575b505060478101604784019081810361135d575b5050604a8101604a840190818103611301575b5050604d8101838203611259575b50605081018382036111b1575b5060538101838203611109575b5060568101838203611061575b5060598101838203610fb9575b50605c8101605c840190818103610f5d575b5050605f8101605f840190818103610ec7575b5050610d2c565b60ff82610ee682610f20955416849060ff801983541691151516179055565b8054835461ff001916600891821c8416151590911b61ff00161783555460101c1662ff0000825491151560101b169062ff00001916179055565b606081016060840180820315610ec0575481546001600160a01b0319166001600160a01b0391909116179055606183810154908201553880610ec0565b60ff82610ee682610f7c955416849060ff801983541691151516179055565b605d8101605d840180820315610ead575481546001600160a01b0319166001600160a01b0391909116179055605e83810154908201553880610ead565b61101e90610fda60ff605987015416829060ff801983541691151516179055565b6059850154815461ff001916600891821c60ff16151590911b61ff001617815560ff605986015460101c1662ff0000825491151560101b169062ff00001916179055565b605a8101605a8401808203611034575b50610e9b565b5481546001600160a01b0319166001600160a01b0391909116179055605b8381015490820155388061102e565b6110c69061108260ff605687015416829060ff801983541691151516179055565b6056850154815461ff001916600891821c60ff16151590911b61ff001617815560ff605686015460101c1662ff0000825491151560101b169062ff00001916179055565b60578101605784018082036110dc575b50610e8e565b5481546001600160a01b0319166001600160a01b03919091161790556058838101549082015538806110d6565b61116e9061112a60ff605387015416829060ff801983541691151516179055565b6053850154815461ff001916600891821c60ff16151590911b61ff001617815560ff605386015460101c1662ff0000825491151560101b169062ff00001916179055565b6054810160548401808203611184575b50610e81565b5481546001600160a01b0319166001600160a01b039190911617905560558381015490820155388061117e565b611216906111d260ff605087015416829060ff801983541691151516179055565b6050850154815461ff001916600891821c60ff16151590911b61ff001617815560ff605086015460101c1662ff0000825491151560101b169062ff00001916179055565b605181016051840180820361122c575b50610e74565b5481546001600160a01b0319166001600160a01b0391909116179055605283810154908201553880611226565b6112be9061127a60ff604d87015416829060ff801983541691151516179055565b604d850154815461ff001916600891821c60ff16151590911b61ff001617815560ff604d86015460101c1662ff0000825491151560101b169062ff00001916179055565b604e8101604e84018082036112d4575b50610e67565b5481546001600160a01b0319166001600160a01b0391909116179055604f838101549082015538806112ce565b60ff82610ee682611320955416849060ff801983541691151516179055565b604b8101604b840180820315610e59575481546001600160a01b0319166001600160a01b0391909116179055604c83810154908201553880610e59565b60ff82610ee68261137c955416849060ff801983541691151516179055565b604881016048840180820315610e46575481546001600160a01b0319166001600160a01b0391909116179055604983810154908201553880610e46565b60ff82610ee6826113d8955416849060ff801983541691151516179055565b604581016045840180820315610e33575481546001600160a01b0319166001600160a01b0391909116179055604683810154908201553880610e33565b60ff82610ee682611434955416849060ff801983541691151516179055565b604281016042840180820315610e20575481546001600160a01b0319166001600160a01b0391909116179055604383810154908201553880610e20565b60ff82610ee682611490955416849060ff801983541691151516179055565b603f8101603f840180820315610e0d575481546001600160a01b0319166001600160a01b0391909116179055604083810154908201553880610e0d565b60ff82610ee6826114ec955416849060ff801983541691151516179055565b603c8101603c840180820315610dfa575481546001600160a01b0319166001600160a01b0391909116179055603d83810154908201553880610dfa565b60ff82610ee682611548955416849060ff801983541691151516179055565b603981016039840180820315610de7575481546001600160a01b0319166001600160a01b0391909116179055603a83810154908201553880610de7565b60ff82610ee6826115a4955416849060ff801983541691151516179055565b603681016036840180820315610dd4575481546001600160a01b0319166001600160a01b0391909116179055603783810154908201553880610dd4565b60ff82610ee682611600955416849060ff801983541691151516179055565b603381016033840180820315610dc1575481546001600160a01b0319166001600160a01b0391909116179055603483810154908201553880610dc1565b60ff82610ee68261165c955416849060ff801983541691151516179055565b603081016030840180820315610dae575481546001600160a01b0319166001600160a01b0391909116179055603183810154908201553880610dae565b6116b960ff602c85015416602c83019060ff801983541691151516179055565b6116e360ff602c85015460081c16602c83019061ff00825491151560081b169061ff001916179055565b61170f60ff602c85015460101c16602c83019062ff0000825491151560101b169062ff00001916179055565b602d8101602d8401808203611726575b5050610d9d565b5481546001600160a01b0319166001600160a01b0391909116179055602e8381015490820155388061171f565b60018060a01b039054166001600160601b0360a01b825416179055602a830154602a82015561179860ff602b85015416602b83019060ff801983541691151516179055565b3880610d22565b60018060a01b039054166001600160601b0360a01b825416179055602783015460278201556117e460ff602885015416602883019060ff801983541691151516179055565b3880610d10565b60018060a01b039054166001600160601b0360a01b8254161790556024830154602482015561183060ff602585015416602583019060ff801983541691151516179055565b3880610cfe565b60018060a01b039054166001600160601b0360a01b8254161790556021830154602182015561187c60ff602285015416602283019060ff801983541691151516179055565b3880610cec565b60ff826118a2826118be955416849060ff801983541691151516179055565b5460081c1661ff00825491151560081b169061ff001916179055565b601383015460138201556118e860ff601485015416601483019060ff801983541691151516179055565b601583015460158201553880610bdb565b611902916132e7565b61191260038401600383016132e7565b3880610aea565b6101008301519283516001600160401b038111611a1c5761194a8161194160078601546130fb565b6007860161314c565b6020601f821160011461199d578190600080516020613ba58339815191529596600092611992575b50508160011b916000199060031b1c19161760078301555b929150610605565b015190503880611972565b6007840160005260206000209560005b601f1984168110611a045750958291600080516020613ba58339815191529697600194601f198116106119eb575b505050811b01600783015561198a565b015160001960f88460031b161c191690553880806119db565b828201518855600190970196602092830192016119ad565b634e487b7160e01b600052604160045260246000fd5b611a54915060203d602011611a5a575b611a4c8183612ec9565b8101906130b2565b386105ff565b503d611a42565b6040513d6000823e3d90fd5b919060e08201519283516001600160401b038111611a1c57611a9f81611a9660068501546130fb565b6006850161314c565b6020601f8211600114611ae0578192939495600092611ad5575b50508160011b916000199060031b1c191617600682015561059a565b015190503880611ab9565b6006830160005260206000209060005b601f1984168110611b37575060019394959683601f19811610611b1e575b505050811b01600682015561059a565b015160001960f88460031b161c19169055388080611b0e565b9091602060018192858b015181550193019101611af0565b611b68915060203d602011611a5a57611a4c8183612ec9565b38610594565b60ff6005820154166003811015611d7f5715611cfb575b602060a08401510151805180611c44575b505060a083015180518051906001600160401b038211611a1c5760206002850191611bc184846131ef565b0190600052602060002060005b838110611c305750505050602001518051906001600160401b038211611a1c5760206003840191611bff84846131ef565b0190600052602060002060005b838110611c1c575050505061052f565b600190602084519401938184015501611c0c565b600190602084519401938184015501611bce565b611c50611c58916131bd565b600083613a92565b602060a08501510152602060a0840151015180516000198101908111611ce557611c8191613193565b517ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d485410611cb0573880611b96565b60405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964496e7075747360981b6044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b60a08392930151515115611cb05760a082015151611d1c611c5082516131bd565b60a08301515260005b60a0830151518051821015611d7557611d4082601192613193565b51118015611d5e575b611cb0576000198114611ce557600101611d25565b50611d6e8160a085015151613193565b5115611d49565b5050919091611b85565b634e487b7160e01b600052602160045260246000fd5b611dae915060203d602011611a5a57611a4c8183612ec9565b38610529565b919060808201519283516001600160401b038111611a1c57611de681611ddd60018501546130fb565b6001850161314c565b6020601f8211600114611e27578192939495600092611e1c575b50508160011b916000199060031b1c19161760018201556104c4565b015190503880611e00565b6001830160005260206000209060005b601f1984168110611e7e575060019394959683601f19811610611e65575b505050811b0160018201556104c4565b015160001960f88460031b161c19169055388080611e55565b9091602060018192858b015181550193019101611e37565b611eaf915060203d602011611a5a57611a4c8183612ec9565b386104be565b611ed460408401511515601683019060ff801983541691151516179055565b610459565b611ef2915060203d602011611a5a57611a4c8183612ec9565b38610453565b6080610120840151611f3b60128401611f2083511515829060ff801983541691151516179055565b6020830151815461ff00191690151560081b61ff0016179055565b60408101516013840155611f6460608201511515601485019060ff801983541691151516179055565b015160158201556103ee565b60c0830151600482015560208301516001600160a01b031680611ff4575b5060608301516003811015611d7f57611faa906005830161309a565b60608301516003811015611d7f576002036103d85760405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964496e7075747360981b6044820152606490fd5b81546001600160a01b03191617815538611f8e565b601a8201546001600160a01b0316801590811561205c575b50156103d3575b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b905033141538612021565b5081546001600160a01b031633146103cd565b60405162461bcd60e51b8152602060048201526012602482015271155c19185d195cd0599d195c90db1bdcd95960721b6044820152606490fd5b80fd5b5080fd5b600080fd5b50346120b45760a03660031901126120b4576024356001600160401b0381116120b7576120f1903690600401612eea565b6044356001600160401b038111612db357612110903690600401612eea565b60643591906001600160a01b0383168303612e465761212d61395f565b6004358452600080516020613bc583398151915260205260408420926040519361044085018581106001600160401b03821117612e1e57604090815281546001600160a01b031686525161218f8161218881600186016134d8565b0382612ec9565b60208601526040516121a081612e4a565b6040516121b4816121888160028701612fc2565b81526040516121ca816121888160038701612fc2565b602082015260408601526004810154606086015260ff6005820154166003811015612e325760808601526040516122088161218881600686016134d8565b60a08601526040516122218161218881600786016134d8565b60c086015260ff6008820154612238828216613090565b81811660e0880152818160081c16151561010088015260101c1615156101208601526009810154610140860152612271600a82016136d3565b610160860152612283600e82016136d3565b61018086015260405161229581612e65565b60ff60128301548181161515835260081c16151560208201526013820154604082015260ff60148301541615156060820152601582015460808201526101a086015260ff60168201541615156101c086015260178101546101e08601526018810154610200860152601981015461022086015260018060a01b03601a8201541661024086015260ff601b82015460018060a01b03811661026088015260a01c16151561028086015260018060a01b03601c820154166102a08601526040516123648161218881601d8601612fff565b6102c086015260405161237e8161218881601e8601612fff565b6102e08601526040516123988161218881601f8601612fff565b6103008601526123aa6020820161372e565b6103208601526123bc6023820161372e565b6103408601526123ce6026820161372e565b6103608601526123e06029820161372e565b610380860152604051806102408101106001600160401b0361024083011117612e1e5790816102406067930160405261241b602c8301613764565b8152612429602f8301613764565b602082015261243a60328301613764565b604082015261244b60358301613764565b606082015261245c60388301613764565b608082015261246d603b8301613764565b60a082015261247e603e8301613764565b60c082015261248f60418301613764565b60e08201526124a060448301613764565b6101008201526124b260478301613764565b6101208201526124c4604a8301613764565b6101408201526124d6604d8301613764565b6101608201526124e860508301613764565b6101808201526124fa60538301613764565b6101a082015261250c60568301613764565b6101c082015261251e60598301613764565b6101e0820152612530605c8301613764565b610200820152612542605f8301613764565b6102208201526103a087015260628101546103c087015260ff60638201541615156103e087015260405161257581612e80565b606482015481526065820154602082015260668201546040820152610400870152015461042085015283516001600160a01b0316330361202857849160405190602082018151926125de602082818601966125d181878a6137c2565b8101038084520182612ec9565b5190206040516020810190621cd95d60ea1b8252600381526125ff81612e4a565b51902003612c3c575050602061265592936004358552600080516020613bc58339815191528252602c604086200160405194859283926350b567f760e11b845260048401526040602484015260448301906137e5565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4918215612c31578392612bfa575b5083516102408501516001600160a01b03908116911673__$2e6ee47b30d794e0597b4af30f16ddb84c$__3b15612bf657604051639d965a9b60e01b81526004810194909452336024850152604484015260648301526001600160a01b03166084808301919091523560a4820152818160c48173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af48015612beb57612bd7575b505060606020600080516020613ba5833981519152925b61042061296d61295561293d61286a6128526127fe6127e76127b561277c8a6111206040519e8f9e8f93600435855260408286015260018060a01b03815116604086015201519201526111608d01906137e5565b60408b0151908c6080603f198284030191015260206127a4835160408452604084019061380a565b92015190602081840391015261380a565b60608a015160a08c01526127d160808b015160c08d019061356e565b60a08a01518b8203603f190160e08d01526137e5565b60c08901518a8203603f19016101008c01526137e5565b60e088015161280c81613090565b6101208a015261010088015115156101408a015261012088015115156101608a01526101408801516101808a0152610160880151603f198a8303016101a08b0152613893565b610180870151888203603f19016101c08a0152613893565b60806101a0870151805115156101e08a0152602081015115156102008a015260408101516102208a0152606081015115156102408a015201516102608801526101c086015115156102808801526101e08601516102a08801526102008601516102c08801526102208601516102e088015260018060a01b036102408701511661030088015260018060a01b0361026087015116610320880152610280860151151561034088015260018060a01b036102a0870151166103608801526102c0860151603f19888303016103808901526138e7565b6102e0850151868203603f19016103a08801526138e7565b610300840151858203603f19016103c08701526138e7565b61032083015180516001600160a01b03166103e086015260208101516104008601526040015115156104208501529161034081015180516001600160a01b0316610440860152602081015161046086015260400151151561048085015261036081015180516001600160a01b03166104a086015260208101516104c08601526040015115156104e085015261038081015180516001600160a01b03166105008601526020810151610520860152604001511515610540850152612b876102206103a0830151612a4161056088018251613924565b612a546020820151610600890190613924565b612a6760408201516106a0890190613924565b612a7a6060820151610740890190613924565b612a8d60808201516107e0890190613924565b612aa060a0820151610880890190613924565b612ab360c0820151610920890190613924565b612ac660e08201516109c0890190613924565b612ada610100820151610a60890190613924565b612aee610120820151610b00890190613924565b612b02610140820151610ba0890190613924565b612b16610160820151610c40890190613924565b612b2a610180820151610ce0890190613924565b612b3e6101a0820151610d80890190613924565b612b526101c0820151610e20890190613924565b612b666101e0820151610ec0890190613924565b612b7a610200820151610f60890190613924565b0151611000860190613924565b6103c08101516110a08501526103e081015115156110c0850152604061040082015180516110e08701526020810151611100870152015161112085015201516111408301520390a1610aaa613a00565b612be090612e9b565b6120b7578138612711565b6040513d84823e3d90fd5b8480fd5b925090506020823d602011612c29575b81612c1760209383612ec9565b810103126120bb57839151903861267c565b3d9150612c0a565b6040513d85823e3d90fd5b91509150612c5c602060405180936125d1838301968792519283916137c2565b5190206040516020810190657265766f6b6560d01b825260068152612c8081612e4a565b51902003612de9576020612cd3916004358552600080516020613bc58339815191528252602c604086200160405193849283926350b567f760e11b845260048401526040602484015260448301906137e5565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4908115612c31578391612db7575b50815161024083015184916001600160a01b03918216911673__$2e6ee47b30d794e0597b4af30f16ddb84c$__3b15612db357612d4e604051948593849362aa061d60e81b855242923390600487016130ca565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af48015612c3157612d8c575b5060606020600080516020613ba583398151915292612728565b6020600080516020613ba58339815191529293612daa606093612e9b565b93925050612d72565b8280fd5b90506020813d602011612de1575b81612dd260209383612ec9565b81010312612db3575138612cfa565b3d9150612dc5565b60405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a5908125b9c1d5d609a1b6044820152606490fd5b634e487b7160e01b87526041600452602487fd5b634e487b7160e01b87526021600452602487fd5b8380fd5b604081019081106001600160401b03821117611a1c57604052565b60a081019081106001600160401b03821117611a1c57604052565b606081019081106001600160401b03821117611a1c57604052565b6001600160401b038111611a1c57604052565b608081019081106001600160401b03821117611a1c57604052565b90601f801991011681019081106001600160401b03821117611a1c57604052565b81601f820112156120bb578035906001600160401b038211611a1c5760405192612f1e601f8401601f191660200185612ec9565b828452602083830101116120bb57816000926020809301838601378301015290565b359081151582036120bb57565b6001600160401b038111611a1c5760051b60200190565b81601f820112156120bb57803591612f7b83612f4d565b92612f896040519485612ec9565b808452602092838086019260051b8201019283116120bb578301905b828210612fb3575050505090565b81358152908301908301612fa5565b90815480825260208092019260005281600020916000905b828210612fe8575050505090565b835485529384019360019384019390910190612fda565b90815480825260208092019260005281600020916000905b828210613025575050505090565b83546001600160a01b031685529384019360019384019390910190613017565b9060026040805161305581612e80565b61308c8195805483528351613071816121888160018601612fc2565b602084015261308584518096819301612fff565b0384612ec9565b0152565b60041115611d7f57565b906003811015611d7f5760ff80198354169116179055565b908160209103126120bb575180151581036120bb5790565b9081526001600160a01b03918216602082015291811660408301529091166060820152608081019190915260a00190565b90600182811c9216801561312b575b602083101461311557565b634e487b7160e01b600052602260045260246000fd5b91607f169161310a565b818110613140575050565b60008155600101613135565b9190601f811161315b57505050565b613187926000526020600020906020601f840160051c83019310613189575b601f0160051c0190613135565b565b909150819061317a565b80518210156131a75760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b600019810191908211611ce557565b918181106131d957505050565b6131879260005260206000209182019101613135565b90600160401b8111611a1c578154818355613187926131cc565b908082146132e35761321b81546130fb565b906001600160401b038211611a1c5781906132408261323a86546130fb565b8661314c565b600090601f83116001146132775760009261326c575b50508160011b916000199060031b1c1916179055565b015490503880613256565b81526020808220858352818320935090601f1985169083905b8282106132ca5750509084600195949392106132b1575b505050811b019055565b015460001960f88460031b161c191690553880806132a7565b8495819295850154815560018091019601940190613290565b5050565b8181146132e3578154916001600160401b038311611a1c5761330983836131ef565b60005260206000209060005260206000208154916000925b84841061332f575050505050565b6001809192019384549281850155019290613321565b8181146132e357815491600160401b8311611a1c5781548383558084106133a6575b506000526020600020906000526020600020906000905b83821061338b5750505050565b8061339860019285613209565b92810192918101910161337e565b600083815260208581832093840193015b8381106133c657505050613367565b80836133d4600193546130fb565b806133e2575b5050016133b7565b601f80821185146133f957505081555b83386133da565b61341290848452868420920160051c8201858301613135565b818355556133f2565b818103613426575050565b600380836134376131879585613345565b61344760018201600186016132e7565b6134576002820160028601613345565b0191016132e7565b8181146132e3578154916001600160401b038311611a1c57600160401b8311611a1c57613491838354818555846131cc565b60005260206000209060005260206000208154916000925b8484106134b7575050505050565b600191820180546001600160a01b03909216848601559390910192906134a9565b90600092918054916134e9836130fb565b91828252600193848116908160001461354b575060011461350b575b50505050565b90919394506000526020928360002092846000945b838610613537575050505001019038808080613505565b805485870183015294019385908201613520565b9294505050602093945060ff191683830152151560051b01019038808080613505565b906003821015611d7f5752565b9080825490818152602080910192818360051b8201019460005281600020936000915b8483106135ae5750505050505090565b9091929394958460016135cb8193601f198682030187528a6134d8565b980193019301919493929061359e565b90600361362a926080835261361b61360a6135f9608086018461357b565b858103602087015260018401612fc2565b84810360408601526002830161357b565b92606081850391015201612fc2565b90565b600260809160ff815481811615158652818160081c161515602087015260101c161515604085015260018060a01b0360018201541660608501520154910152565b90815461367a81612f4d565b9260409361368a85519182612ec9565b828152809460208092019260005281600020906000935b8585106136b057505050505050565b600184819284516136c581612188818a6134d8565b8152019301940193916136a1565b90600360606040516136e481612eae565b61308c81956136f28161366e565b8352604051613708816121888160018601612fc2565b60208401526137196002820161366e565b60408401526130856040518096819301612fc2565b9060405161373b81612e80565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b906040519161377283612eae565b60608360ff835481811615158352818160081c161515602084015260101c16151560408201526002604051936137a785612e4a565b60018101546001600160a01b03168552015460208401520152565b60005b8381106137d55750506000910152565b81810151838201526020016137c5565b906020916137fe815180928185528580860191016137c2565b601f01601f1916010190565b90815180825260208080930193019160005b82811061382a575050505090565b83518552938101939281019260010161381c565b90815180825260208092019182818360051b82019501936000915b8483106138695750505050505090565b909192939495848061388383856001950387528a516137e5565b9801930193019194939290613859565b61362a9160606138d66138c46138b2855160808652608086019061383e565b6020860151858203602087015261380a565b6040850151848203604086015261383e565b92015190606081840391015261380a565b90815180825260208080930193019160005b828110613907575050505090565b83516001600160a01b0316855293810193928101926001016138f9565b6020606060809280511515855282810151151583860152604081015115156040860152015160018060a01b0381511660608501520151910152565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff8160a01c161580156139f7575b156139b2573330036139a1575050565b60ff60a01b1916600160a01b179055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50333014613991565b333003613a0957565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff60a01b19169055565b81810392916000138015828513169184121617611ce557565b91909160008382019384129112908015821691151617611ce557565b6001600160ff1b038114611ce55760010190565b600160ff1b8114611ce5576000190190565b91908082838214613b9d57613ac3613abd613ab7613ab08588613a37565b6002900590565b84613a50565b86613193565b515b81841315613afe5750808212613aed575b5050818112613ae457505050565b61318792613a92565b613af79185613a92565b3880613ad6565b959192949390945b86613b118287613193565b511015613b2657613b2190613a6c565b613b06565b95945b613b338186613193565b51861015613b4957613b4490613a80565b613b29565b90939495929195818413613ac5579092613b91613b9791613b6a8689613193565b51613b75828a613193565b51613b80888b613193565b52613b8b828a613193565b52613a6c565b93613a80565b90613ac5565b505050505056fe364502d723e5ab665a7fdb51cffd24931248ebbf2a52d809c6fd1e9005b4dd9ef42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42a2646970667358221220616dd175f011d7b444c442821c57ea2317f210e8a1cc345585b49ff4868f5e1364736f6c63430008120033"; + "0x6080806040523461001657612bcc908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c8063619a990714610a785763fed93ea21461003257600080fd5b34610a735760a0366003190112610a735760043563ffffffff81168103610a7357602435906011821015610a7357604435906002821015610a73576001600160a01b0392606435848116939190849003610a735761008e612931565b61009783611e38565b936100e160ff60066100d88763ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b01541615611e6d565b604051926100ee84611d22565b600080855260209485015261010281611eae565b80610a0857506040519061011582611d22565b815260843583820152905b8061020857508482610150968654166040518098819263bb37a28360e01b835242903360248c0160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49586156101fc57600080516020612b7783398151915296610192916000916101cf575b506128f6565b60258501908251166001600160601b0360a01b825416179055015160268301555b6101c260405192839283612512565b0390a16101cd6129d2565b005b6101ef9150853d87116101f5575b6101e78183611d3d565b810190611ece565b3861018c565b503d6101dd565b6040513d6000823e3d90fd5b600381036102a15750848261023b968654166040518098819263bb37a28360e01b8352429033602d8c0160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49586156101fc57600080516020612b778339815191529661027c916000916101cf57506128f6565b602e8501908251166001600160601b0360a01b8254161790550151602f8301556101b3565b6004810361033a575084826102d4968654166040518098819263bb37a28360e01b835242903360308c0160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49586156101fc57600080516020612b7783398151915296610315916000916101cf57506128f6565b60318501908251166001600160601b0360a01b825416179055015160328301556101b3565b600581036103d35750848261036d968654166040518098819263bb37a28360e01b835242903360338c0160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49586156101fc57600080516020612b77833981519152966103ae916000916101cf57506128f6565b60348501908251166001600160601b0360a01b825416179055015160358301556101b3565b6007810361046c57508482610406968654166040518098819263bb37a28360e01b835242903360368c0160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49586156101fc57600080516020612b7783398151915296610447916000916101cf57506128f6565b60378501908251166001600160601b0360a01b825416179055015160388301556101b3565b600881036105055750848261049f968654166040518098819263bb37a28360e01b8352429033603c8c0160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49586156101fc57600080516020612b77833981519152966104e0916000916101cf57506128f6565b603d8501908251166001600160601b0360a01b8254161790550151603e8301556101b3565b6009810361059e57508482610538968654166040518098819263bb37a28360e01b8352429033603f8c0160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49586156101fc57600080516020612b7783398151915296610579916000916101cf57506128f6565b60408501908251166001600160601b0360a01b825416179055015160418301556101b3565b600a8103610637575084826105d1968654166040518098819263bb37a28360e01b835242903360428c0160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49586156101fc57600080516020612b7783398151915296610612916000916101cf57506128f6565b60438501908251166001600160601b0360a01b825416179055015160448301556101b3565b600b81036106d05750848261066a968654166040518098819263bb37a28360e01b835242903360458c0160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49586156101fc57600080516020612b77833981519152966106ab916000916101cf57506128f6565b60468501908251166001600160601b0360a01b825416179055015160478301556101b3565b600c810361076957508482610703968654166040518098819263bb37a28360e01b835242903360488c0160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49586156101fc57600080516020612b7783398151915296610744916000916101cf57506128f6565b60498501908251166001600160601b0360a01b8254161790550151604a8301556101b3565b600d81036108025750848261079c968654166040518098819263bb37a28360e01b8352429033604b8c0160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49586156101fc57600080516020612b77833981519152966107dd916000916101cf57506128f6565b604c8501908251166001600160601b0360a01b8254161790550151604d8301556101b3565b600e810361089b57508482610835968654166040518098819263bb37a28360e01b8352429033604e8c0160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49586156101fc57600080516020612b7783398151915296610876916000916101cf57506128f6565b604f8501908251166001600160601b0360a01b825416179055015160508301556101b3565b600f8103610934575084826108ce968654166040518098819263bb37a28360e01b835242903360518c0160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49586156101fc57600080516020612b778339815191529661090f916000916101cf57506128f6565b60528501908251166001600160601b0360a01b825416179055015160538301556101b3565b6010036109cb578482610965968654166040518098819263bb37a28360e01b835242903360548c0160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49586156101fc57600080516020612b77833981519152966109a6916000916101cf57506128f6565b60558501908251166001600160601b0360a01b825416179055015160568301556101b3565b60405162461bcd60e51b8152600481018390526015602482015274125b9d985b1a59081cd95d1d1a5b99c81a5b9c1d5d605a1b6044820152606490fd5b60019150610a1581611eae565b03610a3657604051610a2681611d22565b6000815260008382015290610120565b60405162461bcd60e51b8152600481018390526015602482015274125b9d985b1a59081858dd1a5bdb881c185cdcd959605a1b6044820152606490fd5b600080fd5b34610a7357600319602036820112610a7357600435906001600160401b038211610a73578136039061018081830112610a7357610160604052610abd83600401611d5e565b60805260248301356001600160a01b0381168103610a735760a05260448301356001600160401b038111610a7357610afb9060043691860101611d6f565b60c05260648301356001600160401b038111610a73576040908401918236030112610a735760405190610b2d82611d22565b60048101356001600160401b038111610a7357610b509060043691840101611dc5565b82526024810135906001600160401b038211610a73576004610b759236920101611dc5565b602082015260e05260848201356001600160401b038111610a7357610ba09060043691850101611d6f565b6101005260a4820135906001600160401b038211610a7357610bca60c09260043691860101611d6f565b6101205260c3190112610a73576040519060c082018281106001600160401b0382111761177757610c579161016491604052610c0860c48201611e2b565b8452610c1660e48201611d5e565b6020850152610c286101048201611d5e565b6040850152610c3a6101248201611e2b565b6060850152610c4c6101448201611d5e565b608085015201611d5e565b60a082015261014052610c68612931565b610c7963ffffffff60805116611e38565b610cc160ff60066100d863ffffffff6080511663ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b8054336001600160a01b03821614611bcf575b50805460405163bb37a28360e01b81529060209082908190610d099042906001600160a01b0316336045890160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156101fc57600091611bb0575b50611ad1575b805460405163bb37a28360e01b81529060209082908190610d6b9042906001600160a01b031633604e890160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156101fc57600091611ab2575b506118ab575b805460405163bb37a28360e01b81529060209082908190610dcd9042906001600160a01b031633604b890160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156101fc5760009161188c575b506117ac575b805460405163bb37a28360e01b81529060209082908190610e2f9042906001600160a01b0316336048890160048601611ee6565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156101fc5760009161178d575b50611676575b600080516020612b7783398151915290610e7e63ffffffff60805116611e38565b818103610e9f575b5063ffffffff608051166101c260405192839283612512565b815481546001600160a01b0319166001600160a01b0391909116178155610ecc600183810190830161201c565b6002810160028301808203611656575b5050600482015460048201556005810160ff600584015416610efd81611eae565b60ff19825416179055610f16600683016006830161201c565b610f26600783016007830161201c565b60088201546008820155610f40600983016009830161222e565b610f50600d8301600d830161222e565b601181016011830190818103611579575b5050610f8360ff601284015416601283019060ff801983541691151516179055565b601382810154908201556014808301549082015560158083015490820180546001600160a01b03199081166001600160a01b039384161790915560168085015490840180548316918416919091179055601780850180549185018054808516938616938417825591546001600160a81b031990921690921760a091821c60ff16151590911b60ff60a01b16179055601880850154908401805490921692169190911790556110376019808401908301612272565b611047601a8301601a8301612272565b611057601b8301601b8301612272565b611067601c8301601c83016122eb565b611077601e8301601e83016122eb565b61108760208301602083016122eb565b61109760228301602283016122eb565b602481016024830190818114158061112b575b505050605781016057830163ffffffff81541664ff0000000060ff8454938363ffffffff1986161786555460201c16151560201b169164ffffffffff191617179055605881016058830180820361110d575b5050605b8083015491015582610e86565b54905560598201546059820155605a820154605a82015583806110fc565b61154a575b505060278101602783019081810361151b575b5050602a8101602a8301908181036114ec575b5050602d8101602d8301908181036114bd575b505060308101603083019081810361148e575b505060338101603383019081810361145f575b5050603681016036830190818103611430575b5050603981016039830190818103611401575b5050603c8101603c8301908181036113d2575b5050603f8101603f8301908181036113a3575b5050604281016042830190818103611374575b505060458101828203611342575b5060488101828203611310575b50604b81018282036112de575b50604e81018282036112ac575b5060518101605183019081810361127d575b505060548101605483019081810361124e575b806110aa565b60ff61126692541660ff801983541691151516179055565b61127660558301605583016122eb565b8380611248565b60ff61129592541660ff801983541691151516179055565b6112a560528301605283016122eb565b8380611235565b6112c89060ff604e8501541660ff801983541691151516179055565b6112d8604f8301604f83016122eb565b83611223565b6112fa9060ff604b8501541660ff801983541691151516179055565b61130a604c8301604c83016122eb565b83611216565b61132c9060ff60488501541660ff801983541691151516179055565b61133c60498301604983016122eb565b83611209565b61135e9060ff60458501541660ff801983541691151516179055565b61136e60468301604683016122eb565b836111fc565b60ff61138c92541660ff801983541691151516179055565b61139c60438301604383016122eb565b83806111ee565b60ff6113bb92541660ff801983541691151516179055565b6113cb60408301604083016122eb565b83806111db565b60ff6113ea92541660ff801983541691151516179055565b6113fa603d8301603d83016122eb565b83806111c8565b60ff61141992541660ff801983541691151516179055565b611429603a8301603a83016122eb565b83806111b5565b60ff61144892541660ff801983541691151516179055565b61145860378301603783016122eb565b83806111a2565b60ff61147792541660ff801983541691151516179055565b61148760348301603483016122eb565b838061118f565b60ff6114a692541660ff801983541691151516179055565b6114b660318301603183016122eb565b838061117c565b60ff6114d592541660ff801983541691151516179055565b6114e5602e8301602e83016122eb565b8380611169565b60ff61150492541660ff801983541691151516179055565b611514602b8301602b83016122eb565b8380611156565b60ff61153392541660ff801983541691151516179055565b61154360288301602883016122eb565b8380611143565b60ff61156292541660ff801983541691151516179055565b61157260258301602583016122eb565b8380611130565b63ffffffff8261159c60ff61164f955416849060ff801983541691151516179055565b8054835464ffffffff001916600891821c841690911b64ffffffff00161783558054835468ffffffff00000000001916602891821c841690911b68ffffffff0000000000161783558054835460ff60481b1916604891821c60ff16151590911b60ff60481b161783558054835463ffffffff60501b1916605091821c841690911b63ffffffff60501b1617835554825463ffffffff60701b1916607091821c92909216901b63ffffffff60701b16179055565b8380610f61565b61165f916120fa565b61166f60038301600383016120fa565b8380610edc565b61012051805191906001600160401b038311611777576116a68361169d6007850154611f0e565b60078501611f5f565b602090601f84116001146116f857600080516020612b778339815191529391600091836116ed575b50508160011b916000199060031b1c19161760078201555b9050610e5d565b0151905084806116ce565b906007830160005260206000209160005b601f198616811061175f5750918491600193600080516020612b7783398151915296601f19811610611746575b505050811b0160078201556116e6565b015160001960f88460031b161c19169055848080611736565b91926020600181928685015181550194019201611709565b634e487b7160e01b600052604160045260246000fd5b6117a6915060203d6020116101f5576101e78183611d3d565b82610e57565b610100518051906001600160401b0382116117775781906117dd826117d46006870154611f0e565b60068701611f5f565b602090601f831160011461181a5760009261180f575b50508160011b916000199060031b1c1916176006820155610dfb565b0151905083806117f3565b9250600684016000526020600020906000935b601f1984168510611871576001945083601f19811610611858575b505050811b016006820155610dfb565b015160001960f88460031b161c19169055838080611848565b8181015183556020948501946001909301929091019061182d565b6118a5915060203d6020116101f5576101e78183611d3d565b82610df5565b60ff6005820154166118bc81611eae565b15611a37575b60e05160200151805180611982575b50506060608001519081519182516001600160401b03811161177757602060028401946118fe8387612002565b0193600052602060002060005b82811061196e575050506020015180519192506001600160401b038211611777576020600384019161193d8484612002565b0190600052602060002060005b83811061195a5750505050610d99565b60019060208451940193818401550161194a565b60019060208751970196818401550161190b565b61198e61199691611fd0565b600083612a64565b60e0805160209081019290925251015180516000198101908111611a21576119bd91611fa6565b517ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4754106119ec5781806118d1565b60405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964496e7075747360981b6044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b60e0515151156119ec5760606080015151611a5561198e8251611fd0565b60e0515260005b60e051518051821015611aab57611a7582601192611fa6565b51118015611a93575b6119ec576000198114611a2157600101611a5c565b50611aa48160606080015151611fa6565b5115611a7e565b50506118c2565b611acb915060203d6020116101f5576101e78183611d3d565b82610d93565b60c0518051906001600160401b038211611777578190611b0182611af86001870154611f0e565b60018701611f5f565b602090601f8311600114611b3e57600092611b33575b50508160011b916000199060031b1c1916176001820155610d37565b015190508380611b17565b9250600184016000526020600020906000935b601f1984168510611b95576001945083601f19811610611b7c575b505050811b016001820155610d37565b015160001960f88460031b161c19169055838080611b6c565b81810151835560209485019460019093019290910190611b51565b611bc9915060203d6020116101f5576101e78183611d3d565b82610d31565b60a0516001600160a01b03169081151580611cf6575b611ce2575b505060ff600582015416611bfd81611eae565b611c08575b81610cd4565b611cdd60c06080015163ffffffff60a06011850192611c3681511515859060ff801983541691151516179055565b6020810151845464ffffffff00191690841660081b64ffffffff00161784556040810151845468ffffffff0000000000191690841660281b68ffffffff0000000000161784556060810151845460ff60481b191690151560481b60ff60481b161784556080810151845463ffffffff60501b191690841660501b63ffffffff60501b161784550151825463ffffffff60701b1916911660701b63ffffffff60701b16179055565b611c02565b6001600160a01b0319161781558180611bea565b5060168301546001600160a01b0316821480611be5575060158301546001600160a01b03168214611be5565b604081019081106001600160401b0382111761177757604052565b90601f801991011681019081106001600160401b0382111761177757604052565b359063ffffffff82168203610a7357565b81601f82011215610a73578035906001600160401b0382116117775760405192611da3601f8401601f191660200185611d3d565b82845260208383010111610a7357816000926020809301838601378301015290565b9080601f83011215610a73578135906001600160401b038211611777578160051b60405193602093611df985840187611d3d565b85528380860192820101928311610a73578301905b828210611e1c575050505090565b81358152908301908301611e0e565b35908115158203610a7357565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b15611e7457565b60405162461bcd60e51b8152602060048201526012602482015271155c19185d195cd0599d195c90db1bdcd95960721b6044820152606490fd5b60021115611eb857565b634e487b7160e01b600052602160045260246000fd5b90816020910312610a7357518015158103610a735790565b9081526001600160a01b03918216602082015291166040820152606081019190915260800190565b90600182811c92168015611f3e575b6020831014611f2857565b634e487b7160e01b600052602260045260246000fd5b91607f1691611f1d565b818110611f53575050565b60008155600101611f48565b9190601f8111611f6e57505050565b611f9a926000526020600020906020601f840160051c83019310611f9c575b601f0160051c0190611f48565b565b9091508190611f8d565b8051821015611fba5760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b600019810191908211611a2157565b91818110611fec57505050565b611f9a9260005260206000209182019101611f48565b90600160401b8111611777578154818355611f9a92611fdf565b908082146120f65761202e8154611f0e565b906001600160401b0382116117775781906120538261204d8654611f0e565b86611f5f565b600090601f831160011461208a5760009261207f575b50508160011b916000199060031b1c1916179055565b015490503880612069565b81526020808220858352818320935090601f1985169083905b8282106120dd5750509084600195949392106120c4575b505050811b019055565b015460001960f88460031b161c191690553880806120ba565b84958192958501548155600180910196019401906120a3565b5050565b8181146120f6578154916001600160401b0383116117775761211c8383612002565b60005260206000209060005260206000208154916000925b848410612142575050505050565b6001809192019384549281850155019290612134565b8181146120f657815491600160401b83116117775781548383558084106121b9575b506000526020600020906000526020600020906000905b83821061219e5750505050565b806121ab6001928561201c565b928101929181019101612191565b600083815260208581832093840193015b8381106121d95750505061217a565b80836121e760019354611f0e565b806121f5575b5050016121ca565b601f808211851461220c57505081555b83386121ed565b61222590848452868420920160051c8201858301611f48565b81835555612205565b818103612239575050565b6003808361224a611f9a9585612158565b61225a60018201600186016120fa565b61226a6002820160028601612158565b0191016120fa565b8181146120f6578154916001600160401b03831161177757600160401b8311611777576122a483835481855584611fdf565b60005260206000209060005260206000208154916000925b8484106122ca575050505050565b600191820180546001600160a01b03909216848601559390910192906122bc565b908082036122f7575050565b805482546001600160a01b0319166001600160a01b0391909116178255600190810154910155565b906000929180549161233083611f0e565b9182825260019384811690816000146123925750600114612352575b50505050565b90919394506000526020928360002092846000945b83861061237e57505050500101903880808061234c565b805485870183015294019385908201612367565b9294505050602093945060ff191683830152151560051b0101903880808061234c565b90815480825260208092019260005281600020916000905b8282106123db575050505090565b8354855293840193600193840193909101906123cd565b9080825490818152602080910192818360051b8201019460005281600020936000915b8483106124255750505050505090565b9091929394958460016124428193601f198682030187528a61231f565b9801930193019194939290612415565b9060036124a1926080835261249261248161247060808601846123f2565b8581036020870152600184016123b5565b8481036040860152600283016123f2565b926060818503910152016123b5565b90565b90815480825260208092019260005281600020916000905b8282106124ca575050505090565b83546001600160a01b0316855293840193600193840193909101906124bc565b805460ff161515825260018101546001600160a01b0316602083015260020154604090910152565b9091605b610ba09163ffffffff80951684526040602085015260018060a01b0380825416604086015281612717610b80928360608901526127036126ef612560610bc08b016001870161231f565b9261262261260e6125ef8d6125da6125a6603f19998a848203016080850152604081526125948d60026040840191016123b5565b90602081830391015260038d016123b5565b60048c015460a0840152600660ff9c8d6005820154166125c581611eae565b60c08601528b8584030160e08601520161231f565b90610100898284030191015260078c0161231f565b60088b01546101208f01528d810387016101408f015260098b01612452565b8c810386016101608e0152600d8a01612452565b601189015487811615156101808e0152600881901c8e166101a08e0152602881901c8e166101c08e0152604881901c881615156101e08e0152605081901c8e166102008e015260701c8d166102208d01526012890154871615156102408d015260138901546102608d015260148901546102808d0152601589015482166102a08d0152601689015482166102c08d015260178901548083166102e08e015260a01c871615156103008d015260188901549091166103208c01528a810384016103408c0152601988016124a4565b828a8203016103608b0152601a87016124a4565b9088820301610380890152601b85016124a4565b601c8401546001600160a01b03166103a0880152601d8401546103c088015296601e8401546001600160a01b03166103e0880152601f84015461040088015260208401546001600160a01b0316610420880152602184015461044088015260228401546001600160a01b031661046088015260238401546104808801526127a56104a08801602486016124ea565b6127b66105008801602786016124ea565b6127c76105608801602a86016124ea565b6127d86105c08801602d86016124ea565b6127e96106208801603086016124ea565b6127fa6106808801603386016124ea565b61280b6106e08801603686016124ea565b61281c6107408801603986016124ea565b61282d6107a08801603c86016124ea565b61283e6108008801603f86016124ea565b61284f6108608801604286016124ea565b6128606108c08801604586016124ea565b6128716109208801604886016124ea565b6128826109808801604b86016124ea565b6128936109e08801604e86016124ea565b6128a4610a408801605186016124ea565b6128b5610aa08801605486016124ea565b6057840154908116610b0088015260201c161515610b208601526058820154610b408601526059820154610b60860152605a82015490850152015491015290565b156128fd57565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff8160a01c161580156129c9575b1561298457333003612973575050565b60ff60a01b1916600160a01b179055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50333014612963565b3330036129db57565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff60a01b19169055565b81810392916000138015828513169184121617611a2157565b91909160008382019384129112908015821691151617611a2157565b6001600160ff1b038114611a215760010190565b600160ff1b8114611a21576000190190565b91908082838214612b6f57612a95612a8f612a89612a828588612a09565b6002900590565b84612a22565b86611fa6565b515b81841315612ad05750808212612abf575b5050818112612ab657505050565b611f9a92612a64565b612ac99185612a64565b3880612aa8565b959192949390945b86612ae38287611fa6565b511015612af857612af390612a3e565b612ad8565b95945b612b058186611fa6565b51861015612b1b57612b1690612a52565b612afb565b90939495929195818413612a97579092612b63612b6991612b3c8689611fa6565b51612b47828a611fa6565b51612b52888b611fa6565b52612b5d828a611fa6565b52612a3e565b93612a52565b90612a97565b505050505056fe28c1b2f18a3e71d2e6df5b0732ff252e57dc097525c7b3a6aa087522506a5b36a26469706673582212204e0c1ce662b949d6cc296af65c1e74856784bd29b3ccf392bfa76f9afc32dedd64736f6c63430008120033"; type AccountsUpdateEndowmentsConstructorParams = | [ diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdateStatusEndowments__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdateStatusEndowments__factory.ts index 91a1720c5..79e7e7c34 100644 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdateStatusEndowments__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdateStatusEndowments__factory.ts @@ -32,37 +32,10 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], indexed: false, - internalType: "struct AccountStorage.AllowanceData", + internalType: "uint256", name: "allowance", - type: "tuple", + type: "uint256", }, ], name: "AllowanceStateUpdatedTo", @@ -74,9 +47,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -129,29 +102,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -177,43 +150,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -228,7 +201,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -244,7 +217,7 @@ const _abi = [ ], indexed: false, internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", + name: "createdaomessage", type: "tuple", }, { @@ -263,13 +236,13 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -365,7 +338,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -378,21 +351,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -456,18 +414,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -475,12 +433,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -496,13 +459,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -526,17 +489,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -548,17 +511,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -570,14 +528,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -592,14 +545,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -614,17 +562,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -633,24 +576,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -665,31 +598,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -704,31 +627,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -743,31 +656,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -782,31 +685,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -821,31 +714,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -860,31 +743,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -899,31 +772,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -938,31 +801,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -984,24 +837,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1023,63 +866,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1094,31 +888,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1140,24 +924,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1179,24 +953,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1218,24 +982,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1257,24 +1011,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1296,24 +1040,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1337,9 +1071,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -1433,37 +1167,37 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { indexed: false, internalType: "address", - name: "curTokenin", + name: "tokenin", type: "address", }, { indexed: false, internalType: "address", - name: "curTokenout", + name: "tokenout", type: "address", }, { indexed: false, internalType: "uint256", - name: "curAmountout", + name: "amountout", type: "uint256", }, ], @@ -1480,23 +1214,65 @@ const _abi = [ name: "owner", type: "address", }, + { + internalType: "string", + name: "version", + type: "string", + }, { internalType: "address", name: "registrarContract", type: "address", }, { - internalType: "uint256", + internalType: "uint32", name: "nextAccountId", - type: "uint256", + type: "uint32", }, { internalType: "uint256", name: "maxGeneralCategoryId", type: "uint256", }, - ], - indexed: false, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + internalType: "bool", + name: "reentrancyGuardLocked", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, + ], + indexed: false, internalType: "struct AccountStorage.Config", name: "config", type: "tuple", @@ -1550,7 +1326,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1563,21 +1339,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -1641,18 +1402,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -1660,12 +1421,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -1681,13 +1447,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -1711,17 +1477,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1733,17 +1499,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1755,14 +1516,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1777,14 +1533,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1799,17 +1550,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1818,24 +1564,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1850,31 +1586,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1889,31 +1615,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1928,31 +1644,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1967,31 +1673,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2006,31 +1702,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2045,31 +1731,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2084,31 +1760,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2123,31 +1789,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2169,24 +1825,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2208,24 +1854,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2240,70 +1876,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2325,24 +1912,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2364,24 +1941,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2403,24 +1970,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2442,24 +1999,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2481,24 +2028,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2522,9 +2059,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -2569,142 +2106,24 @@ const _abi = [ type: "event", }, { - anonymous: false, inputs: [ { - indexed: false, - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { components: [ { components: [ { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", - type: "tuple", - }, - { - internalType: "bool", - name: "closingEndowment", - type: "bool", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", + internalType: "uint32", + name: "endowId", + type: "uint32", }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", - type: "tuple", - }, - ], - indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", - type: "tuple", - }, - ], - name: "UpdateEndowmentState", - type: "event", - }, - { - inputs: [ - { - internalType: "uint256", - name: "curId", - type: "uint256", - }, - { - components: [ - { - components: [ { internalType: "uint256", - name: "id", + name: "fundId", type: "uint256", }, { @@ -2724,7 +2143,7 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.Beneficiary", - name: "curBeneficiary", + name: "beneficiary", type: "tuple", }, ], @@ -2733,113 +2152,28 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, - { - inputs: [ - { - components: [ - { - internalType: "uint256", - name: "endowmentId", - type: "uint256", - }, - { - internalType: "uint256", - name: "status", - type: "uint256", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "beneficiary", - type: "tuple", - }, - ], - internalType: "struct AccountMessages.UpdateEndowmentStatusRequest", - name: "curDetails", - type: "tuple", - }, - ], - name: "updateEndowmentStatus", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, ] as const; const _bytecode = - "0x60808060405234610016576139b2908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c9081630c207b691461003a5750636c7763221461003557600080fd5b61045a565b34610205576080366003190112610205577f758243dab8e0b86a43e2f0b0d6e842211dc46a791072e017f73e274b81ad1e526004356101b4600861007d366103ac565b6100856136cb565b6101a86100bb856000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b916100c7333014611613565b61015a60178401916100da835415612b0f565b61011f866101118a6000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b01805460ff19166001179055565b6009610154896000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b01612b52565b610198600e840161017961016d82610caf565b63ffffffff8a16612ed1565b6010850154905490610193828261018e612b99565b613913565b612be3565b8091556101a3612bf5565b6138b5565b01805461ff0019169055565b6101e7816000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b906101f760405192839283612c7f565b0390a161020261376c565b80f35b80fd5b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b0382111761023957604052565b610208565b606081019081106001600160401b0382111761023957604052565b608081019081106001600160401b0382111761023957604052565b60a081019081106001600160401b0382111761023957604052565b602081019081106001600160401b0382111761023957604052565b6001600160401b03811161023957604052565b90601f801991011681019081106001600160401b0382111761023957604052565b604051906102eb8261021e565b565b6040519061024082018281106001600160401b0382111761023957604052565b6040519061044082018281106001600160401b0382111761023957604052565b6040519061042082018281106001600160401b0382111761023957604052565b6040519061010082018281106001600160401b0382111761023957604052565b6040519060c082018281106001600160401b0382111761023957604052565b6001600160a01b0381160361039d57565b600080fd5b6004111561039d57565b60231901906060821261039d576040516103c58161021e565b604081931261039d576040516103da8161021e565b60243581526044356103eb8161038c565b60208201528152602060643591610401836103a2565b0152565b60431901906060821261039d5760405161041e8161021e565b604081931261039d576040516104338161021e565b60443581526064356104448161038c565b60208201528152602060843591610401836103a2565b3461039d5760a036600319011261039d57604080516104788161023e565b6004358152602080820192602435845261049136610405565b928181019384526104a06136cb565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46546001600160a01b031661050761050283516000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b610fb1565b9360e0850195865161051881610c30565b61052181610c30565b61052f600380921415611202565b85519063e68f909d60e01b82526000998a8360048160018060a01b03809a165afa9283156109f9578b93610a76575b507ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d45548291906105a9906105a2906001600160a01b03165b6001600160a01b031690565b3314611613565b6105b6828251111561164e565b51806109fe57505089915b6105e9838b516105d081610c30565b6105d982610c30565b6105e281610c30565b141561168d565b80880180519096610605916001600160a01b03161615156116e5565b61060d611729565b93610616611729565b958c61062061175c565b9861062a87610c30565b600187036106bf57505050505050916101f79493916106716106b39460008051602061395d8339815191529a6106646101008c0160019052565b60016101208c0152610c3a565b6106ae886106a987516000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b6121c0565b6137a3565b519151928392836127ae565b6106c887610c30565b6002870361070e57505050505050916101f79493916106716106b39460008051602061395d8339815191529a6107026101008c0160019052565b8c6101208c0152610c3a565b61071787610c30565b858714610748575b505050505050916101f79493916106716106b39460008051602061395d8339815191529a610c3a565b9296509296509296506107596117a3565b50610762611741565b9461076b611741565b9661077461176f565b98610781868451016117cf565b61078a81610c30565b146108b457509a8961088f89889660008051602061395d8339815191529f8f886101f79f9e9c8f6106b39f9d9a90838f61080f906106719f610831966107fb6107f56108459861080a946101206108839f519e5b61010081018390520152516001600160a01b031690565b91611a08565b6001600160a01b039091169052565b611a08565b525189516350d3a55760e11b8882015260248101919091529182906044820190565b039661080a601f19988981018552846102bd565b5261084f8d611a08565b5061085d306107fb8d611a1a565b6108668c611a1a565b528d519551958693630c207b6960e01b9085015260248401611a3e565b039081018352826102bd565b61089887611a1a565b526108a286611a1a565b509a8395979850819496508c3861071f565b989795939694919250506108d4610596610596845160018060a01b031690565b87518a516338f866f560e01b815260048101919091529b908d908d9060249082905afa80156109f95761088f878f9960008051602061395d8339815191529f8f8f959c6101f79f8f6106b39f90838f8f906106719f61080f926107fb6107f561080a93878f6108839f906108319d6108459d6101209385916109d7575b5080516109a357506080015161099d906001600160a01b03169161098a6109766102de565b8681526001600160a01b0390941682850152565b6109926102de565b928352820160029052565b9e6107de565b61099d91506109b190611a08565b5151916109bc6102de565b92835284818401526109cc6102de565b928352820160019052565b6109f391503d8087833e6109eb81836102bd565b8101906118ba565b38610951565b611607565b60018103610a105750506001916105c1565b60028103610a225750506002916105c1565b03610a2e5780916105c1565b865162461bcd60e51b815260206004820152601760248201527f496e76616c696420456e646f776d656e745374617475730000000000000000006044820152606490fd5b0390fd5b82919350610a96908c3d8091833e610a8e81836102bd565b810190611377565b929061055e565b90600182811c92168015610acd575b6020831014610ab757565b634e487b7160e01b600052602260045260246000fd5b91607f1691610aac565b9060405191826000825492610aeb84610a9d565b908184526001948581169081600014610b585750600114610b15575b50506102eb925003836102bd565b9093915060005260209081600020936000915b818310610b405750506102eb93508201013880610b07565b85548884018501529485019487945091830191610b28565b9150506102eb94506020925060ff191682840152151560051b8201013880610b07565b90815480825260208092019260005281600020916000905b828210610ba1575050505090565b835485529384019360019384019390910190610b93565b9060016020604051610bc98161021e565b6104018195604051610be681610bdf8185610b7b565b03826102bd565b8352610bf86040518096819301610b7b565b03846102bd565b634e487b7160e01b600052602160045260246000fd5b60031115610c1f57565b610bff565b610c2d82610c15565b52565b60041115610c1f57565b610c2d82610c30565b6001600160401b0381116102395760051b60200190565b908154610c6681610c43565b92610c7460405194856102bd565b818452600090815260208082208186015b848410610c93575050505050565b6001838192610ca185610ad7565b815201920193019290610c85565b9060036060604051610cc081610259565b6104018195610cce81610c5a565b8352604051610ce481610bdf8160018601610b7b565b6020840152610cf560028201610c5a565b6040840152610bf86040518096819301610b7b565b90604051610d1781610274565b60806003829460ff81548181161515865260081c16151560208501526001810154604085015260ff600282015416151560608501520154910152565b90815480825260208092019260005281600020916000905b828210610d79575050505090565b83546001600160a01b031685529384019360019384019390910190610d6b565b906102eb610dad9260405193848092610d53565b03836102bd565b90604051610dc18161023e565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b9060405191610df883610259565b60608360ff835481811615158352818160081c161515602084015260101c1615156040820152600260405193610e2d8561021e565b60018101546001600160a01b03168552015460208401520152565b90610f816033610e566102ed565b93610e6081610dea565b8552610e6e60038201610dea565b6020860152610e7f60068201610dea565b6040860152610e9060098201610dea565b6060860152610ea1600c8201610dea565b6080860152610eb2600f8201610dea565b60a0860152610ec360128201610dea565b60c0860152610ed460158201610dea565b60e0860152610ee560188201610dea565b610100860152610ef7601b8201610dea565b610120860152610f09601e8201610dea565b610140860152610f1b60218201610dea565b610160860152610f2d60248201610dea565b610180860152610f3f60278201610dea565b6101a0860152610f51602a8201610dea565b6101c0860152610f63602d8201610dea565b6101e0860152610f7560308201610dea565b61020086015201610dea565b610220830152565b90604051610f968161023e565b60406002829480548452600181015460208501520154910152565b906067610fbc61030d565b83546001600160a01b0316815292610fd660018201610ad7565b6020850152610fe760028201610bb8565b604085015260048101546060850152611010611007600583015460ff1690565b60808601610c24565b61101c60068201610ad7565b60a085015261102d60078201610ad7565b60c085015261106860ff600883015461104b82821660e08901610c3a565b600881901c8216151561010088015260101c161515610120860152565b600981015461014085015261107f600a8201610caf565b610160850152611091600e8201610caf565b6101808501526110a360128201610d0a565b6101a08501526110c46110ba601683015460ff1690565b15156101c0860152565b60178101546101e085015260188101546102008501526019810154610220850152601a8101546001600160a01b0316610240850152601b8101546001600160a01b03811661026086015260a01c60ff161515610280850152601c8101546001600160a01b03166102a085015261113c601d8201610d99565b6102c085015261114e601e8201610d99565b6102e0850152611160601f8201610d99565b61030085015261117260208201610db4565b61032085015261118460238201610db4565b61034085015261119660268201610db4565b6103608501526111a860298201610db4565b6103808501526111ba602c8201610e48565b6103a085015260628101546103c08501526111e66111dc606383015460ff1690565b15156103e0860152565b6111f260648201610f89565b6104008501520154610420830152565b1561120957565b60405162461bcd60e51b815260206004820152600e60248201526d1058d8dbdd5b9d0818db1bdcd95960921b6044820152606490fd5b51906102eb8261038c565b919082606091031261039d576040516112628161023e565b604080829480518452602081015160208501520151910152565b91906020808483031261039d57604051906112968261028f565b81948051906001600160401b03821161039d57019280601f8501121561039d5783516112c181610c43565b946112cf60405196876102bd565b818652838087019260051b82010192831161039d578301905b8282106112f6575050505052565b83809183516113048161038c565b8152019101906112e8565b5190811515820361039d57565b91908260a091031261039d5760405161133481610274565b60808082946113428161130f565b84526113506020820161130f565b60208501526040810151604085015261136b6060820161130f565b60608501520151910152565b9060208282031261039d5781516001600160401b039283821161039d57016104e08183031261039d576113a861032d565b926113b28261123f565b84526113c06020830161123f565b60208501526113d16040830161123f565b60408501526113e26060830161123f565b60608501526113f36080830161123f565b608085015261140460a0830161123f565b60a085015261141560c0830161123f565b60c085015261142660e0830161123f565b60e085015261010061143981840161123f565b9085015261012061144b81840161123f565b9085015261014061145d81840161123f565b9085015261016061146f81840161123f565b9085015261018061148181840161123f565b908501526101a061149381840161123f565b908501526101c06114a68482850161124a565b90850152610220916114b983820161123f565b6101e0860152610240936114ce85830161123f565b610200870152610260936114e385840161123f565b90870152610280946114f686840161123f565b908701526102a09384830151908701526102c09461151586840161123f565b908701526102e08083015193841161039d576116009461153a836104c096860161127c565b908801526103009561154d87850161123f565b908801526115606103209283850161131c565b908701526103c09461157386840161123f565b908701526103e09061158682840161123f565b908701526104009461159986840161123f565b6103408801526115ac610420840161123f565b6103608801526115bf610440840161123f565b6103808801526115d2610460840161123f565b6103a08801526115e5610480840161123f565b908701526115f66104a0830161123f565b908601520161123f565b9082015290565b6040513d6000823e3d90fd5b1561161a57565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b1561165557565b60405162461bcd60e51b815260206004820152601060248201526f14dd185d1d5cc81b9bdd08199bdd5b9960821b6044820152606490fd5b1561169457565b60405162461bcd60e51b8152602060048201526024808201527f4e6577207374617475732073696d696c617220746f2063757272656e742073746044820152636174757360e01b6064820152608490fd5b156116ec57565b60405162461bcd60e51b815260206004820152601560248201527410dbdb9d1c9858dd139bdd10dbdb999a59dd5c9959605a1b6044820152606490fd5b6040516117358161028f565b60008152906000368137565b6040519061174e8261023e565b600282526040366020840137565b6040516117688161028f565b6000815290565b60409081519161177e8361023e565b600283528260005b82811061179257505050565b806060602080938501015201611786565b604051906117b08261021e565b60006020836040516117c18161021e565b838152838382015281520152565b516117d981610c30565b90565b6001600160401b03811161023957601f01601f191660200190565b60005b83811061180a5750506000910152565b81810151838201526020016117fa565b81601f8201121561039d578051611830816117dc565b9261183e60405194856102bd565b8184526020828401011161039d576117d991602080850191016117f7565b81601f8201121561039d5780519161187383610c43565b9261188160405194856102bd565b808452602092838086019260051b82010192831161039d578301905b8282106118ab575050505090565b8151815290830190830161189d565b90602090818382031261039d5782516001600160401b039384821161039d57019080601f8301121561039d5781516118f181610c43565b94604090611901825197886102bd565b828752858088019360051b8601019484861161039d57868101935b86851061192e57505050505050505090565b845183811161039d5782016101009182601f19838a03011261039d5761195261034d565b8a83015181528683015186811161039d57898c6119719286010161181a565b8b8201526060938484015187811161039d578a8d6119919287010161181a565b88830152608090818501519488861161039d578d966119b58d89809985010161185c565b9085015260a0926119c784830161130f565b9085015260c092838201519085015260e092838201519085015201519082015281520194019361191c565b634e487b7160e01b600052603260045260246000fd5b805115611a155760200190565b6119f2565b805160011015611a155760400190565b8051821015611a155760209160051b010190565b90815281518051602080840191909152908101516001600160a01b031660408301529091015160808201929160609061040183610c30565b818110611a81575050565b60008155600101611a76565b9190601f8111611a9c57505050565b6102eb926000526020600020906020601f840160051c83019310611ac8575b601f0160051c0190611a76565b9091508190611abb565b91909182516001600160401b03811161023957611af981611af38454610a9d565b84611a8d565b602080601f8311600114611b35575081929394600092611b2a575b50508160011b916000199060031b1c1916179055565b015190503880611b14565b90601f19831695611b4b85600052602060002090565b926000905b888210611b8857505083600195969710611b6f575b505050811b019055565b015160001960f88460031b161c19169055388080611b65565b80600185968294968601518155019501930190611b50565b634e487b7160e01b600052601160045260246000fd5b91818110611bc357505050565b6102eb9260005260206000209182019101611a76565b8151916001600160401b03831161023957600160401b831161023957611c0483835481855584611bb6565b602080910191600052806000209060005b848110611c23575050505050565b83518382015592810192600101611c15565b9080519081516001600160401b039283821161023957600160401b80831161023957611c6683875481895588611bb6565b602080920192600093878552838520855b838110611cd55750505050816001809701940151908151958611610239578511610239578190611cac86865481885587611bb6565b01928252808220915b848110611cc457505050505050565b835183820155928101928501611cb5565b82518282015591850191600101611c77565b90611cf181610c15565b60ff80198354169116179055565b90611cf181610c30565b815191600160401b8311610239578154838355808410611d67575b50611d39602080920192600052602060002090565b6000925b848410611d4b575050505050565b60018382611d5b83945186611ad2565b01920193019290611d3d565b6000838152846020822092830192015b828110611d85575050611d24565b80611d9260019254610a9d565b80611d9f575b5001611d77565b601f908181118414611db75750508281555b38611d98565b83611dd992611dcb85600052602060002090565b920160051c82019101611a76565b60008181526020812081835555611db1565b81518051939290600160401b8511610239578254858455808610611e80575b50602080910194611e2084600052602060002090565b956000905b828210611e64575050506102eb93945081611e4a606092600394015160018601611bd9565b611e5b604082015160028601611d09565b01519101611bd9565b60018482611e748394518c611ad2565b01980191019096611e25565b6000848152866020822092830192015b828110611e9e575050611e0a565b80611eab60019254610a9d565b80611eb8575b5001611e90565b601f908181118414611ed05750508281555b38611eb1565b83611ee492611dcb85600052602060002090565b60008181526020812081835555611eca565b906080600391611f1581511515859060ff801983541691151516179055565b6020810151845461ff00191690151560081b61ff001617845560408101516001850155611f5760608201511515600286019060ff801983541691151516179055565b0151910155565b8151916001600160401b03831161023957600160401b831161023957611f8983835481855584611bb6565b602080910191600052806000209060005b848110611fa8575050505050565b83516001600160a01b03168382015592810192600101611f9a565b815181546001600160a01b0319166001600160a01b03919091161781556102eb91600290604090602081015160018501550151151591019060ff801983541691151516179055565b906020606060029261202c81511515869060ff801983541691151516179055565b80830151855461ff00191690151560081b61ff00161785556040810151855462ff0000191690151560101b62ff000016178555015180516001850180546001600160a01b0319166001600160a01b0392909216919091179055611f57565b60336102206102eb9361209e81518561200b565b6120af60208201516003860161200b565b6120c060408201516006860161200b565b6120d160608201516009860161200b565b6120e26080820151600c860161200b565b6120f360a0820151600f860161200b565b61210460c08201516012860161200b565b61211560e08201516015860161200b565b6121276101008201516018860161200b565b612139610120820151601b860161200b565b61214b610140820151601e860161200b565b61215d6101608201516021860161200b565b61216f6101808201516024860161200b565b6121816101a08201516027860161200b565b6121936101c0820151602a860161200b565b6121a56101e0820151602d860161200b565b6121b76102008201516030860161200b565b0151910161200b565b815181546001600160a01b0319166001600160a01b0390911617815590606790610420906121f5602082015160018601611ad2565b612206604082015160028601611c35565b6060810151600485015561222a608082015161222181610c15565b60058601611ce7565b61223b60a082015160068601611ad2565b61224c60c082015160078601611ad2565b6122b16008850161226a60e084015161226481610c30565b82611cff565b61229161227b610100850151151590565b825461ff00191690151560081b61ff0016178255565b6101208301511515815462ff0000191690151560101b62ff000016179055565b61014081015160098501556122ce610160820151600a8601611deb565b6122e0610180820151600e8601611deb565b6122f26101a082015160128601611ef6565b6123186123036101c0830151151590565b601686019060ff801983541691151516179055565b6101e0810151601785015561020081015160188501556102208101516019850155610240810151601a850180546001600160a01b0319166001600160a01b03928316179055610260820151601b86018054610280850151929093166001600160a81b03199093169290921790151560a01b60ff60a01b161790556102a0810151601c850180546001600160a01b0319166001600160a01b039092169190911790556123cb6102c0820151601d8601611f5e565b6123dd6102e0820151601e8601611f5e565b6123ef610300820151601f8601611f5e565b61240161032082015160208601611fc3565b61241361034082015160238601611fc3565b61242561036082015160268601611fc3565b61243761038082015160298601611fc3565b6124496103a0820151602c860161208a565b6103c0810151606285015561247a6124656103e0830151151590565b606386019060ff801983541691151516179055565b6104008101518051606486015560208101516065860155604001516066850155611f57565b906020916124b8815180928185528580860191016117f7565b601f01601f1916010190565b90815180825260208080930193019160005b8281106124e4575050505090565b8351855293810193928101926001016124d6565b6117d991602061251183516040845260408401906124c4565b9201519060208184039101526124c4565b90610c2d82610c15565b90610c2d82610c30565b90815180825260208092019182818360051b85019501936000915b8483106125615750505050505090565b909192939495848061257b83856001950387528a5161249f565b9801930193019194939290612551565b6117d99160606125ce6125bc6125aa8551608086526080860190612536565b602086015185820360208701526124c4565b60408501518482036040860152612536565b9201519060608184039101526124c4565b90815180825260208080930193019160005b8281106125ff575050505090565b83516001600160a01b0316855293810193928101926001016125f1565b6020606060809280511515855282810151151583860152604081015115156040860152015160018060a01b0381511660608501520151910152565b90610aa06102206102eb9361266d84825161261c565b61267f602082015160a086019061261c565b6127906040820151612697610140918288019061261c565b6127326060840151916126b06101e093848a019061261c565b6126c360808601516102808a019061261c565b6126d660a08601516103208a019061261c565b6126e960c08601516103c08a019061261c565b6126fc60e08601516104608a019061261c565b6127106101008601516105008a019061261c565b6127246101208601516105a08a019061261c565b84015161064088019061261c565b6127466101608401516106e088019061261c565b61275a61018084015161078088019061261c565b61276e6101a084015161082088019061261c565b6127826101c08401516108c088019061261c565b82015161096086019061261c565b6127a4610200820151610a0086019061261c565b015191019061261c565b90815260406020820181905282516001600160a01b031690820152602082015160608201611120905261116082016127e59161249f565b916040810151603f199384848203016080850152612802916124f8565b606082015160a0840152608082015160c0840161281e91612522565b60a082015190848482030160e08501526128379161249f565b9260c0820151610100948285820301868601526128539161249f565b9060e0830151946101209586860161286a9161252c565b830151946101409586860161287f9115159052565b83015194610160958686016128949115159052565b8301519461018095868601528301516101a0928286820301848701526128b99161258b565b948301516101c0958286820301878701526128d39161258b565b91830151946101e0958686016129169160808091805115158452602081015115156020850152604081015160408501526060810151151560608501520151910152565b830151946102809586860161292b9115159052565b830151916102a09283860152610200840151906102c09182870152610220850151916102e09283880152610240860151610300908189016129729160018060a01b03169052565b6102608701516001600160a01b031661032089810191909152988701519561034096878a016129a19115159052565b8701516001600160a01b0316610360898101919091529187015161038093868a820301858b01526129d1916125df565b938701516103a094868a820301868b01526129eb916125df565b90870151906103c09589820301868a0152612a05916125df565b9786015180516001600160a01b03166103e08981019190915260208201516104008a015260409091015115156104208901529486015180516001600160a01b0316610440890152602081015161046089015260400151151561048088015285015180516001600160a01b03166104a088015260208101516104c08801526040015115156104e087015284015180516001600160a01b031661050087015260208101516105208701526040015115156105408601528301516105608501612aca91612657565b8201516110a084015281015115156110c083015261040081015180516110e0840152602081015161110084015260400151611120830152610420015190611140015290565b15612b1657565b60405162461bcd60e51b8152602060048201526014602482015273526564656d7074696f6e496e50726f677265737360601b6044820152606490fd5b8151805182556020908101516001830180546001600160a01b0319166001600160a01b039290921691909117905590600201910151612b9081610c30565b611cf181610c30565b60405190612ba68261023e565b60288252670c85cd8cadccee8d60c31b6040837f74656d70456e646f776d656e742e6f6e656f66665661756c74732e6c6f636b6560208201520152565b91908201809211612bf057565b611ba0565b60405190612c028261021e565b601282527170656e64696e67526564656d7074696f6e7360701b6020830152565b9060026117d9928054835260606020840152612c456060840160018301610b7b565b92604081850391015201610d53565b8054825260018101546001600160a01b031660208301526002015460ff169060409061040183610c30565b916117d991835260406020840152805460408401526001810154606084015260e060808401526040610120840152600960c0612cdc612cc5610160870160028601612c23565b86810361011f190161014088015260058501612c23565b600884015460ff16151560a087015294019101612c54565b6000198114612bf05760010190565b6003111561039d57565b51906102eb82612d03565b81601f8201121561039d57805191612d2f83610c43565b92612d3d60405194856102bd565b808452602092838086019260051b82010192831161039d578301905b828210612d67575050505090565b8380918351612d7581612d03565b815201910190612d59565b51906102eb826103a2565b60208183031261039d5780516001600160401b039182821161039d5701916101008382031261039d57612dbc61034d565b92805183811161039d5782612dd291830161181a565b845260208101516020850152612dea6040820161123f565b6040850152612dfb6060820161123f565b6060850152612e0c6080820161130f565b608085015260a081015192831161039d57612e2e60e092612e4a948301612d18565b60a0850152612e3f60c08201612d0d565b60c085015201612d80565b60e082015290565b9060206117d992818152019061249f565b60405190612e708261021e565b6001825260203681840137565b602090612e979282604051948386809551938492016117f7565b82019081520301902090565b60405190612eb08261021e565b60128252711c995919595b505b1b119c9bdb55985d5b1d60721b6020830152565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4680546001600160a01b03169392919060005b6040908185018051805183101561309d57906000612f2584612f3f94611a2a565b51855180948192635950625960e11b835260048301612e52565b03818c5afa80156109f957613075946130709360009261307a575b50612fdc612f66612e63565b93612f7f8a612f7487611a08565b9063ffffffff169052565b612fd687612fcf612fbf8d63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4d602052604060002090565b6001600052602052604060002090565b9251611a2a565b51612e7d565b54612fe9816101a3612ea3565b82518051602091820120909261304f916001600160e01b0319165b858201519096906001600160a01b03169161303061302061036d565b6001600160e01b03199099168952565b6361761df360e11b888701528701526001600160a01b03166060860152565b6000608085015260a084015286546001600160a01b03165b910151916133eb565b612cf4565b612f04565b61309691923d8091833e61308e81836102bd565b810190612d8b565b9038612f5a565b505050509391929360005b84519081518110156131cc576130c1816130e093611a2a565b516000604091825180958192635950625960e11b835260048301612e52565b0381895afa9283156109f9576131ac936130709287926000926131b1575b506131708a612fd68784613168613159613116612e63565b9961312481612f748d611a08565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4d602052604060002090565b60008052602052604060002090565b930151611a2a565b54825180516020918201209092613190916001600160e01b031916613004565b6080840152600060a084015286546001600160a01b0316613067565b6130a8565b6131c591923d8091833e61308e81836102bd565b90386130fe565b505050505050565b60209182825260e082019263ffffffff60e01b80835116828501528183015116604084015260408201519360c06060850152845180915281610100850195019160005b82811061324c5750505060608201516001600160a01b031660808401525060c09060a090608081015182850152015191015290565b835163ffffffff1687529581019592810192600101613217565b9060208282031261039d5781516001600160401b039283821161039d57016101008183031261039d5761329761034d565b92815181811161039d57836132ad91840161181a565b8452602082015160208501526132c56040830161123f565b60408501526132d66060830161123f565b6060850152608082015181811161039d57836132f391840161181a565b608085015260a082015190811161039d5760e09261331291830161181a565b60a084015261332360c0820161123f565b60c0840152015160e082015290565b9060208282031261039d5781516001600160401b03811161039d576117d9920161181a565b600091031261039d57565b9361339f6080946133916133ad949599989960018060a01b03809716895260a060208a015260a089019061249f565b90878203604089015261249f565b90858203606087015261249f565b9416910152565b916133dd906133cf6117d9959360608652606086019061249f565b90848203602086015261249f565b91604081840391015261249f565b613406919392936134146040928351948591602083016131d4565b03601f1981018552846102bd565b815163820d0f1560e01b8082524660048084019190915291966000949390916001600160a01b03909116908589602481855afa9889156109f95786996136a3575b508451908152808401928352929185918491829081906020015b03915afa9182156109f957849261367f575b5060e08201518061357b575b506134ad61059661059660606134e19798999a015160018060a01b031690565b8251928401518451635e57966d60e01b81526001600160a01b03909116838201908152909591949187918791829160200190565b038173__$cdb3a974a6603f5f21ad73b7f4e0c6fc0b$__5af49485156109f9578695613557575b50833b15613553579061352f86925197889687958694631c92115f60e01b865285016133b4565b03925af180156109f9576135405750565b8061354d6102eb926102aa565b80613357565b8580fd5b6135749195503d8088833e61356c81836102bd565b810190613332565b9338613508565b60c088015190979061359790610596906001600160a01b031681565b8351858501518651635e57966d60e01b81526001600160a01b03909116858201908152919a91889082908190602001038173__$cdb3a974a6603f5f21ad73b7f4e0c6fc0b$__5af49081156109f9578891613665575b50823b1561366157918888999a9b9261361f999489519a8b9586948593630c93e3bb60e01b85523392308d8701613362565b03925af19081156109f9576105966060610596926134e1986134ad9561364e575b509a9998975050505061348d565b8061354d61365b926102aa565b38613640565b8780fd5b61367991503d808a833e61356c81836102bd565b386135ed565b61369c9192503d8086833e61369481836102bd565b810190613266565b9038613481565b61346f9493919950916136c087933d8086833e61369481836102bd565b999193945091613455565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff8160a01c16158015613763575b1561371e5733300361370d575050565b60ff60a01b1916600160a01b179055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b503330146136fd565b33300361377557565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff60a01b19169055565b9092916040908151946137b58661021e565b601d86526020937f63616c6c20726576657274656420776974686f7574206d6573736167650000008588015260005b815181101561386b5761385e90613858896000806001600160a01b0361380a8689611a2a565b5116613816868a611a2a565b5190613822878c611a2a565b51918d83519301915af13d15613863573d9061383d826117dc565b9161384a8b5193846102bd565b82523d60008c84013e613875565b50612cf4565b6137e4565b606090613875565b5050505050509050565b90919015613881575090565b8151156138915750805190602001fd5b60405162461bcd60e51b815260206004820152908190610a7290602483019061249f565b6138f86138e4916102eb93604051938492632d839cb360e21b602085015260406024850152606484019061249f565b90604483015203601f1981018352826102bd565b600080916020815191016a636f6e736f6c652e6c6f675afa50565b6138f890613943926102eb9460405194859363ca47c4eb60e01b602086015260606024860152608485019061249f565b916044840152606483015203601f1981018352826102bd56fe364502d723e5ab665a7fdb51cffd24931248ebbf2a52d809c6fd1e9005b4dd9ea2646970667358221220de8147a2677f392255bb12375813ab4e65d925197388b7468c11d1698b8659b364736f6c63430008120033"; + "0x6080806040523461001657612018908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c638a5af6dc1461002757600080fd5b3461107e5760a036600319011261107e5763ffffffff600435166004350361107e5736602319016080811261107e576060906100636080611728565b1261107e5760405161007481611743565b60243563ffffffff8116810361107e57815260443560208201526064356001600160a01b038116810361107e5760408201526080526004608435101561107e576084356020608001527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a5460ff8160a01c1615801561171f575b156116da573330036116a5575b50608061010960043561177f565b80549091906001600160a01b031633036116715760ff600661012c6004356117b4565b0154166116365760138201546115fa577ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d465460405163e68f909d60e01b8152906103e090829060049082906001600160a01b03165afa90811561108b57600091611372575b5060a05160048110156107375760031480159061135c575b156112e05760208101516040516338f866f560e01b81526004803563ffffffff169082015290600090829060249082906001600160a01b03165afa90811561108b57600091611097575b5060a051600481101561073757600314610f7e575b505060066102176004356117b4565b01805460ff1916600117905560206102306004356117b4565b916007830181519063ffffffff82511663ffffffff198254161790558281015160088501556009840190604060018060a01b03910151166bffffffffffffffffffffffff60a01b825416179055015190600482101561073757600a019060ff801983541691161790556102a4600435611e3d565b15610f4657600f810154600d8201548101809111610f305760138201556102cc60043561177f565b9080820361074d575b50506102e260043561177f565b60405163ffffffff6004351681526040602082015260018060a01b038254166040820152610b80806060830152610320610bc0830160018501611c4a565b90610358603f199283858203016080860152604081526103466040820160028801611ce0565b90602081830391015260038601611ce0565b600485015460a085015260ff6005860154169460028610156107375761051885946105046104f06104106103fc6103dd6103c9605b997f28c1b2f18a3e71d2e6df5b0732ff252e57dc097525c7b3a6aa087522506a5b369e60c08e01528c60e0898284030191015260068a01611c4a565b868c8203016101008d015260078901611c4a565b60088801546101208c0152858b8203016101408c015260098801611d7d565b848a8203016101608b0152600d8701611d7d565b601186015460ff80821615156101808c015263ffffffff600883901c81166101a08d0152602883901c81166101c08d0152604883901c821615156101e08d0152605083901c81166102008d015260709290921c9091166102208b01526012870154811615156102408b015260138701546102608b015260148701546102808b015260158701546001600160a01b039081166102a08c0152601688015481166102c08c015260178801548082166102e08d015260a01c90911615156103008b01526018870154166103208a015288810384016103408a015260198601611dcf565b8288820301610360890152601a8501611dcf565b9086820301610380870152601b8301611dcf565b601c8201546001600160a01b03166103a0860152601d8201546103c086015292601e8201546001600160a01b03166103e0860152601f82015461040086015260208201546001600160a01b0316610420860152602182015461044086015260228201546001600160a01b031661046086015260238201546104808601526105a66104a0860160248401611e15565b6105b7610500860160278401611e15565b6105c86105608601602a8401611e15565b6105d96105c08601602d8401611e15565b6105ea610620860160308401611e15565b6105fb610680860160338401611e15565b61060c6106e0860160368401611e15565b61061d610740860160398401611e15565b61062e6107a08601603c8401611e15565b61063f6108008601603f8401611e15565b610650610860860160428401611e15565b6106616108c0860160458401611e15565b610672610920860160488401611e15565b6106836109808601604b8401611e15565b6106946109e08601604e8401611e15565b6106a5610a40860160518401611e15565b6106b6610aa0860160548401611e15565b60ff605783015463ffffffff8116610b0088015260201c161515610b208601526058820154610b408601526059820154610b60860152605a820154908501520154610ba08301520390a133300361070957005b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff60a01b19169055005b634e487b7160e01b600052602160045260246000fd5b805482546001600160a01b0319166001600160a01b039190911617825561077a60018281019084016118d5565b6002820160028201808203610f10575b50506004810154600483015560ff600582015416600281101561073757605b918291600585019060ff198254161790556107ca60068201600686016118d5565b6107da60078201600786016118d5565b600881015460088501556107f46009820160098601611b59565b610804600d8201600d8601611b59565b6011840160118201808203610e35575b505061083660ff601283015416601286019060ff801983541691151516179055565b601381810154908501556014808201549085015560158082015490850180546001600160a01b03199081166001600160a01b039384161790915560168084015490870180548316918416919091179055601780840180549188018054808516938616938417825591546001600160a81b031990921690921760a091821c60ff16151590911b60ff60a01b16179055601880840154908701805490921692169190911790556108ea6019808301908601611b9d565b6108fa601a8201601a8601611b9d565b61090a601b8201601b8601611b9d565b61091a601c8201601c8601611c16565b61092a601e8201601e8601611c16565b61093a6020820160208601611c16565b61094a6022820160228601611c16565b60248401602482019081811415806109db575b505050605784016057820163ffffffff81541664ff0000000060ff8454938363ffffffff1986161786555460201c16151560201b169164ffffffffff19161717905560588401605882018082036109bd575b5050015491015538806102d5565b54905560598101546059850155605a810154605a85015538806109af565b610e06575b5050602784016027820190818103610dd7575b5050602a8401602a820190818103610da8575b5050602d8401602d820190818103610d79575b5050603084016030820190818103610d4a575b5050603384016033820190818103610d1b575b5050603684016036820190818103610cec575b5050603984016039820190818103610cbd575b5050603c8401603c820190818103610c8e575b5050603f8401603f820190818103610c5f575b5050604284016042820190818103610c30575b5050604584016045820190818103610c01575b5050604884016048820190818103610bd2575b5050604b8401604b820190818103610ba3575b5050604e8401604e820190818103610b74575b5050605184016051820190818103610b45575b5050605484016054820190818103610b16575b8061095d565b60ff610b2e92541660ff801983541691151516179055565b610b3e6055820160558601611c16565b3880610b10565b60ff610b5d92541660ff801983541691151516179055565b610b6d6052820160528601611c16565b3880610afd565b60ff610b8c92541660ff801983541691151516179055565b610b9c604f8201604f8601611c16565b3880610aea565b60ff610bbb92541660ff801983541691151516179055565b610bcb604c8201604c8601611c16565b3880610ad7565b60ff610bea92541660ff801983541691151516179055565b610bfa6049820160498601611c16565b3880610ac4565b60ff610c1992541660ff801983541691151516179055565b610c296046820160468601611c16565b3880610ab1565b60ff610c4892541660ff801983541691151516179055565b610c586043820160438601611c16565b3880610a9e565b60ff610c7792541660ff801983541691151516179055565b610c876040820160408601611c16565b3880610a8b565b60ff610ca692541660ff801983541691151516179055565b610cb6603d8201603d8601611c16565b3880610a78565b60ff610cd592541660ff801983541691151516179055565b610ce5603a8201603a8601611c16565b3880610a65565b60ff610d0492541660ff801983541691151516179055565b610d146037820160378601611c16565b3880610a52565b60ff610d3392541660ff801983541691151516179055565b610d436034820160348601611c16565b3880610a3f565b60ff610d6292541660ff801983541691151516179055565b610d726031820160318601611c16565b3880610a2c565b60ff610d9192541660ff801983541691151516179055565b610da1602e8201602e8601611c16565b3880610a19565b60ff610dc092541660ff801983541691151516179055565b610dd0602b8201602b8601611c16565b3880610a06565b60ff610def92541660ff801983541691151516179055565b610dff6028820160288601611c16565b38806109f3565b60ff610e1e92541660ff801983541691151516179055565b610e2e6025820160258601611c16565b38806109e0565b610e4f60ff825416839060ff801983541691151516179055565b80549064ffffffff00835492168064ffffffff0019841617845568ffffffff0000000000825416808268ffffffffffffffff001986161717855569ff00000000000000000060ff845460481c16151560481b1691828169ffffffffffffffffff0019871617831717865563ffffffff60501b8454169384826dffffffffffffffffffffffffff00198816178417851717875563ffffffff60701b9054169471ffffffffffffffffffffffffffffffffff001916171717171790553880610814565b610f1991611a15565b610f296003820160038401611a15565b388061078a565b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b815260206004820152601060248201526f139bdd08199d5b1b1e48195e1a5d195960821b6044820152606490fd5b809192505115600014610fd4575060600151604051906001600160a01b0316610fa682611743565b6000825260006020830152604082015260405190610fc382611728565b8152600260208201525b3880610208565b60208060249201515160405190610fea82611743565b6000825282820152600060408201526040519061100682611728565b8152600182820152928101516040516350d3a55760e11b81526004803563ffffffff169082015292839182906001600160a01b03165afa801561108b5761104e575b50610fcd565b6020813d602011611083575b816110676020938361175e565b8101031261107e57518015150361107e5738611048565b600080fd5b3d915061105a565b6040513d6000823e3d90fd5b90503d806000833e6110a9818361175e565b602082828101031261107e5781516001600160401b03811161107e57818301601f82850101121561107e5780830151906110e2826117fd565b936110f0604051958661175e565b828552602085019184820160208560051b83850101011161107e57602081830101925b60208560051b8385010101841061113057505050505050386101f3565b83516001600160401b03811161107e5760e0848401820188860103601f19011261107e57604051908160e08101106001600160401b0360e0840111176112ca5760e08201604090815285850182016020810151845201516001600160401b03811161107e576111ab9060208a88019184888a01010101611814565b60208301526060818587010101516001600160401b03811161107e576111dd9060208a88019184888a01010101611814565b60408301526080818587010101516001600160401b03811161107e57888601603f8284888a01010101121561107e57602081838789010101015190611221826117fd565b9161122f604051938461175e565b808352602083018b890160408a85888c8760051b9301010101011161107e57604083868a8c01010101905b60408a85888c8760051b93010101010182106112ad575050505060608301528484010160a081810151608084015260c0808301519184019190915260e09091015190820152815260209384019301611113565b815163ffffffff8116810361107e5781526020918201910161125a565b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152604860248201527f42656e6566696369617279206973204e4f4e45202620496e6465782046756e6460448201527f20436f6e7472616374206973206e6f7420636f6e6669677572656420696e205260648201526732b3b4b9ba3930b960c11b608482015260a490fd5b5060208101516001600160a01b031615156101a9565b6103e091503d82116115f2575b611389828261175e565b6103e081838101031261107e5760405191826103a08101106001600160401b036103a0850111176112ca576060906103a084016040526113c8836117e9565b84526113d6602084016117e9565b60208501526113e7604084016117e9565b60408501526113f78284016117e9565b82850152611407608084016117e9565b608085015261141860a084016117e9565b60a085015261142960c084016117e9565b60c085015261143a60e084016117e9565b60e085015261010061144d8185016117e9565b9085015261012061145f8185016117e9565b908501526101406114718185016117e9565b908501526101606114838185016117e9565b908501526101806114958185016117e9565b90850152820182900361019f19011261107e576115e86103c0604051926114bb84611743565b6101a08082015185526101c0948583015160208201526101e091828401516040830152870152610200946114f08684016117e9565b90870152610220906115038284016117e9565b90870152610240946115168684016117e9565b90870152610260908183015190870152610280946115358684016117e9565b908701526102a0906115488284016117e9565b908701526102c09461155b8684016117e9565b908701526102e09061156e8284016117e9565b90870152610300946115818684016117e9565b90870152610320906115948284016117e9565b90870152610340946115a78684016117e9565b90870152610360906115ba8284016117e9565b90870152610380946115cd8684016117e9565b908701526115de6103a083016117e9565b90860152016117e9565b9082015238610191565b3d915061137f565b60405162461bcd60e51b8152602060048201526014602482015273526564656d7074696f6e496e50726f677265737360601b6044820152606490fd5b60405162461bcd60e51b8152602060048201526013602482015272115b991bdddb595b9d081a5cc818db1bdcd959606a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b60ff60a01b1916600160a01b177ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a55386100fb565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b503330146100ee565b604081019081106001600160401b038211176112ca57604052565b606081019081106001600160401b038211176112ca57604052565b90601f801991011681019081106001600160401b038211176112ca57604052565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b51906001600160a01b038216820361107e57565b6001600160401b0381116112ca5760051b60200190565b919080601f8401121561107e578251906001600160401b0382116112ca576040519160209161184c601f8301601f191684018561175e565b81845282828701011161107e5760005b81811061187157508260009394955001015290565b858101830151848201840152820161185c565b90600182811c921680156118b4575b602083101461189e57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611893565b8181106118c9575050565b600081556001016118be565b908082146119ec576118e78154611884565b906001600160401b0382116112ca5781906119028454611884565b601f81116119af575b50600090601f831160011461194357600092611938575b50508160011b916000199060031b1c1916179055565b015490503880611922565b81526020808220858352818320935090601f1985169083905b82821061199657505090846001959493921061197d575b505050811b019055565b015460001960f88460031b161c19169055388080611973565b849581929585015481556001809101960194019061195c565b6119dc90856000526020600020601f850160051c810191602086106119e2575b601f0160051c01906118be565b3861190b565b90915081906119cf565b5050565b918181106119fd57505050565b611a1392600052602060002091820191016118be565b565b8181146119ec578154916001600160401b0383116112ca57600160401b83116112ca57611a47838354818555846119f0565b60005260206000209060005260206000208154916000925b848410611a6d575050505050565b6001809192019384549281850155019290611a5f565b8181146119ec57815491600160401b83116112ca578154838355808410611ae4575b506000526020600020906000526020600020906000905b838210611ac95750505050565b80611ad6600192856118d5565b928101929181019101611abc565b600083815260208581832093840193015b838110611b0457505050611aa5565b8083611b1260019354611884565b80611b20575b505001611af5565b601f8082118514611b3757505081555b8338611b18565b611b5090848452868420920160051c82018583016118be565b81835555611b30565b818103611b64575050565b60038083611b75611a139585611a83565b611b856001820160018601611a15565b611b956002820160028601611a83565b019101611a15565b8181146119ec578154916001600160401b0383116112ca57600160401b83116112ca57611bcf838354818555846119f0565b60005260206000209060005260206000208154916000925b848410611bf5575050505050565b600191820180546001600160a01b0390921684860155939091019290611be7565b90808203611c22575050565b805482546001600160a01b0319166001600160a01b0391909116178255600190810154910155565b9060009291805491611c5b83611884565b918282526001938481169081600014611cbd5750600114611c7d575b50505050565b90919394506000526020928360002092846000945b838610611ca9575050505001019038808080611c77565b805485870183015294019385908201611c92565b9294505050602093945060ff191683830152151560051b01019038808080611c77565b90815480825260208092019260005281600020916000905b828210611d06575050505090565b835485529384019360019384019390910190611cf8565b9080825490818152602080910192818360051b8201019460005281600020936000915b848310611d505750505050505090565b909192939495846001611d6d8193601f198682030187528a611c4a565b9801930193019194939290611d40565b906003611dcc9260808352611dbd611dac611d9b6080860184611d1d565b858103602087015260018401611ce0565b848103604086015260028301611d1d565b92606081850391015201611ce0565b90565b90815480825260208092019260005281600020916000905b828210611df5575050505090565b83546001600160a01b031685529384019360019384019390910190611de7565b805460ff161515825260018101546001600160a01b0316602083015260020154604090910152565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46546040805163fb8a7add60e01b8152929360009360049391929185908290869082906001600160a01b03165afa908115611fd8578591611f28575b50845b8151811015611f1c57600b611eb0886117b4565b018251821015611f0957602063ffffffff60e01b818460051b860101511688525260ff8387205416611f00576000198114611eed57600101611e9c565b634e487b7160e01b865260118552602486fd5b50505092505090565b634e487b7160e01b875260328652602487fd5b50505092505050600190565b90503d8086833e611f39818361175e565b8101906020908181840312611fd0578051906001600160401b038211611fd457019180601f84011215611fd0578251611f71816117fd565b93611f7e8651958661175e565b818552838086019260051b820101928311611fcc578301905b828210611fa8575050505038611e99565b81516001600160e01b031981168103611fc8578152908301908301611f97565b8980fd5b8880fd5b8680fd5b8780fd5b82513d87823e3d90fdfea2646970667358221220b98549e489e1f26f6a7223adde606b2befb6d296af33ecc3005e707c48cd86e064736f6c63430008120033"; type AccountsUpdateStatusEndowmentsConstructorParams = - | [ - linkLibraryAddresses: AccountsUpdateStatusEndowmentsLibraryAddresses, - signer?: Signer - ] + | [signer?: Signer] | ConstructorParameters; const isSuperArgs = ( xs: AccountsUpdateStatusEndowmentsConstructorParams -): xs is ConstructorParameters => { - return ( - typeof xs[0] === "string" || - (Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) || - "_isInterface" in xs[0] - ); -}; +): xs is ConstructorParameters => xs.length > 1; export class AccountsUpdateStatusEndowments__factory extends ContractFactory { constructor(...args: AccountsUpdateStatusEndowmentsConstructorParams) { if (isSuperArgs(args)) { super(...args); } else { - const [linkLibraryAddresses, signer] = args; - super( - _abi, - AccountsUpdateStatusEndowments__factory.linkBytecode( - linkLibraryAddresses - ), - signer - ); + super(_abi, _bytecode, args[0]); } } - static linkBytecode( - linkLibraryAddresses: AccountsUpdateStatusEndowmentsLibraryAddresses - ): string { - let linkedBytecode = _bytecode; - - linkedBytecode = linkedBytecode.replace( - new RegExp("__\\$cdb3a974a6603f5f21ad73b7f4e0c6fc0b\\$__", "g"), - linkLibraryAddresses["contracts/lib/Strings/string.sol:StringArray"] - .replace(/^0x/, "") - .toLowerCase() - ); - - return linkedBytecode; - } - override deploy( overrides?: Overrides & { from?: PromiseOrValue } ): Promise { @@ -2875,7 +2209,3 @@ export class AccountsUpdateStatusEndowments__factory extends ContractFactory { ) as AccountsUpdateStatusEndowments; } } - -export interface AccountsUpdateStatusEndowmentsLibraryAddresses { - ["contracts/lib/Strings/string.sol:StringArray"]: string; -} diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdate__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdate__factory.ts index 291d32576..0901e31a8 100644 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdate__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/facets/AccountsUpdate__factory.ts @@ -32,37 +32,10 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], indexed: false, - internalType: "struct AccountStorage.AllowanceData", + internalType: "uint256", name: "allowance", - type: "tuple", + type: "uint256", }, ], name: "AllowanceStateUpdatedTo", @@ -74,9 +47,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -129,29 +102,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -177,43 +150,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -228,7 +201,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -244,7 +217,7 @@ const _abi = [ ], indexed: false, internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", + name: "createdaomessage", type: "tuple", }, { @@ -263,13 +236,13 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -365,7 +338,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -378,21 +351,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -456,18 +414,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -475,12 +433,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -496,13 +459,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -526,17 +489,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -548,17 +511,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -570,14 +528,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -592,14 +545,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -614,17 +562,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -633,24 +576,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -665,31 +598,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -704,31 +627,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -743,31 +656,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -782,31 +685,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -821,31 +714,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -860,31 +743,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -899,31 +772,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -938,31 +801,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -984,24 +837,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1023,63 +866,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1094,31 +888,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1140,24 +924,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1179,24 +953,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1218,24 +982,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1257,24 +1011,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1296,24 +1040,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1337,9 +1071,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -1433,37 +1167,37 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { indexed: false, internalType: "address", - name: "curTokenin", + name: "tokenin", type: "address", }, { indexed: false, internalType: "address", - name: "curTokenout", + name: "tokenout", type: "address", }, { indexed: false, internalType: "uint256", - name: "curAmountout", + name: "amountout", type: "uint256", }, ], @@ -1480,23 +1214,65 @@ const _abi = [ name: "owner", type: "address", }, + { + internalType: "string", + name: "version", + type: "string", + }, { internalType: "address", name: "registrarContract", type: "address", }, { - internalType: "uint256", + internalType: "uint32", name: "nextAccountId", - type: "uint256", + type: "uint32", }, { internalType: "uint256", name: "maxGeneralCategoryId", type: "uint256", }, - ], - indexed: false, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + internalType: "bool", + name: "reentrancyGuardLocked", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, + ], + indexed: false, internalType: "struct AccountStorage.Config", name: "config", type: "tuple", @@ -1550,7 +1326,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1563,21 +1339,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -1641,18 +1402,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -1660,12 +1421,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -1681,13 +1447,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -1711,17 +1477,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1733,17 +1499,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1755,14 +1516,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1777,14 +1533,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1799,17 +1550,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1818,24 +1564,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1850,31 +1586,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1889,31 +1615,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1928,31 +1644,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1967,31 +1673,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2006,31 +1702,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2045,31 +1731,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2084,31 +1760,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2123,31 +1789,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2169,24 +1825,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2208,24 +1854,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2240,70 +1876,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2325,24 +1912,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2364,24 +1941,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2403,24 +1970,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2442,24 +1999,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2481,24 +2028,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2522,9 +2059,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -2569,141 +2106,35 @@ const _abi = [ type: "event", }, { - anonymous: false, inputs: [ { - indexed: false, + internalType: "address", + name: "newRegistrar", + type: "address", + }, + { internalType: "uint256", - name: "id", + name: "maxGeneralCategoryId", type: "uint256", }, { components: [ { - components: [ - { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", - type: "tuple", - }, - { - internalType: "bool", - name: "closingEndowment", - type: "bool", + internalType: "address", + name: "payoutAddress", + type: "address", }, { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", - type: "tuple", + internalType: "uint256", + name: "percentage", + type: "uint256", }, ], - indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, ], - name: "UpdateEndowmentState", - type: "event", - }, - { - inputs: [ - { - internalType: "address", - name: "newRegistrar", - type: "address", - }, - { - internalType: "uint256", - name: "maxGeneralCategoryId", - type: "uint256", - }, - ], name: "updateConfig", outputs: [], stateMutability: "nonpayable", @@ -2725,7 +2156,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608080604052346100165761053f908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b600090813560e01c806318a74064146101355763880cdc311461003557600080fd5b346101315760203660031901126101315761004e61030a565b6100566103f9565b61007860018060a01b036000805160206104ea83398151915254163314610325565b610081816104d1565b156100ed576000805160206104ea83398151915280546001600160a01b0319166001600160a01b039092169190911790557fac1d08a003ef1a59dc293567c82fb7944f492767e6c4aeae082aefb8600e11349051806100df81610360565b0390a16100ea61049a565b80f35b815162461bcd60e51b815260206004820152601b60248201527f456e74657220612076616c6964206f776e6572206164647265737300000000006044820152606490fd5b5080fd5b50903461030757816003193601126103075761014f61030a565b9160243561015b6103f9565b8151936080850185811067ffffffffffffffff8211176102f357835260018060a01b0394856000805160206104ea83398151915254168082527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4687815416602084019081527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d47938454938882019485527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4896610221885492606085019384523314610325565b61022a816104d1565b156102af5791888c927fac1d08a003ef1a59dc293567c82fb7944f492767e6c4aeae082aefb8600e11349c9d61029195168096525251166000805160206104ea8339815191529060018060a01b03166bffffffffffffffffffffffff60a01b825416179055565b81546001600160a01b0319161790555190555551806100df81610360565b895162461bcd60e51b815260206004820152601960248201527f696e76616c6964207265676973747261722061646472657373000000000000006044820152606490fd5b634e487b7160e01b85526041600452602485fd5b80fd5b600435906001600160a01b038216820361032057565b600080fd5b1561032c57565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b6000805160206104ea833981519152546001600160a01b0390811682527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46541660208201527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d475460408201527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4854606082015260800190565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff8160a01c16158015610491575b1561044c5733300361043b575050565b60ff60a01b1916600160a01b179055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b5033301461042b565b3330036104a357565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff60a01b19169055565b6001600160a01b0316156104e457600190565b60009056fef42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d45a2646970667358221220726220ff53c4357353a81e8226bb98f19b3d8bb2a9c653b2e240126456d175c264736f6c63430008120033"; + "0x60808060405234610016576106f5908161001c8239f35b600080fdfe604060808152600436101561001357600080fd5b600090813560e01c8063880cdc31146101f55763b4ad3dcd1461003557600080fd5b346101f15760803660031901126101f15761004e610579565b816043193601126101ed57815182810181811067ffffffffffffffff8211176101d95783526001600160a01b039060443582811681036101d55781526020810193606435855261009c6105cf565b6100ca837ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4454163314610594565b6100d3846106a7565b1561019257506bffffffffffffffffffffffff60a01b92827ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d469116848254161790556024357ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d475551167ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b91825416179055517ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4c5561018f610670565b80f35b5162461bcd60e51b815260206004820152601960248201527f696e76616c6964207265676973747261722061646472657373000000000000006044820152606490fd5b8580fd5b634e487b7160e01b85526041600452602485fd5b8280fd5b5080fd5b50346101f157602090816003193601126101ed57610211610579565b9061021a6105cf565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d448054926001600160a01b0391906102553384871614610594565b61025e816106a7565b1561053557821680946bffffffffffffffffffffffff60a01b1617905581519284845284840152610160809284015284937ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d459081549160019083821c93828116801561052b575b848610811461051757856101808a015290816000146104cf5750600114610452575b887f166640e52faef63feebe56de68ab9ef0d15a17ba0e4ca9d3a6ac7ef7116617d788808b8a8a63ffffffff7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4654828116606087015260a01c1660808501527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d475460a0850152807ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d48541660c0850152807ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d49541660e085015260ff7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a5482811661010087015260a01c1615156101208501527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b54166101408401527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4c54908301520390a161018f610670565b909395965087527fc190d2043ebd5011149152baff4574e2454c51ab29dfd2caee58657602b14bc89287935b8385106104ba575050505083016101a0019291817f166640e52faef63feebe56de68ab9ef0d15a17ba0e4ca9d3a6ac7ef7116617d784386102e7565b80548886016101a0015293820193810161047e565b93505050507f166640e52faef63feebe56de68ab9ef0d15a17ba0e4ca9d3a6ac7ef7116617d795508493916101a09160ff191682860152151560051b840101948193386102e7565b634e487b7160e01b8b52602260045260248bfd5b94607f16946102c5565b835162461bcd60e51b815260048101879052601b60248201527f456e74657220612076616c6964206f776e6572206164647265737300000000006044820152606490fd5b600435906001600160a01b038216820361058f57565b600080fd5b1561059b57565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff8160a01c16158015610667575b1561062257333003610611575050565b60ff60a01b1916600160a01b179055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50333014610601565b33300361067957565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff60a01b19169055565b6001600160a01b0316156106ba57600190565b60009056fea2646970667358221220dccf214688f052c327495a25bd25d032c7bf25e47ce1f1e8fb3da63bf309583364736f6c63430008120033"; type AccountsUpdateConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/core/accounts/facets/AccountsVaultFacet__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AccountsVaultFacet__factory.ts index 30692c985..6151ccce9 100644 --- a/typechain-types/factories/contracts/core/accounts/facets/AccountsVaultFacet__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/facets/AccountsVaultFacet__factory.ts @@ -32,37 +32,10 @@ const _abi = [ type: "address", }, { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], indexed: false, - internalType: "struct AccountStorage.AllowanceData", + internalType: "uint256", name: "allowance", - type: "tuple", + type: "uint256", }, ], name: "AllowanceStateUpdatedTo", @@ -74,9 +47,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -129,29 +102,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -177,43 +150,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -228,7 +201,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -244,7 +217,7 @@ const _abi = [ ], indexed: false, internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", + name: "createdaomessage", type: "tuple", }, { @@ -263,13 +236,13 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -365,7 +338,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -378,21 +351,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -456,18 +414,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -475,12 +433,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -496,13 +459,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -526,17 +489,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -548,17 +511,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -570,14 +528,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -592,14 +545,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -614,17 +562,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -633,24 +576,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -665,31 +598,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -704,31 +627,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -743,31 +656,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -782,31 +685,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -821,31 +714,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -860,31 +743,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -899,31 +772,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -938,31 +801,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -984,24 +837,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1023,63 +866,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1094,31 +888,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1140,24 +924,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1179,24 +953,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1218,24 +982,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1257,24 +1011,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1296,24 +1040,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1337,9 +1071,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -1433,37 +1167,37 @@ const _abi = [ { indexed: false, internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { indexed: false, internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { indexed: false, internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { indexed: false, internalType: "address", - name: "curTokenin", + name: "tokenin", type: "address", }, { indexed: false, internalType: "address", - name: "curTokenout", + name: "tokenout", type: "address", }, { indexed: false, internalType: "uint256", - name: "curAmountout", + name: "amountout", type: "uint256", }, ], @@ -1480,23 +1214,65 @@ const _abi = [ name: "owner", type: "address", }, + { + internalType: "string", + name: "version", + type: "string", + }, { internalType: "address", name: "registrarContract", type: "address", }, { - internalType: "uint256", + internalType: "uint32", name: "nextAccountId", - type: "uint256", + type: "uint32", }, { internalType: "uint256", name: "maxGeneralCategoryId", type: "uint256", }, - ], - indexed: false, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + internalType: "bool", + name: "reentrancyGuardLocked", + type: "bool", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, + ], + indexed: false, internalType: "struct AccountStorage.Config", name: "config", type: "tuple", @@ -1550,7 +1326,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1563,21 +1339,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -1641,18 +1402,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -1660,12 +1421,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -1681,13 +1447,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -1711,17 +1477,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1733,17 +1499,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1755,14 +1516,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1777,14 +1533,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1799,17 +1550,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1818,24 +1564,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1850,31 +1586,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1889,31 +1615,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1928,31 +1644,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1967,31 +1673,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2006,31 +1702,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2045,31 +1731,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2084,31 +1760,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2123,31 +1789,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2169,24 +1825,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2208,24 +1854,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2240,70 +1876,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2325,24 +1912,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2364,24 +1941,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2403,24 +1970,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2442,24 +1999,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2481,24 +2028,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2522,9 +2059,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -2569,157 +2106,67 @@ const _abi = [ type: "event", }, { - anonymous: false, inputs: [ { - indexed: false, - internalType: "uint256", + internalType: "uint32", name: "id", + type: "uint32", + }, + { + internalType: "bytes4", + name: "strategy", + type: "bytes4", + }, + { + internalType: "string", + name: "token", + type: "string", + }, + { + internalType: "uint256", + name: "lockAmt", type: "uint256", }, { - components: [ - { - components: [ - { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", - type: "tuple", - }, - { - internalType: "bool", - name: "closingEndowment", - type: "bool", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", - type: "tuple", - }, - ], - indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", - type: "tuple", + internalType: "uint256", + name: "liquidAmt", + type: "uint256", }, ], - name: "UpdateEndowmentState", - type: "event", + name: "strategyInvest", + outputs: [], + stateMutability: "payable", + type: "function", }, { inputs: [ { internalType: "uint32", - name: "curId", + name: "id", type: "uint32", }, { - internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", - type: "uint8", + internalType: "bytes4", + name: "strategy", + type: "bytes4", }, { - internalType: "string[]", - name: "curVaults", - type: "string[]", + internalType: "string", + name: "token", + type: "string", }, { - internalType: "address[]", - name: "curTokens", - type: "address[]", + internalType: "uint256", + name: "lockAmt", + type: "uint256", }, { - internalType: "uint256[]", - name: "curAmount", - type: "uint256[]", + internalType: "uint256", + name: "liquidAmt", + type: "uint256", }, ], - name: "vaultsInvest", + name: "strategyRedeem", outputs: [], stateMutability: "payable", type: "function", @@ -2728,21 +2175,21 @@ const _abi = [ inputs: [ { internalType: "uint32", - name: "curId", + name: "id", type: "uint32", }, { - internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", - type: "uint8", + internalType: "bytes4", + name: "strategy", + type: "bytes4", }, { - internalType: "string[]", - name: "curVaults", - type: "string[]", + internalType: "string", + name: "token", + type: "string", }, ], - name: "vaultsRedeem", + name: "strategyRedeemAll", outputs: [], stateMutability: "payable", type: "function", @@ -2750,7 +2197,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001657613930908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c908163284ab59a1461003a57506384c4040b1461003557600080fd5b61039f565b60a03660031901126101215761004e610124565b6024359061005b8261013c565b6001600160401b039160443583811161011d5761007c903690600401610277565b606435918483116100fc57366023840112156100fc5782600401356100a081610245565b936100ae60405195866101c5565b81855260209160248387019160051b8301019136831161011957602401905b82821061010057505050506084359485116100fc576100f36100f9953690600401610341565b936107e2565b80f35b8580fd5b838091833561010e81610330565b8152019101906100cd565b8980fd5b8480fd5b80fd5b6004359063ffffffff8216820361013757565b600080fd5b6003111561013757565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161016f57604052565b610146565b606081019081106001600160401b0382111761016f57604052565b602081019081106001600160401b0382111761016f57604052565b604081019081106001600160401b0382111761016f57604052565b90601f801991011681019081106001600160401b0382111761016f57604052565b6040519060c082018281106001600160401b0382111761016f57604052565b6040519061010082018281106001600160401b0382111761016f57604052565b6040519061042082018281106001600160401b0382111761016f57604052565b6001600160401b03811161016f5760051b60200190565b6001600160401b03811161016f57601f01601f191660200190565b9080601f830112156101375781359161028f83610245565b9260409061029f825195866101c5565b808552602093848087019260051b8501019381851161013757858101925b8584106102ce575050505050505090565b83356001600160401b03811161013757820183603f820112156101375787810135916102f98361025c565b610305885191826101c5565b838152858885850101116101375760008a8581968b83970183860137830101528152019301926102bd565b6001600160a01b0381160361013757565b81601f820112156101375780359161035883610245565b9261036660405194856101c5565b808452602092838086019260051b820101928311610137578301905b828210610390575050505090565b81358152908301908301610382565b606080600319360112610137576103b4610124565b6103bf60243561013c565b6044356001600160401b038111610137576103de903690600401610277565b906103e76137aa565b6103f081610c23565b6103fc83511515612d8d565b805461041c906001600160a01b03165b6001600160a01b03163314610da7565b61042a601782015415612dc3565b60005b83518110156107c6577ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46546104a7919060009061048090610474906001600160a01b031681565b6001600160a01b031690565b61048a8388610ec4565b51906040518080968194635950625960e11b8352600483016110c4565b03915afa9182156106cc576000926107a3575b506104e960c08301516104cc81610cc3565b6104d7602435610cc3565b6104e081610cc3565b6024351461113e565b600091826104f8602435610cc3565b602435156106d1575b61050c602435610cc3565b6001602435146105f3575b926105e9916105ee9461052861132c565b926105418961053686610eb2565b9063ffffffff169052565b8251916105ab61055e845160208096012063ffffffff60e01b1690565b60408601519096906001600160a01b03169061058b61057b6101e6565b6001600160e01b03199099168952565b6326e11bb960e11b8887015260408801526001600160a01b03168d870152565b608085015260a08401527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46546001600160a01b031691015191613506565b612e06565b61042d565b73__$2e6ee47b30d794e0597b4af30f16ddb84c$__93506106148388610ec4565b5193803b156101375761064394600091604051808098819463e84b82f760e01b835260108c0160048401612e15565b03915af49182156106cc576105ee946105e9936106b3575b506106a96106996106898963ffffffff166000526000805160206138db833981519152602052604060002090565b6001600052602052604060002090565b6106a3868b610ec4565b51612520565b5494509150610517565b806106c06106c69261015c565b806124f9565b3861065b565b6110d5565b6106db8388610ec4565b5173__$2e6ee47b30d794e0597b4af30f16ddb84c$__3b1561079f5760405163e84b82f760e01b815291908290819061071b90600e8a0160048401612e15565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af480156106cc5761078c575b5061078661077c61076d8763ffffffff166000526000805160206138db833981519152602052604060002090565b60008052602052604060002090565b6106a38489610ec4565b54610501565b806106c06107999261015c565b3861073f565b5080fd5b6107bf91923d8091833e6107b781836101c5565b810190610fd8565b90386104ba565b506107d36107d892610c23565b611966565b6107e061384b565b005b939491946107ee6137aa565b6107f785610c23565b93610800610c8d565b5061080a83610cc3565b82158015610c0f57610826600261082089610c58565b01610d55565b905b865461083c906001600160a01b031661040c565b610856835185518091149081610c04575b50999199610de2565b61086283511515610de2565b61086a610e1f565b50600095600e88019660108901935b855160ff831690811015610b38577ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4680546108f397969594939291906108c990610474906001600160a01b031681565b60006108d58489610ec4565b51604092835180809d8194635950625960e11b8352600483016110c4565b03915afa9182156106cc578f94898f8f8f90938f9e8f90958e948b9760009b610b1d575b5060809588838d8981015161092b90151590565b610934906110e1565b60c0015161094181610cc3565b61094a82610cc3565b61095381610cc3565b1461095d9061113e565b61096691610ec4565b51918d6109738a88610ec4565b519063ffffffff169361098594612553565b969095546109916111a0565b9061099b91613882565b6109a491610ec4565b516001600160a01b0316906109b98a84610ec4565b51906109c492612438565b8554909e90899081906001600160a01b03166109e08285610ec4565b516001600160a01b03166109f48387610ec4565b51906109ff92612b58565b91610a0a9195610ec4565b52610a1491610ec4565b6001600160a01b039190911690528551805160208083019182206001600160e01b03191660009081527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4c82526040902090979290610a7390829061125e565b610a7b61132c565b9a610a858c610eb2565b63ffffffff90911690525190206001600160e01b031916878201519099906001600160a01b031691610ab56101e6565b6001600160e01b0319909b168b526320dcd90b60e01b8b8901528a01526001600160a01b0316606089015287015260a0860152546001600160a01b031692610afd908c610ec4565b5191015191610b0b9361306b565b610b1490610e86565b90919293610879565b610b31919b3d8091833e6107b781836101c5565b9938610917565b50975050989492505050610bb091507f364502d723e5ab665a7fdb51cffd24931248ebbf2a52d809c6fd1e9005b4dd9e610ba87f758243dab8e0b86a43e2f0b0d6e842211dc46a791072e017f73e274b81ad1e529796610b9b816107d38a610c23565b6040519182918983611f0f565b0390a1610cc3565b15610bf057610bca906002610bc484610c58565b0161226b565b610bd381610c58565b90610be360405192839283612370565b0390a1610bee61384b565b565b610bff906005610bc484610c58565b610bca565b90508a51143861084d565b610c1d600561082089610c58565b90610828565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b60405190610c9a82610174565b6060604083600081528260208201520152565b634e487b7160e01b600052602160045260246000fd5b60031115610ccd57565b610cad565b90815480825260208092019260005281600020916000905b828210610cf8575050505090565b835485529384019360019384019390910190610cea565b90815480825260208092019260005281600020916000905b828210610d35575050505090565b83546001600160a01b031685529384019360019384019390910190610d27565b90600260408051610d6581610174565b610da38195805483528351610d8881610d818160018601610cd2565b03826101c5565b6020840152610d9c84518096819301610d0f565b03846101c5565b0152565b15610dae57565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b15610de957565b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c696420706172616d7360901b6044820152606490fd5b6040519061010082018281106001600160401b0382111761016f57604052816060815260e0600091826020820152826040820152826060820152826080820152606060a08201528260c08201520152565b634e487b7160e01b600052601160045260246000fd5b60ff1660ff8114610e975760010190565b610e70565b634e487b7160e01b600052603260045260246000fd5b805115610ebf5760200190565b610e9c565b8051821015610ebf5760209160051b010190565b60005b838110610eeb5750506000910152565b8181015183820152602001610edb565b81601f82011215610137578051610f118161025c565b92610f1f60405194856101c5565b8184526020828401011161013757610f3d9160208085019101610ed8565b90565b5190610bee82610330565b5190811515820361013757565b5190610bee8261013c565b81601f8201121561013757805191610f7a83610245565b92610f8860405194856101c5565b808452602092838086019260051b820101928311610137578301905b828210610fb2575050505090565b8380918351610fc08161013c565b815201910190610fa4565b5190600482101561013757565b6020818303126101375780516001600160401b03918282116101375701916101008382031261013757611009610205565b928051838111610137578261101f918301610efb565b84526020810151602085015261103760408201610f40565b604085015261104860608201610f40565b606085015261105960808201610f4b565b608085015260a08101519283116101375761107b60e092611097948301610f63565b60a085015261108c60c08201610f58565b60c085015201610fcb565b60e082015290565b906020916110b881518092818552858086019101610ed8565b601f01601f1916010190565b906020610f3d92818152019061109f565b6040513d6000823e3d90fd5b156110e857565b60405162461bcd60e51b815260206004820152602860248201527f5661756c74206973206e6f7420617070726f76656420746f20616363657074206044820152676465706f7369747360c01b6064820152608490fd5b1561114557565b60405162461bcd60e51b815260206004820152602d60248201527f5661756c7420616e6420456e646f776d656e74204163636f756e74547970657360448201526c040c8de40dcdee840dac2e8c6d609b1b6064820152608490fd5b604051906111ad826101aa565b600c82526b131a5c5d5a59125b98d95cdd60a21b6020830152565b90600182811c921680156111f8575b60208310146111e257565b634e487b7160e01b600052602260045260246000fd5b91607f16916111d7565b81811061120d575050565b60008155600101611202565b9190601f811161122857505050565b610bee926000526020600020906020601f840160051c83019310611254575b601f0160051c0190611202565b9091508190611247565b91909182516001600160401b03811161016f576112858161127f84546111c8565b84611219565b602080601f83116001146112c15750819293946000926112b6575b50508160011b916000199060031b1c1916179055565b0151905038806112a0565b90601f198316956112d785600052602060002090565b926000905b888210611314575050836001959697106112fb575b505050811b019055565b015160001960f88460031b161c191690553880806112f1565b806001859682949686015181550195019301906112dc565b60405190611339826101aa565b6001825260203681840137565b9190918281146114275761135a83546111c8565b6001600160401b03811161016f576113768161127f84546111c8565b600093601f82116001146113b15793819293946000926113a65750508160011b916000199060031b1c1916179055565b0154905038806112a0565b6113c5601f19831691600052602060002090565b946113d584600052602060002090565b91815b81811061140f575095836001959697106113f657505050811b019055565b015460001960f88460031b161c191690553880806112f1565b878301548455600193840193909201916020016113d8565b509050565b90600160401b811161016f5781549080835581811061144a57505050565b610bee9260005260206000209182019101611202565b8181146114be578154916001600160401b03831161016f57611482838361142c565b60005260206000209060005260206000208154916000925b8484106114a8575050505050565b600180919201938454928185015501929061149a565b5050565b8181036114cd575050565b600180836114de610bee9585611460565b019101611460565b906114f081610cc3565b60ff80198354169116179055565b60041115610ccd57565b906114f0816114fe565b8181146114be57815491600160401b831161016f578154838355808410611580575b5061154761155391600052602060002090565b91600052602060002090565b906000905b8382106115655750505050565b8061157260019285611346565b928101929181019101611558565b6000838152846020822092830192015b82811061159e575050611534565b806115ab600192546111c8565b806115b8575b5001611590565b601f9081811184146115d05750508281555b386115b1565b836115f2926115e485600052602060002090565b920160051c82019101611202565b600081815260208120818355556115ca565b81810361160f575050565b60038083611620610bee9585611512565b6116306001820160018601611460565b6114de6002820160028601611512565b9080820361164c575050565b60038161166a60ff83945416859060ff801983541691151516179055565b8054845461ff001916600891821c60ff16151590911b61ff0016178455600181015460018501556116b160ff600283015416600286019060ff801983541691151516179055565b0154910155565b8181146114be578154916001600160401b03831161016f576116da838361142c565b60005260206000209060005260206000208154916000925b848410611700575050505050565b600191820180546001600160a01b03909216848601559390910192906116f2565b81810361172c575050565b815481546001600160a01b0319166001600160a01b0391909116178155610bee9160029060ff9082906001810154600186015501541691019060ff801983541691151516179055565b90808203611781575050565b61179b60ff825416839060ff801983541691151516179055565b8054825461ff001916600891821c60ff16151590911b61ff00161782558054825462ff00001916601091821c60ff16151590911b62ff0000161782556001820160018201918282036117ee575b50505050565b915481546001600160a01b0319166001600160a01b0391909116179055600290810154910155388080806117e8565b818103611828575050565b60338083611839610bee9585611775565b6118496003820160038601611775565b6118596006820160068601611775565b6118696009820160098601611775565b611879600c8201600c8601611775565b611889600f8201600f8601611775565b6118996012820160128601611775565b6118a96015820160158601611775565b6118b96018820160188601611775565b6118c9601b8201601b8601611775565b6118d9601e8201601e8601611775565b6118e96021820160218601611775565b6118f96024820160248601611775565b6119096027820160278601611775565b611919602a8201602a8601611775565b611929602d8201602d8601611775565b6119396030820160308601611775565b019101611775565b9080820361194d575050565b6002818192548455600181015460018501550154910155565b90808203611972575050565b805482546001600160a01b0319166001600160a01b0390911617825560679081906119a36001820160018601611346565b6119b360028201600286016114c2565b600481015460048501556119d76119ce600583015460ff1690565b600586016114e6565b6119e76006820160068601611346565b6119f76007820160078601611346565b611a5d60088501611a4560088401611a19611a13825460ff1690565b84611508565b8054611a3b9060081c60ff16845461ff00191690151560081b61ff0016178455565b5460101c60ff1690565b815462ff0000191690151560101b62ff000016179055565b60098101546009850155611a77600a8201600a8601611604565b611a87600e8201600e8601611604565b611a976012820160128601611640565b611abd611aa8601683015460ff1690565b601686019060ff801983541691151516179055565b601781810154908501556018808201549085015560198082015490850155601a8082015490850180546001600160a01b039283166001600160a01b031991821617909155601b8084018054918801805490931691909316178155611b4391611b29905460a01c60ff1690565b815460ff60a01b191690151560a01b60ff60a01b16179055565b601c8181015490850180546001600160a01b0319166001600160a01b03909216919091179055611b79601d8201601d86016116b8565b611b89601e8201601e86016116b8565b611b99601f8201601f86016116b8565b611ba96020820160208601611721565b611bb96023820160238601611721565b611bc96026820160268601611721565b611bd96029820160298601611721565b611be9602c8201602c860161181d565b60628101546062850155611c19611c04606383015460ff1690565b606386019060ff801983541691151516179055565b6116b16064820160648601611941565b9060009291805491611c3a836111c8565b918282526001938481169081600014611c9b5750600114611c5b5750505050565b90919394506000526020928360002092846000945b838610611c875750505050010190388080806117e8565b805485870183015294019385908201611c70565b9294505050602093945060ff191683830152151560051b010190388080806117e8565b906001610f3d9260408352611cd66040840182610cd2565b92602081850391015201610cd2565b90611cef82610cc3565b52565b90611cef826114fe565b908154808252602080920191828260051b84019460005281600020936000915b848310611d2c5750505050505090565b909192939495846001611d45838583950387528a611c29565b9801930193019194939290611d1c565b906003610f3d9260808352611d95611d84611d736080860184611cfc565b858103602087015260018401610cd2565b848103604086015260028301611cfc565b92606081850391015201610cd2565b600260809160ff815481811615158652818160081c161515602087015260101c161515604085015260018060a01b0360018201541660608501520154910152565b6033610aa0610bee93611df88185611da4565b611e0860a0820160038601611da4565b611e19610140820160068601611da4565b611e2a6101e0820160098601611da4565b611e3b6102808201600c8601611da4565b611e4c6103208201600f8601611da4565b611e5d6103c0820160128601611da4565b611e6e610460820160158601611da4565b611e7f610500820160188601611da4565b611e906105a08201601b8601611da4565b611ea16106408201601e8601611da4565b611eb26106e0820160218601611da4565b611ec3610780820160248601611da4565b611ed4610820820160278601611da4565b611ee56108c08201602a8601611da4565b611ef66109608201602d8601611da4565b611f07610a00820160308601611da4565b019101611da4565b63ffffffff91909116815260406020820181905282546001600160a01b0316908201526111206060820152611140606761214e611f53611160850160018701611c29565b61213a61212661203e61202a611fcd611fb98b611fa68c60c0611f9e6005611f8b603f199d8e86820301608087015260028801611cbe565b95600481015460a0860152015460ff1690565b910190611ce5565b878c82030160e08d015260068d01611c29565b868b8203016101008c015260078c01611c29565b61200b60088c0154611fe66101208d0160ff8316611cf2565b611ffb6101408d0160ff8360081c1615159052565b60101c60ff1615156101608c0152565b60098b01546101808b0152858a8203016101a08b0152600a8b01611d55565b84898203016101c08a0152600e8a01611d55565b6120856101e0890160128b01600360809160ff81548181161515865260081c16151560208501526001810154604085015260ff600282015416151560608501520154910152565b6120a061209660168b015460ff1690565b15156102808a0152565b60178901546102a089015260188901546102c089015260198901546102e0890152601a8901546001600160a01b0316610300890152601b8901546001600160a01b0381166103208a01526120fe9060a01c60ff1615156103408a0152565b601c8901546001600160a01b03166103608901528388820301610380890152601d8901610d0f565b82878203016103a0880152601e8801610d0f565b90858203016103c0860152601f8601610d0f565b60208501546001600160a01b03166103e08501526021850154610400850152602285015460ff1615156104208501529360238101546001600160a01b03166104408501526024810154610460850152602581015460ff16151561048085015260268101546001600160a01b03166104a085015260278101546104c0850152602881015460ff1615156104e085015260298101546001600160a01b0316610500850152602a810154610520850152602b81015460ff16151561054085015261221c6105608501602c8301611de5565b60628101546110a0850152612242612238606383015460ff1690565b15156110c0860152565b60648101546110e085015260658101546111008501526066810154611120850152015491015290565b815181556001918282016020808301519384516001600160401b039586821161016f57839061229a838761142c565b01600094855283852088865b848110612302575050505050600260409101930151805194851161016f5781906122d0868661142c565b01928252808220915b8481106122e857505050505050565b83516001600160a01b0316838201559281019285016122d9565b868451940193818401550189906122a6565b906002610f3d9280548352606060208401526123366060840160018301610cd2565b92604081850391015201610d0f565b8054825260018101546001600160a01b031660208301526002015460ff1690604090610da3836114fe565b9163ffffffff610f3d9216835260406020840152805460408401526001810154606084015260e060808401526040610120840152600960c06123d36123bc610160870160028601612314565b86810361011f190161014088015260058501612314565b600884015460ff16151560a087015294019101612345565b156123f257565b60405162461bcd60e51b8152602060048201526011602482015270496e73756666696369656e7446756e647360781b6044820152606490fd5b91908203918211610e9757565b919290612443610c8d565b506000938493855b604084015180519060ff8316918210156124e65761246c8261247992610ec4565b516001600160a01b031690565b6001600160a01b0384811691161461249a575061249590610e86565b61244b565b6124b6919597508496506124bf925060206124e2950151610ec4565b515b82106123eb565b6124dc60ff60208601519416916124d68386610ec4565b5161242b565b92610ec4565b5290565b505050506124bf6124e2929493956124b8565b600091031261013757565b610f3d939260609282526020820152816040820152019061109f565b60209061253a928260405194838680955193849201610ed8565b82019081520301902090565b91908201809211610e9757565b929493600090819661256481610cc3565b8061261a575073__$2e6ee47b30d794e0597b4af30f16ddb84c$__90813b156126165760405163855762df60e01b81529392918491829081906125b1908790600181019060048501612504565b03915af49081156106cc576125fd926125f592612603575b506125ef61076d85966000526000805160206138db833981519152602052604060002090565b90612520565b918254612546565b90559190565b806106c06126109261015c565b386125c9565b8280fd5b8061262b6001929796959497610cc3565b14612639575b505050509190565b909192955073__$2e6ee47b30d794e0597b4af30f16ddb84c$__90813b1561011d57826126879392869260405180968194829363855762df60e01b8452600260038201910160048501612504565b03915af49081156106cc576126c5926125f5926126d0575b506125ef61068985986000526000805160206138db833981519152602052604060002090565b905538808080612631565b806106c06126dd9261015c565b3861269f565b9190826060910312610137576040516126fb81610174565b604080829480518452602081015160208501520151910152565b919060208084830312610137576040519061272f8261018f565b81948051906001600160401b03821161013757019280601f8501121561013757835161275a81610245565b9461276860405196876101c5565b818652838087019260051b820101928311610137578301905b82821061278f575050505052565b838091835161279d81610330565b815201910190612781565b91908260a09103126101375760405160a081018181106001600160401b0382111761016f5760405260808082946127de81610f4b565b84526127ec60208201610f4b565b60208501526040810151604085015261280760608201610f4b565b60608501520151910152565b906020828203126101375781516001600160401b039283821161013757016104e08183031261013757612844610225565b9261284e82610f40565b845261285c60208301610f40565b602085015261286d60408301610f40565b604085015261287e60608301610f40565b606085015261288f60808301610f40565b60808501526128a060a08301610f40565b60a08501526128b160c08301610f40565b60c08501526128c260e08301610f40565b60e08501526101006128d5818401610f40565b908501526101206128e7818401610f40565b908501526101406128f9818401610f40565b9085015261016061290b818401610f40565b9085015261018061291d818401610f40565b908501526101a061292f818401610f40565b908501526101c0612942848285016126e3565b9085015261022091612955838201610f40565b6101e08601526102409361296a858301610f40565b6102008701526102609361297f858401610f40565b9087015261028094612992868401610f40565b908701526102a09384830151908701526102c0946129b1868401610f40565b908701526102e08083015193841161013757612a9c946129d6836104c0968601612715565b90880152610300956129e9878501610f40565b908801526129fc610320928385016127a8565b908701526103c094612a0f868401610f40565b908701526103e090612a22828401610f40565b9087015261040094612a35868401610f40565b610340880152612a486104208401610f40565b610360880152612a5b6104408401610f40565b610380880152612a6e6104608401610f40565b6103a0880152612a816104808401610f40565b90870152612a926104a08301610f40565b9086015201610f40565b9082015290565b9081602091031261013757610f3d90610f4b565b9092919260408201604083528151809152606083019060208093019060005b84828210612af057505050509360018060a01b0316910152565b83516001600160a01b031685529384019390920191600101612ad6565b15612b1457565b60405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b2102a37b5b2b760991b6044820152606490fd5b90816020910312610137575190565b60405163e68f909d60e01b8152600094939290916001600160a01b039086908490600490829085165afa9283156106cc578693612d69575b506103c083018051909490612bad906001600160a01b0316610474565b918316918214612d5f57826102a08501515194604051956312f1ee0960e01b87528680612be1602098899460048401612ab7565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49586156106cc576103008692612c1c612c579987948e91612d42575b50612b0d565b01805160405163095ea7b360e01b81526001600160a01b039091166004820152602481019290925290969094879182908c9082906044820190565b03925af19283156106cc57610474610474612c8592612cbb988897612d15575b50516001600160a01b031690565b6040516379470bc960e01b81526001600160a01b0390921660048301526024820192909252938491908290899082906044820190565b03925af19485156106cc5794612ce0575b5050516001600160a01b03169190565b9190565b612cdc9294509081612d0692903d10612d0e575b612cfe81836101c5565b810190612b49565b929038612ccc565b503d612cf4565b612d3490883d8a11612d3b575b612d2c81836101c5565b810190612aa3565b5038612c77565b503d612d22565b612d599150863d8811612d3b57612d2c81836101c5565b38612c16565b9550509150509190565b612d869193503d8088833e612d7e81836101c5565b810190612813565b9138612b90565b15612d9457565b60405162461bcd60e51b8152602060048201526007602482015266125b9d985b1a5960ca1b6044820152606490fd5b15612dca57565b60405162461bcd60e51b8152602060048201526014602482015273526564656d7074696f6e496e50726f677265737360601b6044820152606490fd5b6000198114610e975760010190565b604090610f3d93928152816020820152019061109f565b60209182825260e082019263ffffffff60e01b80835116828501528183015116604084015260408201519360c06060850152845180915281610100850195019160005b828110612ea45750505060608201516001600160a01b031660808401525060c09060a090608081015182850152015191015290565b835163ffffffff1687529581019592810192600101612e6f565b906020828203126101375781516001600160401b039283821161013757016101008183031261013757612eef610205565b9281518181116101375783612f05918401610efb565b845260208201516020850152612f1d60408301610f40565b6040850152612f2e60608301610f40565b606085015260808201518181116101375783612f4b918401610efb565b608085015260a08201519081116101375760e092612f6a918301610efb565b60a0840152612f7b60c08201610f40565b60c0840152015160e082015290565b906020828203126101375781516001600160401b03811161013757610f3d9201610efb565b9597969260c0959194612ff1612fff92612fe361300d9660018060a01b03809a168c5260e060208d015260e08c019061109f565b908a820360408c015261109f565b9088820360608a015261109f565b90868203608088015261109f565b9560a085015216910152565b9594939060809361304a6130669461303c6130589460a08c5260a08c019061109f565b908a820360208c015261109f565b9088820360408a015261109f565b90868203606088015261109f565b930152565b90926040805194613091866130838660208301612e2c565b03601f1981018852876101c5565b60018060a01b03169181519463820d0f1560e01b948587526000966004938882806130c3468983019190602083019252565b03818a5afa9687156106cc578992839861345d575b508697986130f6975180988194829383528983019190602083019252565b03915afa9384156106cc578794613439575b5060e084015190816132e5575b60609150019461317660208360606131396104746104748c5160018060a01b031690565b94018051895163095ea7b360e01b81526001600160a01b03909116888201908152602081019390935290949093849283918d918391604090910190565b03925af180156106cc5761319e9261047492610474926132ce5750516001600160a01b031690565b8351938501518551635e57966d60e01b81526001600160a01b03909116848201908152919591889082908190602001038173__$cdb3a974a6603f5f21ad73b7f4e0c6fc0b$__5af49687156106cc57889182986132a0575b50518492919061321090610474906001600160a01b031681565b82516395d89b4160e01b815293849182905afa9182156106cc57889261327c575b50853b15613278579161325a9188949351998a9889978896632d505c2160e21b88528701613019565b03925af180156106cc5761326b5750565b806106c0610bee9261015c565b8780fd5b6132999192503d808a833e61329181836101c5565b810190612f8a565b9038613231565b8593929198506104746104746132c2613210933d8087833e61329181836101c5565b9a9394955050506131f6565b612d349060203d8111612d3b57612d2c81836101c5565b60c0870151613338929061330390610474906001600160a01b031681565b8651888801518951635e57966d60e01b81526001600160a01b039091168882019081529095929391928c918791829160200190565b038173__$cdb3a974a6603f5f21ad73b7f4e0c6fc0b$__5af49182156106cc5787958c9361341c575b5060608501518c9061337d90610474906001600160a01b031681565b8b516395d89b4160e01b815297889182905afa9586156106cc578c966133ff575b50833b156133fb57918b93918d936133cf8a8a8e519a8b9889978896636316100160e11b8852339530908901612faf565b03925af19182156106cc576060926133e8575b50613115565b806106c06133f59261015c565b386133e2565b8b80fd5b6134159196508c3d8091833e61329181836101c5565b943861339e565b6134329193508c3d8091833e61329181836101c5565b9138613361565b6134569194503d8089833e61344e81836101c5565b810190612ebe565b9238613108565b6130f6979850613476903d8086833e61344e81836101c5565b97966130d8565b936134ba6080946134ac6134c8949599989960018060a01b03809716895260a060208a015260a089019061109f565b90878203604089015261109f565b90858203606087015261109f565b9416910152565b916134f8906134ea610f3d959360608652606086019061109f565b90848203602086015261109f565b91604081840391015261109f565b6135219193929361352f604092835194859160208301612e2c565b03601f1981018552846101c5565b815163820d0f1560e01b8082524660048084019190915291966000949390916001600160a01b03909116908589602481855afa9889156106cc578699613782575b508451908152808401928352929185918491829081906020015b03915afa9182156106cc578492613766575b5060e082015180613666575b506135c861047461047460606135fc9798999a015160018060a01b031690565b8251928401518451635e57966d60e01b81526001600160a01b03909116838201908152909591949187918791829160200190565b038173__$cdb3a974a6603f5f21ad73b7f4e0c6fc0b$__5af49485156106cc57869561364a575b50833b156100fc579061325a86925197889687958694631c92115f60e01b865285016134cf565b61365f9195503d8088833e61329181836101c5565b9338613623565b60c088015190979061368290610474906001600160a01b031681565b8351858501518651635e57966d60e01b81526001600160a01b03909116858201908152919a91889082908190602001038173__$cdb3a974a6603f5f21ad73b7f4e0c6fc0b$__5af49081156106cc57889161374c575b50823b1561327857918888999a9b9261370a999489519a8b9586948593630c93e3bb60e01b85523392308d870161347d565b03925af19081156106cc576104746060610474926135fc986135c895613739575b509a999897505050506135a8565b806106c06137469261015c565b3861372b565b61376091503d808a833e61329181836101c5565b386136d8565b61377b9192503d8086833e61344e81836101c5565b903861359c565b61358a94939199509161379f87933d8086833e61344e81836101c5565b999193945091613570565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff8160a01c16158015613842575b156137fd573330036137ec575050565b60ff60a01b1916600160a01b179055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b503330146137dc565b33300361385457565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff60a01b19169055565b6000919082916138c760405180926138b36020830195632d839cb360e21b875260406024850152606484019061109f565b90604483015203601f1981018352826101c5565b51906a636f6e736f6c652e6c6f675afa5056fef42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4da2646970667358221220db52d9aa7f3fe2d96b4cce4cfbd9b9618adfbea7b48167917eaf120fd88ccc2264736f6c63430008120033"; + "0x6080806040523461001657611728908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c806338896f3c1461083057806350fbb6d1146104105763b7a944141461003d57600080fd5b60603660031901126103955760043563ffffffff811690818103610395576024803563ffffffff60e01b81168091036103955760443567ffffffffffffffff811161039557610090903690600401610e51565b906100996113c7565b6100a284610ef4565b6100c5601360018060a01b03926100bd848254163314610f76565b01541561134d565b807ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46541695604051936326fcc45760e11b8552836004860152602094858188818c5afa908115610349576000916103e3575b5060048110156103ce57869798610132600160009314610fc9565b60405163820d0f1560e01b815246600482015297889182905afa958615610349576000966103a1575b50908461018a928460608901511660405180809681946349ad89fb60e11b83528660048401528d83019061115a565b03915afa91821561034957600092610355575b5094610213836000949361024498604051906101b882610df7565b600182528936818401376101cb826111c2565b52845197604051986101dc8a610dc4565b8952898901526361761df360e11b6040890152606088015216948560808201528460a08201528460c08201528460e082015261149f565b9160408201511690518361022630611589565b604051631f971e2d60e21b8152988995869485939060048501611390565b03925af192831561034957600093610324575b5060e08301928351600581101561030f576001146102b5575b505050519060058210156102a15750600214610291575b61028f611468565b005b61029a90610f29565b5038610287565b634e487b7160e01b60009081526021600452fd5b8060a060c092015160036102c889610f29565b018460005285526102df60406000209182546111e5565b905501519160056102ef87610f29565b01916000525261030560406000209182546111e5565b9055388080610270565b85634e487b7160e01b60005260216004526000fd5b6103429193503d806000833e61033a8183610e13565b81019061121d565b9138610257565b6040513d6000823e3d90fd5b929150948483813d831161039a575b61036e8183610e13565b81010312610395576102138261024497610389600096611075565b9450929750935061019d565b600080fd5b503d610364565b61018a929196506103c586913d806000833e6103bd8183610e13565b810190611089565b9691925061015b565b86634e487b7160e01b60005260216004526000fd5b6104039150863d8811610409575b6103fb8183610e13565b810190610fb1565b38610117565b503d6103f1565b61041936610e98565b91906104236113c7565b61042c85610ef4565b816107c3575b83610727575b610453601360018060a01b03926100bd848254163314610f76565b807ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46541692604051956326fcc45760e11b875263ffffffff60e01b169485600488015260209460249786818a81855afa9081156103495760009161070a575b5060048110156106f55788916104cc600160009314610fc9565b60405163820d0f1560e01b815246600482015292839182905afa9283156103495786916000946106d2575b509061052691856060860151168a6040518095819482936349ad89fb60e11b845287600485015283019061115a565b03915afa90811561034957600091610687575b506105b6968493926000956102139360405161055481610df7565b600181528a36818301378d63ffffffff61056d836111c2565b911690528651946040519561058187610dc4565b86528b8601526326e11bb960e11b60408601526060850152169687608084015260a083015260c08201528460e082015261149f565b03925af19283156103495760009361066a575b5060e08301928351600581101561030f57600114610610575b505050519060058210156102a157506002146106005761028f611468565b61060990610f29565b5080610287565b8060a060c0920151600361062389610f29565b0184600052855261063a60406000209182546111e5565b9055015191600561064a87610f29565b01916000525261066060406000209182546111e5565b90558380806105e2565b6106809193503d806000833e61033a8183610e13565b91856105c9565b9050858181959493953d83116106cb575b6106a28183610e13565b81010312610395576105b696600094846106be61021394611075565b9350509293945096610539565b503d610698565b610526929194506106ed903d806000833e6103bd8183610e13565b9390916104f7565b88634e487b7160e01b60005260216004526000fd5b6107219150873d8911610409576103fb8183610e13565b8a6104b2565b805460405163bb37a28360e01b8152602a830160048201523360248201526001600160a01b03909116604482015242606482015260208160848173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af480156103495761079091600091610795575b50610f76565b610438565b6107b6915060203d81116107bc575b6107ae8183610e13565b810190610f5e565b8861078a565b503d6107a4565b805460405163bb37a28360e01b81526027830160048201523360248201526001600160a01b03909116604482015242606482015260208160848173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af480156103495761082b916000916107955750610f76565b610432565b61083936610e98565b610845949391946113c7565b61084e84610ef4565b85610d57575b81610ccc575b507ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46546040516326fcc45760e11b81526001600160e01b0319841660048201526001600160a01b039091169390602081602481885afa90811561034957600091610cad575b506004811015610bc35760016108d59114610fc9565b60405163820d0f1560e01b815246600482015290600082602481885afa91821561034957600092610c90575b5060608201516040516349ad89fb60e11b815260206004820181905290969187906001600160a01b0316818061093a602482018861115a565b03915afa95861561034957600096610c4f575b506020602491600361095e8a610f29565b0160018060a01b038916600052825261097e8a604060002054101561117f565b60056109898a610f29565b0160018060a01b03891660005282526109a986604060002054101561117f565b6040516302b05ecb60e11b81526001600160a01b038916600482015292839182905afa90811561034957600091610c30575b5015610bf6576000610ad893610ac592610af7610a7984986040516109ff81610df7565b60018152602036818301378c63ffffffff610a19836111c2565b9116905288519160405192610a2d84610dc4565b83526001600160e01b03191660208301526320dcd90b60e01b604083015260608201526001600160a01b038b16608082015260a081018d905260c0810185905260e0810186905261149f565b9a610a9c60018060a01b03604089015116975194610a9630611589565b926111e5565b92610ae86040519d8e9a8b998a98630bb3905160e31b8a5260a060048b015260a48a019061115a565b60031995868a83030160248b015261115a565b908488830301604489015261115a565b9185830301606486015261115a565b90608483015203925af192831561034957600093610bd9575b5060e0830180516005811015610bc357600114908115610bae575b50610b385761028f611468565b60c08360a0610ba59501516003610b4e86610f29565b0160018060a01b038516600052602052610b6e6040600020918254611340565b90550151906005610b7e84610f29565b019060018060a01b0316600052602052610b9e6040600020918254611340565b9055610f29565b50808080610287565b9050516005811015610bc35760041484610b2b565b634e487b7160e01b600052602160045260246000fd5b610bef9193503d806000833e61033a8183610e13565b9183610b10565b60405162461bcd60e51b8152602060048201526012602482015271151bdad95b881b9bdd08185c1c1c9bdd995960721b6044820152606490fd5b610c49915060203d6020116107bc576107ae8183610e13565b886109db565b9095506020813d602011610c88575b81610c6b60209383610e13565b81010312610395576020610c80602492611075565b96915061094d565b3d9150610c5e565b610ca69192503d806000833e6103bd8183610e13565b9087610901565b610cc6915060203d602011610409576103fb8183610e13565b876108bf565b805460405163bb37a28360e01b8152602a90920160048301523360248301526001600160a01b0316604482015242606482015260208160848173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4801561034957610d3391600091610d395750610f76565b8561085a565b610d51915060203d81116107bc576107ae8183610e13565b8761078a565b805460405163bb37a28360e01b81526027830160048201523360248201526001600160a01b03909116604482015242606482015260208160848173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4801561034957610dbf916000916107955750610f76565b610854565b610100810190811067ffffffffffffffff821117610de157604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610de157604052565b90601f8019910116810190811067ffffffffffffffff821117610de157604052565b67ffffffffffffffff8111610de157601f01601f191660200190565b81601f8201121561039557803590610e6882610e35565b92610e766040519485610e13565b8284526020838301011161039557816000926020809301838601378301015290565b60a06003198201126103955760043563ffffffff8116810361039557916024356001600160e01b03198116810361039557916044359067ffffffffffffffff821161039557610ee991600401610e51565b906064359060843590565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b90816020910312610395575180151581036103955790565b15610f7d57565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b90816020910312610395575160048110156103955790565b15610fd057565b60405162461bcd60e51b815260206004820152601560248201527415985d5b1d081a5cc81b9bdd08185c1c1c9bdd9959605a1b6044820152606490fd5b60005b8381106110205750506000910152565b8181015183820152602001611010565b81601f8201121561039557805161104681610e35565b926110546040519485610e13565b8184526020828401011161039557611072916020808501910161100d565b90565b51906001600160a01b038216820361039557565b9060208282031261039557815167ffffffffffffffff9283821161039557016101008183031261039557604051926110c084610dc4565b815181811161039557836110d5918401611030565b8452602082015160208501526110ed60408301611075565b60408501526110fe60608301611075565b60608501526080820151818111610395578361111b918401611030565b608085015260a08201519081116103955760e09261113a918301611030565b60a084015261114b60c08201611075565b60c0840152015160e082015290565b906020916111738151809281855285808601910161100d565b601f01601f1916010190565b1561118657565b60405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b6044820152606490fd5b8051156111cf5760200190565b634e487b7160e01b600052603260045260246000fd5b919082018092116111f257565b634e487b7160e01b600052601160045260246000fd5b51906001600160e01b03198216820361039557565b602090818184031261039557805167ffffffffffffffff9182821161039557019161010083850312610395576040519361125685610dc4565b8351838111610395578161126b918601611030565b8552611278828501611208565b8286015261128860408501611208565b6040860152606084015183811161039557840181601f82011215610395578051938411610de1578360051b90604051946112c485840187610e13565b85528380860192820101928311610395578301905b8282106113245750505050606083015260e0906112f860808201611075565b608084015260a081015160a084015260c081015160c0840152015160058110156103955760e082015290565b815163ffffffff811681036103955781529083019083016112d9565b919082039182116111f257565b1561135457565b60405162461bcd60e51b8152602060048201526014602482015273526564656d7074696f6e496e50726f677265737360601b6044820152606490fd5b916113b9906113ab611072959360608652606086019061115a565b90848203602086015261115a565b91604081840391015261115a565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff8160a01c1615801561145f575b1561141a57333003611409575050565b60ff60a01b1916600160a01b179055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b503330146113f9565b33300361147157565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4a805460ff60a01b19169055565b90815163ffffffff60e01b602090808286015116906040860151169260608601519560018060a01b0360808201511660a08201519060e060c0840151930151946005861015610bc35795604051976115046101009687848c01526101208b019061115a565b9760408a01526060890152601f1996878982030160808a015281808c5192838152019b019160005b82811061155e575050505060a087015260c086015260e085015283015292819003928301815290916110729082610e13565b835163ffffffff168d529b81019b9281019260010161152c565b9081518110156111cf570160200190565b604051906bffffffffffffffffffffffff199060601b166020820152601481526115b281610df7565b8051604051906115c182610df7565b601082526f181899199a1a9b1b9c1cb0b131b232b360811b6020830152825160019281841b6002928082048414901517156111f2578201948583116111f25761162261160c87610e35565b9661161a6040519889610e13565b808852610e35565b6020870190601f19013682378651156111cf576030905385518510156111cf576078602187015360005b84811061165c5750505050505090565b6001600160f81b03198061167d6116738486611578565b5160fc1c86611578565b51169082881b918383048714841517156111f257828701908188116111f2576116aa9060001a918b611578565b536116c5600f6116ba8587611578565b5160f81c1686611578565b511660039182018092116111f2576116e19060001a9189611578565b5360001981146111f257850161164c56fea26469706673582212201092713fe59fa18e3bce527aa3e42faa21ba1824d7da3a6499e062ceace824b264736f6c63430008120033"; type AccountsVaultFacetConstructorParams = | [linkLibraryAddresses: AccountsVaultFacetLibraryAddresses, signer?: Signer] @@ -2792,13 +2239,6 @@ export class AccountsVaultFacet__factory extends ContractFactory { .toLowerCase() ); - linkedBytecode = linkedBytecode.replace( - new RegExp("__\\$cdb3a974a6603f5f21ad73b7f4e0c6fc0b\\$__", "g"), - linkLibraryAddresses["contracts/lib/Strings/string.sol:StringArray"] - .replace(/^0x/, "") - .toLowerCase() - ); - return linkedBytecode; } @@ -2834,5 +2274,4 @@ export class AccountsVaultFacet__factory extends ContractFactory { export interface AccountsVaultFacetLibraryAddresses { ["contracts/core/struct.sol:AngelCoreStruct"]: string; - ["contracts/lib/Strings/string.sol:StringArray"]: string; } diff --git a/typechain-types/factories/contracts/core/accounts/facets/AxelarCallExecutor.sol/AxelarExecutionContract__factory.ts b/typechain-types/factories/contracts/core/accounts/facets/AxelarCallExecutor.sol/AxelarExecutionContract__factory.ts deleted file mode 100644 index e2a54870f..000000000 --- a/typechain-types/factories/contracts/core/accounts/facets/AxelarCallExecutor.sol/AxelarExecutionContract__factory.ts +++ /dev/null @@ -1,2852 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { PromiseOrValue } from "../../../../../../common"; -import type { - AxelarExecutionContract, - AxelarExecutionContractInterface, -} from "../../../../../../contracts/core/accounts/facets/AxelarCallExecutor.sol/AxelarExecutionContract"; - -const _abi = [ - { - inputs: [], - name: "NotApprovedByGateway", - type: "error", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "sender", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "spender", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "tokenAddress", - type: "address", - }, - { - components: [ - { - internalType: "uint256", - name: "height", - type: "uint256", - }, - { - internalType: "uint256", - name: "timestamp", - type: "uint256", - }, - { - internalType: "bool", - name: "expires", - type: "bool", - }, - { - internalType: "uint256", - name: "allowanceAmount", - type: "uint256", - }, - { - internalType: "bool", - name: "configured", - type: "bool", - }, - ], - indexed: false, - internalType: "struct AccountStorage.AllowanceData", - name: "allowance", - type: "tuple", - }, - ], - name: "AllowanceStateUpdatedTo", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "uint256", - name: "quorum", - type: "uint256", - }, - { - internalType: "uint256", - name: "threshold", - type: "uint256", - }, - { - internalType: "uint256", - name: "votingPeriod", - type: "uint256", - }, - { - internalType: "uint256", - name: "timelockPeriod", - type: "uint256", - }, - { - internalType: "uint256", - name: "expirationPeriod", - type: "uint256", - }, - { - internalType: "uint256", - name: "proposalDeposit", - type: "uint256", - }, - { - internalType: "uint256", - name: "snapshotPeriod", - type: "uint256", - }, - { - components: [ - { - internalType: "enum AngelCoreStruct.TokenType", - name: "token", - type: "uint8", - }, - { - components: [ - { - internalType: "address", - name: "existingCw20Data", - type: "address", - }, - { - internalType: "uint256", - name: "newCw20InitialSupply", - type: "uint256", - }, - { - internalType: "string", - name: "newCw20Name", - type: "string", - }, - { - internalType: "string", - name: "newCw20Symbol", - type: "string", - }, - { - components: [ - { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", - type: "uint8", - }, - { - components: [ - { - internalType: "uint128", - name: "value", - type: "uint128", - }, - { - internalType: "uint256", - name: "scale", - type: "uint256", - }, - { - internalType: "uint128", - name: "slope", - type: "uint128", - }, - { - internalType: "uint128", - name: "power", - type: "uint128", - }, - ], - internalType: "struct AngelCoreStruct.CurveTypeData", - name: "data", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", - type: "tuple", - }, - { - internalType: "string", - name: "bondingCurveName", - type: "string", - }, - { - internalType: "string", - name: "bondingCurveSymbol", - type: "string", - }, - { - internalType: "uint256", - name: "bondingCurveDecimals", - type: "uint256", - }, - { - internalType: "address", - name: "bondingCurveReserveDenom", - type: "address", - }, - { - internalType: "uint256", - name: "bondingCurveReserveDecimals", - type: "uint256", - }, - { - internalType: "uint256", - name: "bondingCurveUnbondingPeriod", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DaoTokenData", - name: "data", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.DaoToken", - name: "token", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", - type: "uint8", - }, - { - internalType: "address", - name: "endowOwner", - type: "address", - }, - { - internalType: "address", - name: "registrarContract", - type: "address", - }, - ], - indexed: false, - internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", - type: "tuple", - }, - { - indexed: false, - internalType: "address", - name: "daoAddress", - type: "address", - }, - ], - name: "DaoContractCreated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "curId", - type: "uint256", - }, - { - indexed: false, - internalType: "uint256", - name: "curAmount", - type: "uint256", - }, - ], - name: "DonationDeposited", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "donationMatchContract", - type: "address", - }, - ], - name: "DonationMatchSetup", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "recipient", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "DonationWithdrawn", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "string", - name: "name", - type: "string", - }, - { - components: [ - { - internalType: "uint256[]", - name: "sdgs", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "general", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.Categories", - name: "categories", - type: "tuple", - }, - { - internalType: "uint256", - name: "tier", - type: "uint256", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", - type: "uint8", - }, - { - internalType: "string", - name: "logo", - type: "string", - }, - { - internalType: "string", - name: "image", - type: "string", - }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, - { - internalType: "uint256", - name: "maturityTime", - type: "uint256", - }, - { - components: [ - { - internalType: "string[]", - name: "locked_vault", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "lockedPercentage", - type: "uint256[]", - }, - { - internalType: "string[]", - name: "liquid_vault", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "liquidPercentage", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.AccountStrategies", - name: "strategies", - type: "tuple", - }, - { - components: [ - { - internalType: "string[]", - name: "locked", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "lockedAmount", - type: "uint256[]", - }, - { - internalType: "string[]", - name: "liquid", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "liquidAmount", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.OneOffVaults", - name: "oneoffVaults", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "rebalanceLiquidInvestedProfits", - type: "bool", - }, - { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", - }, - { - internalType: "bool", - name: "lockedPrincipleToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.RebalanceDetails", - name: "rebalance", - type: "tuple", - }, - { - internalType: "bool", - name: "kycDonorsOnly", - type: "bool", - }, - { - internalType: "uint256", - name: "pendingRedemptions", - type: "uint256", - }, - { - internalType: "uint256", - name: "copycatStrategy", - type: "uint256", - }, - { - internalType: "uint256", - name: "proposalLink", - type: "uint256", - }, - { - internalType: "address", - name: "dao", - type: "address", - }, - { - internalType: "address", - name: "daoToken", - type: "address", - }, - { - internalType: "bool", - name: "donationMatchActive", - type: "bool", - }, - { - internalType: "address", - name: "donationMatchContract", - type: "address", - }, - { - internalType: "address[]", - name: "whitelistedBeneficiaries", - type: "address[]", - }, - { - internalType: "address[]", - name: "whitelistedContributors", - type: "address[]", - }, - { - internalType: "address[]", - name: "maturityWhitelist", - type: "address[]", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "withdrawFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "depositFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "withdrawFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "depositFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "name", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "image", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "logo", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "categories", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "splitToLiquid", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "ignoreUserSplits", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsController", - name: "settingsController", - type: "tuple", - }, - { - internalType: "uint256", - name: "parent", - type: "uint256", - }, - { - internalType: "bool", - name: "ignoreUserSplits", - type: "bool", - }, - { - components: [ - { - internalType: "uint256", - name: "max", - type: "uint256", - }, - { - internalType: "uint256", - name: "min", - type: "uint256", - }, - { - internalType: "uint256", - name: "defaultSplit", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.SplitDetails", - name: "splitToLiquid", - type: "tuple", - }, - { - internalType: "uint256", - name: "referralId", - type: "uint256", - }, - ], - indexed: false, - internalType: "struct AccountStorage.Endowment", - name: "endowment", - type: "tuple", - }, - ], - name: "EndowmentCreated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - indexed: false, - internalType: "string", - name: "setting", - type: "string", - }, - ], - name: "EndowmentSettingUpdated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "sender", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "spender", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "tokenAddress", - type: "address", - }, - ], - name: "RemoveAllowance", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "curId", - type: "uint256", - }, - { - indexed: false, - internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", - type: "uint8", - }, - { - indexed: false, - internalType: "uint256", - name: "curAmount", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "curTokenin", - type: "address", - }, - { - indexed: false, - internalType: "address", - name: "curTokenout", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "curAmountout", - type: "uint256", - }, - ], - name: "SwapToken", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - components: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "address", - name: "registrarContract", - type: "address", - }, - { - internalType: "uint256", - name: "nextAccountId", - type: "uint256", - }, - { - internalType: "uint256", - name: "maxGeneralCategoryId", - type: "uint256", - }, - ], - indexed: false, - internalType: "struct AccountStorage.Config", - name: "config", - type: "tuple", - }, - ], - name: "UpdateConfig", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - internalType: "address", - name: "owner", - type: "address", - }, - { - internalType: "string", - name: "name", - type: "string", - }, - { - components: [ - { - internalType: "uint256[]", - name: "sdgs", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "general", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.Categories", - name: "categories", - type: "tuple", - }, - { - internalType: "uint256", - name: "tier", - type: "uint256", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", - type: "uint8", - }, - { - internalType: "string", - name: "logo", - type: "string", - }, - { - internalType: "string", - name: "image", - type: "string", - }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, - { - internalType: "uint256", - name: "maturityTime", - type: "uint256", - }, - { - components: [ - { - internalType: "string[]", - name: "locked_vault", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "lockedPercentage", - type: "uint256[]", - }, - { - internalType: "string[]", - name: "liquid_vault", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "liquidPercentage", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.AccountStrategies", - name: "strategies", - type: "tuple", - }, - { - components: [ - { - internalType: "string[]", - name: "locked", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "lockedAmount", - type: "uint256[]", - }, - { - internalType: "string[]", - name: "liquid", - type: "string[]", - }, - { - internalType: "uint256[]", - name: "liquidAmount", - type: "uint256[]", - }, - ], - internalType: "struct AngelCoreStruct.OneOffVaults", - name: "oneoffVaults", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "rebalanceLiquidInvestedProfits", - type: "bool", - }, - { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", - }, - { - internalType: "bool", - name: "lockedPrincipleToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.RebalanceDetails", - name: "rebalance", - type: "tuple", - }, - { - internalType: "bool", - name: "kycDonorsOnly", - type: "bool", - }, - { - internalType: "uint256", - name: "pendingRedemptions", - type: "uint256", - }, - { - internalType: "uint256", - name: "copycatStrategy", - type: "uint256", - }, - { - internalType: "uint256", - name: "proposalLink", - type: "uint256", - }, - { - internalType: "address", - name: "dao", - type: "address", - }, - { - internalType: "address", - name: "daoToken", - type: "address", - }, - { - internalType: "bool", - name: "donationMatchActive", - type: "bool", - }, - { - internalType: "address", - name: "donationMatchContract", - type: "address", - }, - { - internalType: "address[]", - name: "whitelistedBeneficiaries", - type: "address[]", - }, - { - internalType: "address[]", - name: "whitelistedContributors", - type: "address[]", - }, - { - internalType: "address[]", - name: "maturityWhitelist", - type: "address[]", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "withdrawFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "depositFee", - type: "tuple", - }, - { - components: [ - { - internalType: "address", - name: "payoutAddress", - type: "address", - }, - { - internalType: "uint256", - name: "feePercentage", - type: "uint256", - }, - { - internalType: "bool", - name: "active", - type: "bool", - }, - ], - internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "withdrawFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "depositFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "name", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "image", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "logo", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "categories", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "splitToLiquid", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "ignoreUserSplits", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsController", - name: "settingsController", - type: "tuple", - }, - { - internalType: "uint256", - name: "parent", - type: "uint256", - }, - { - internalType: "bool", - name: "ignoreUserSplits", - type: "bool", - }, - { - components: [ - { - internalType: "uint256", - name: "max", - type: "uint256", - }, - { - internalType: "uint256", - name: "min", - type: "uint256", - }, - { - internalType: "uint256", - name: "defaultSplit", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.SplitDetails", - name: "splitToLiquid", - type: "tuple", - }, - { - internalType: "uint256", - name: "referralId", - type: "uint256", - }, - ], - indexed: false, - internalType: "struct AccountStorage.Endowment", - name: "endowment", - type: "tuple", - }, - ], - name: "UpdateEndowment", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "locked", - type: "uint256", - }, - { - internalType: "uint256", - name: "liquid", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.DonationsReceived", - name: "donationsReceived", - type: "tuple", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "locked", - type: "tuple", - }, - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "liquid", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.BalanceInfo", - name: "balances", - type: "tuple", - }, - { - internalType: "bool", - name: "closingEndowment", - type: "bool", - }, - { - components: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "address", - name: "addr", - type: "address", - }, - ], - internalType: "struct AngelCoreStruct.BeneficiaryData", - name: "data", - type: "tuple", - }, - { - internalType: "enum AngelCoreStruct.BeneficiaryEnum", - name: "enumData", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.Beneficiary", - name: "closingBeneficiary", - type: "tuple", - }, - ], - indexed: false, - internalType: "struct AccountStorage.EndowmentState", - name: "state", - type: "tuple", - }, - ], - name: "UpdateEndowmentState", - type: "event", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "commandId", - type: "bytes32", - }, - { - internalType: "string", - name: "sourceChain", - type: "string", - }, - { - internalType: "string", - name: "sourceAddress", - type: "string", - }, - { - internalType: "bytes", - name: "payload", - type: "bytes", - }, - ], - name: "execute", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "bytes32", - name: "commandId", - type: "bytes32", - }, - { - internalType: "string", - name: "sourceChain", - type: "string", - }, - { - internalType: "string", - name: "sourceAddress", - type: "string", - }, - { - internalType: "bytes", - name: "payload", - type: "bytes", - }, - { - internalType: "string", - name: "tokenSymbol", - type: "string", - }, - { - internalType: "uint256", - name: "amount", - type: "uint256", - }, - ], - name: "executeWithToken", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, -] as const; - -const _bytecode = - "0x6080806040523461001657613de7908161001c8239f35b600080fdfe608060405260048036101561001357600080fd5b6000803560e01c9182631a98b2e01461003c57505063491606581461003757600080fd5b610110565b346100da5760c03660031901126100da576001600160401b03906024358281116100d65761006d90369083016100de565b906044358481116100d25761008590369085016100de565b906064358681116100ce5761009d90369087016100de565b9290916084359788116100ca576100ba6100c798369089016100de565b96909560a435983561063b565b80f35b8880fd5b8780fd5b8580fd5b8380fd5b5080fd5b9181601f8401121561010b578235916001600160401b03831161010b576020838186019501011161010b57565b600080fd5b3461010b57608036600319011261010b576001600160401b0360243581811161010b57610142600491369083016100de565b60443584811161010b5761015990369085016100de565b91909260643595861161010b576101766101d296369087016100de565b9190610180613b0f565b600080516020613d92833981519152546001600160a01b03906101ac9082165b6001600160a01b031690565b9188604051809463820d0f1560e01b8252818060009e8f95469083019190602083019252565b03915afa80156102925760209761020e8b9361020660608f9895610233968a91610297575b5001516001600160a01b031690565b98369161058c565b898151910120906040519a8b998a988996635f6970c360e01b88528035908801610605565b0393165af1908115610292578391610264575b501561025557506100c7613bb0565b604051631403112d60e21b8152fd5b610285915060203d811161028b575b61027d8183610353565b8101906105d0565b38610246565b503d610273565b610580565b6102b391503d808c833e6102ab8183610353565b8101906104b4565b386101f7565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176102ea57604052565b6102b9565b608081019081106001600160401b038211176102ea57604052565b60a081019081106001600160401b038211176102ea57604052565b606081019081106001600160401b038211176102ea57604052565b6001600160401b0381116102ea57604052565b90601f801991011681019081106001600160401b038211176102ea57604052565b6040519061010082018281106001600160401b038211176102ea57604052565b6040519061024082018281106001600160401b038211176102ea57604052565b6040519061044082018281106001600160401b038211176102ea57604052565b6040519060c082018281106001600160401b038211176102ea57604052565b6040519061042082018281106001600160401b038211176102ea57604052565b6001600160401b0381116102ea57601f01601f191660200190565b60005b8381106104415750506000910152565b8181015183820152602001610431565b81601f8201121561010b57805161046781610413565b926104756040519485610353565b8184526020828401011161010b57610493916020808501910161042e565b90565b6001600160a01b0381160361010b57565b51906104b282610496565b565b9060208282031261010b5781516001600160401b039283821161010b57016101008183031261010b576104e5610374565b92815181811161010b57836104fb918401610451565b845260208201516020850152610513604083016104a7565b6040850152610524606083016104a7565b6060850152608082015181811161010b5783610541918401610451565b608085015260a082015190811161010b5760e092610560918301610451565b60a084015261057160c082016104a7565b60c0840152015160e082015290565b6040513d6000823e3d90fd5b92919261059882610413565b916105a66040519384610353565b82948184528183011161010b578281602093846000960137010152565b5190811515820361010b57565b9081602091031261010b57610493906105c3565b908060209392818452848401376000828201840152601f01601f1916010190565b969594906060949261063694610628928a52608060208b015260808a01916105e4565b9187830360408901526105e4565b930152565b92939098979695949861064c613b0f565b600080516020613d92833981519152546001600160a01b0392906106719084166101a0565b60405163820d0f1560e01b81524660048201529390600090859060249082905afa958615610292576106f38c8c8f6000966106cf8f928f9b606060209f6106c7928d9161074e575001516001600160a01b031690565b9b369161058c565b8c8151910120906040519d8e9c8d9b8c99631876eed960e01b8b5260048b01610761565b0393165af190811561029257600091610730575b501561071e57610716946123c4565b6104b2613bb0565b604051631403112d60e21b8152600490fd5b610748915060203d811161028b5761027d8183610353565b38610707565b6102b3913d8091833e6102ab8183610353565b9998979390946107896107979360a0999560c08e6106369b9a815281602082015201916105e4565b918b830360408d01526105e4565b92606089015287830360808901526105e4565b634e487b7160e01b600052603260045260246000fd5b8051156107cd5760200190565b6107aa565b80518210156107cd5760209160051b010190565b90600182811c92168015610816575b602083101461080057565b634e487b7160e01b600052602260045260246000fd5b91607f16916107f5565b9060405191826000825492610834846107e6565b9081845260019485811690816000146108a1575060011461085e575b50506104b292500383610353565b9093915060005260209081600020936000915b8183106108895750506104b293508201013880610850565b85548884018501529485019487945091830191610871565b9150506104b294506020925060ff191682840152151560051b8201013880610850565b90815480825260208092019260005281600020916000905b8282106108ea575050505090565b8354855293840193600193840193909101906108dc565b9060016020604051610912816102cf565b610948819560405161092f8161092881856108c4565b0382610353565b835261094160405180968193016108c4565b0384610353565b0152565b634e487b7160e01b600052602160045260246000fd5b6003111561096c57565b61094c565b61097a82610962565b52565b6004111561096c57565b61097a8261097d565b6001600160401b0381116102ea5760051b60200190565b9081546109b381610990565b926109c16040519485610353565b818452600090815260208082208186015b8484106109e0575050505050565b60018381926109ee85610820565b8152019201930192906109d2565b9060036060604051610a0d816102ef565b6109488195610a1b816109a7565b8352604051610a318161092881600186016108c4565b6020840152610a42600282016109a7565b604084015261094160405180968193016108c4565b90604051610a648161030a565b60806003829460ff81548181161515865260081c16151560208501526001810154604085015260ff600282015416151560608501520154910152565b90815480825260208092019260005281600020916000905b828210610ac6575050505090565b83546001600160a01b031685529384019360019384019390910190610ab8565b906104b2610afa9260405193848092610aa0565b0383610353565b90604051610b0e81610325565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b9060405191610b45836102ef565b60608360ff835481811615158352818160081c161515602084015260101c1615156040820152600260405193610b7a856102cf565b60018101546001600160a01b03168552015460208401520152565b90610cce6033610ba3610394565b93610bad81610b37565b8552610bbb60038201610b37565b6020860152610bcc60068201610b37565b6040860152610bdd60098201610b37565b6060860152610bee600c8201610b37565b6080860152610bff600f8201610b37565b60a0860152610c1060128201610b37565b60c0860152610c2160158201610b37565b60e0860152610c3260188201610b37565b610100860152610c44601b8201610b37565b610120860152610c56601e8201610b37565b610140860152610c6860218201610b37565b610160860152610c7a60248201610b37565b610180860152610c8c60278201610b37565b6101a0860152610c9e602a8201610b37565b6101c0860152610cb0602d8201610b37565b6101e0860152610cc260308201610b37565b61020086015201610b37565b610220830152565b90604051610ce381610325565b60406002829480548452600181015460208501520154910152565b906067610d096103b4565b83546001600160a01b0316815292610d2360018201610820565b6020850152610d3460028201610901565b604085015260048101546060850152610d5d610d54600583015460ff1690565b60808601610971565b610d6960068201610820565b60a0850152610d7a60078201610820565b60c0850152610db560ff6008830154610d9882821660e08901610987565b600881901c8216151561010088015260101c161515610120860152565b6009810154610140850152610dcc600a82016109fc565b610160850152610dde600e82016109fc565b610180850152610df060128201610a57565b6101a0850152610e11610e07601683015460ff1690565b15156101c0860152565b60178101546101e085015260188101546102008501526019810154610220850152601a8101546001600160a01b0316610240850152601b8101546001600160a01b03811661026086015260a01c60ff161515610280850152601c8101546001600160a01b03166102a0850152610e89601d8201610ae6565b6102c0850152610e9b601e8201610ae6565b6102e0850152610ead601f8201610ae6565b610300850152610ebf60208201610b01565b610320850152610ed160238201610b01565b610340850152610ee360268201610b01565b610360850152610ef560298201610b01565b610380850152610f07602c8201610b95565b6103a085015260628101546103c0850152610f33610f29606383015460ff1690565b15156103e0860152565b610f3f60648201610cd6565b6104008501520154610420830152565b9081602091031261010b575161049381610496565b9160206104939381815201916105e4565b15610f7c57565b60405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a5908105cdcd95d609a1b6044820152606490fd5b602090610fcb92826040519483868095519384920161042e565b82019081520301902090565b634e487b7160e01b600052601160045260246000fd5b600019810191908211610ffc57565b610fd7565b91908203918211610ffc57565b600091031261010b57565b818110611024575050565b60008155600101611019565b90600160401b81116102ea5781549080835581811061104e57505050565b6104b29260005260206000209182019101611019565b8181146110c2578154916001600160401b0383116102ea576110868383611030565b60005260206000209060005260206000208154916000925b8484106110ac575050505050565b600180919201938454928185015501929061109e565b5050565b8181146110c2578154916001600160401b0383116102ea576110e88383611030565b60005260206000209060005260206000208154916000925b84841061110e575050505050565b600191820180546001600160a01b0390921684860155939091019290611100565b81811415908161113e57505050565b6002809160ff93611163575b01920154166111588161097d565b815460ff1916179055565b8454815560018086015490820180546001600160a01b0319166001600160a01b039290921691909117905561114a565b8181141591826111a257505050565b600980916104b294611263575b600284016002820180821415806111f2575b5050506111ea6111d5600883015460ff1690565b600886019060ff801983541691151516179055565b01910161112f565b611239575b5050600584016005820180820361120f575b806111c1565b5490556112226006820160068601611064565b61123260078201600786016110c6565b3880611209565b54905561124c6003820160038601611064565b61125c60048201600486016110c6565b38806111f7565b80548455600181015460018501556111af565b60405190611283826102cf565b600682526574656d702d3160d01b6020830152565b604051906112a5826102cf565b601f82527f63616c6c696e672064697374726962757465546f42656e6566696369617279006020830152565b9190601f81116112e057505050565b6104b2926000526020600020906020601f840160051c8301931061130c575b601f0160051c0190611019565b90915081906112ff565b91909182516001600160401b0381116102ea5761133d8161133784546107e6565b846112d1565b602080601f831160011461137957508192939460009261136e575b50508160011b916000199060031b1c1916179055565b015190503880611358565b90601f1983169561138f85600052602060002090565b926000905b8882106113cc575050836001959697106113b3575b505050811b019055565b015160001960f88460031b161c191690553880806113a9565b80600185968294968601518155019501930190611394565b8151916001600160401b0383116102ea576113ff8383611030565b602080910191600052806000209060005b84811061141e575050505050565b83518382015592810192600101611410565b9080519081516001600160401b03928382116102ea576114508286611030565b602080910191600092868452828420845b8381106114b3575050505080600180960193015180519485116102ea57819061148a8686611030565b01928252808220915b8481106114a257505050505050565b835183820155928101928501611493565b82518282015591840191600101611461565b906114cf81610962565b60ff80198354169116179055565b906114cf8161097d565b815191600160401b83116102ea578154838355808410611545575b50611517602080920192600052602060002090565b6000925b848410611529575050505050565b6001838261153983945186611316565b0192019301929061151b565b6000838152846020822092830192015b828110611563575050611502565b80611570600192546107e6565b8061157d575b5001611555565b601f9081811184146115955750508281555b38611576565b836115b7926115a985600052602060002090565b920160051c82019101611019565b6000818152602081208183555561158f565b81518051939290600160401b85116102ea57825485845580861061165e575b506020809101946115fe84600052602060002090565b956000905b828210611642575050506104b2939450816116286060926003940151600186016113e4565b6116396040820151600286016114e7565b015191016113e4565b600184826116528394518c611316565b01980191019096611603565b6000848152866020822092830192015b82811061167c5750506115e8565b80611689600192546107e6565b80611696575b500161166e565b601f9081811184146116ae5750508281555b3861168f565b836116c2926115a985600052602060002090565b600081815260208120818355556116a8565b9060806003916116f381511515859060ff801983541691151516179055565b6020810151845461ff00191690151560081b61ff00161784556040810151600185015561173560608201511515600286019060ff801983541691151516179055565b0151910155565b8151916001600160401b0383116102ea576117578383611030565b602080910191600052806000209060005b848110611776575050505050565b83516001600160a01b03168382015592810192600101611768565b815181546001600160a01b0319166001600160a01b03919091161781556104b291600290604090602081015160018501550151151591019060ff801983541691151516179055565b90602060606002926117fa81511515869060ff801983541691151516179055565b80830151855461ff00191690151560081b61ff00161785556040810151855462ff0000191690151560101b62ff000016178555015180516001850180546001600160a01b0319166001600160a01b0392909216919091179055611735565b60336102206104b29361186c8151856117d9565b61187d6020820151600386016117d9565b61188e6040820151600686016117d9565b61189f6060820151600986016117d9565b6118b06080820151600c86016117d9565b6118c160a0820151600f86016117d9565b6118d260c0820151601286016117d9565b6118e360e0820151601586016117d9565b6118f5610100820151601886016117d9565b611907610120820151601b86016117d9565b611919610140820151601e86016117d9565b61192b610160820151602186016117d9565b61193d610180820151602486016117d9565b61194f6101a0820151602786016117d9565b6119616101c0820151602a86016117d9565b6119736101e0820151602d86016117d9565b611985610200820151603086016117d9565b015191016117d9565b815181546001600160a01b0319166001600160a01b0390911617815590606790610420906119c3602082015160018601611316565b6119d4604082015160028601611430565b606081015160048501556119f860808201516119ef81610962565b600586016114c5565b611a0960a082015160068601611316565b611a1a60c082015160078601611316565b611a7f60088501611a3860e0840151611a328161097d565b826114dd565b611a5f611a49610100850151151590565b825461ff00191690151560081b61ff0016178255565b6101208301511515815462ff0000191690151560101b62ff000016179055565b6101408101516009850155611a9c610160820151600a86016115c9565b611aae610180820151600e86016115c9565b611ac06101a0820151601286016116d4565b611ae6611ad16101c0830151151590565b601686019060ff801983541691151516179055565b6101e0810151601785015561020081015160188501556102208101516019850155610240810151601a850180546001600160a01b0319166001600160a01b03928316179055610260820151601b86018054610280850151929093166001600160a81b03199093169290921790151560a01b60ff60a01b161790556102a0810151601c850180546001600160a01b0319166001600160a01b03909216919091179055611b996102c0820151601d860161173c565b611bab6102e0820151601e860161173c565b611bbd610300820151601f860161173c565b611bcf61032082015160208601611791565b611be161034082015160238601611791565b611bf361036082015160268601611791565b611c0561038082015160298601611791565b611c176103a0820151602c8601611858565b6103c08101516062850155611c48611c336103e0830151151590565b606386019060ff801983541691151516179055565b6104008101518051606486015560208101516065860155604001516066850155611735565b90602091611c868151809281855285808601910161042e565b601f01601f1916010190565b90815180825260208080930193019160005b828110611cb2575050505090565b835185529381019392810192600101611ca4565b610493916020611cdf8351604084526040840190611c92565b920151906020818403910152611c92565b9061097a82610962565b9061097a8261097d565b908082519081815260208091019281808460051b8301019501936000915b848310611d325750505050505090565b9091929394958480611d50600193601f198682030187528a51611c6d565b9801930193019194939290611d22565b610493916060611da3611d91611d7f8551608086526080860190611d04565b60208601518582036020870152611c92565b60408501518482036040860152611d04565b920151906060818403910152611c92565b90815180825260208080930193019160005b828110611dd4575050505090565b83516001600160a01b031685529381019392810192600101611dc6565b6020606060809280511515855282810151151583860152604081015115156040860152015160018060a01b0381511660608501520151910152565b90610aa06102206104b293611e42848251611df1565b611e54602082015160a0860190611df1565b611f656040820151611e6c6101409182880190611df1565b611f07606084015191611e856101e093848a0190611df1565b611e9860808601516102808a0190611df1565b611eab60a08601516103208a0190611df1565b611ebe60c08601516103c08a0190611df1565b611ed160e08601516104608a0190611df1565b611ee56101008601516105008a0190611df1565b611ef96101208601516105a08a0190611df1565b840151610640880190611df1565b611f1b6101608401516106e0880190611df1565b611f2f610180840151610780880190611df1565b611f436101a0840151610820880190611df1565b611f576101c08401516108c0880190611df1565b820151610960860190611df1565b611f79610200820151610a00860190611df1565b0151910190611df1565b63ffffffff909116815260406020820181905282516001600160a01b03169082015260208201516060820161112090526111608201611fc191611c6d565b916040810151603f199384848203016080850152611fde91611cc6565b606082015160a0840152608082015160c08401611ffa91611cf0565b60a082015190848482030160e085015261201391611c6d565b9260c08201516101009482858203018686015261202f91611c6d565b9060e0830151946101209586860161204691611cfa565b830151946101409586860161205b9115159052565b83015194610160958686016120709115159052565b8301519461018095868601528301516101a09282868203018487015261209591611d60565b948301516101c0958286820301878701526120af91611d60565b91830151946101e0958686016120f29160808091805115158452602081015115156020850152604081015160408501526060810151151560608501520151910152565b83015194610280958686016121079115159052565b830151916102a09283860152610200840151906102c09182870152610220850151916102e092838801526102408601516103009081890161214e9160018060a01b03169052565b6102608701516001600160a01b031661032089810191909152988701519561034096878a0161217d9115159052565b8701516001600160a01b0316610360898101919091529187015161038093868a820301858b01526121ad91611db4565b938701516103a094868a820301868b01526121c791611db4565b90870151906103c09589820301868a01526121e191611db4565b9786015180516001600160a01b03166103e08981019190915260208201516104008a015260409091015115156104208901529486015180516001600160a01b0316610440890152602081015161046089015260400151151561048088015285015180516001600160a01b03166104a088015260208101516104c08801526040015115156104e087015284015180516001600160a01b0316610500870152602081015161052087015260400151151561054086015283015161056085016122a691611e2c565b8201516110a084015281015115156110c083015261040081015180516110e0840152602081015161110084015260400151611120830152610420015190611140015290565b90600261049392805483526060602084015261230d60608401600183016108c4565b92604081850391015201610aa0565b90815481526001820154602082015260e06040820152604060e082015260c060ff600b6123696123536101208601600288016122eb565b85810360df1901610100870152600587016122eb565b600886015483161515606086015260098601546080860152600a8601546001600160a01b031660a086015294015416916123a28361097d565b015290565b60409063ffffffff6104939493168152816020820152019061231c565b6123d7906123dc9295949395369161058c565b6129e1565b6040918282019461243a6124356124006123f689516107c0565b5163ffffffff1690565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d42602052604060002090565b610cfe565b9261248061244b6123f689516107c0565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b600080516020613d9283398151915254865163820d0f1560e01b8152466004820152919760009590926001600160a01b0390921691908682602481865afa958615610292576124ec6101a06101a060606125089a6020978d91612900575001516001600160a01b031690565b908a518098819482936349ad89fb60e11b845260048401610f64565b03915afa9384156102925785946128c6575b5061252e918461252992612eee565b610f75565b80516001600160e01b03191660009081527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4c6020526040902061257090610820565b90608081019081518981612818575b505060a091500190815190816126d1575b505050506123f6857f364502d723e5ab665a7fdb51cffd24931248ebbf2a52d809c6fd1e9005b4dd9e6126659461265a946125fb896125f661244b6123f67f758243dab8e0b86a43e2f0b0d6e842211dc46a791072e017f73e274b81ad1e529e516107c0565b611193565b6101e08201612612815161260d611276565b613d4e565b80518061266a575b505050612636816126316124006123f687516107c0565b61198e565b6126436123f684516107c0565b612651885192839283611f83565b0390a1516107c0565b9151928392836123a7565b0390a1565b600181036126bf575052600888015460ff16612689575b38808061261a565b612699612694611298565b613cf7565b6126ba6126b56126ac6123f686516107c0565b63ffffffff1690565b61338a565b612681565b6126ca919250610fed565b9052612681565b61273661273e916127306127206126eb6123f68e516107c0565b63ffffffff166000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4d602052604060002090565b6001600052602052604060002090565b90610fb1565b918254611001565b905573__$2e6ee47b30d794e0597b4af30f16ddb84c$__905191813b156100d6578551631bccc68560e21b81526005880160048201526001600160a01b0391909116602482015260448101929092528290829060649082905af4958615610292577f364502d723e5ab665a7fdb51cffd24931248ebbf2a52d809c6fd1e9005b4dd9e6126659461265a946123f6947f758243dab8e0b86a43e2f0b0d6e842211dc46a791072e017f73e274b81ad1e529a6127ff575b50945094829850612590565b8061280c61281292610340565b8061100e565b386127f3565b6127366128406128316126eb6123f661284695516107c0565b60008052602052604060002090565b86610fb1565b905573__$2e6ee47b30d794e0597b4af30f16ddb84c$__915191803b156100d2578751631bccc68560e21b815260028a0160048201526001600160a01b038616602482015260448101939093528590839060649082905af49182156102925760a0926128b3575b8961257f565b8061280c6128c092610340565b386128ad565b612529919450916128f061252e9360203d81116128f9575b6128e88183610353565b810190610f4f565b9491509161251a565b503d6128de565b6102b391503d808f833e6102ab8183610353565b51906001600160e01b03198216820361010b57565b60c08183031261010b5761293c81612914565b9260209261294b848401612914565b9360408401516001600160401b03811161010b5784019180601f8401121561010b57825161297881610990565b936129866040519586610353565b818552838086019260051b82010192831161010b578301905b8282106129c55750505050916129b7606082016104a7565b9160a0608083015192015190565b815163ffffffff8116810361010b57815290830190830161299f565b60405160c081018181106001600160401b038211176102ea57612a6f92600060a0612a8494612a3a9460405282815282602082015260606040820152826060820152826080820152015260208082518301019101612929565b9593612a5e612a4e989296989493946103d4565b6001600160e01b03199099168952565b6001600160e01b0319166020880152565b60408601526001600160a01b03166060850152565b608083015260a082015290565b919082606091031261010b57604051612aa981610325565b604080829480518452602081015160208501520151910152565b81601f8201121561010b57805191612ada83610990565b92612ae86040519485610353565b808452602092838086019260051b82010192831161010b578301905b828210612b12575050505090565b8380918351612b2081610496565b815201910190612b04565b91909160208184031261010b576040519060208201936001600160401b0394838110868211176102ea576040528294825190811161010b57612b6d9201612ac3565b9052565b91908260a091031261010b57604051612b898161030a565b6080808294612b97816105c3565b8452612ba5602082016105c3565b602085015260408101516040850152612bc0606082016105c3565b60608501520151910152565b9060208282031261010b5781516001600160401b039283821161010b57016104e08183031261010b57612bfd6103f3565b92612c07826104a7565b8452612c15602083016104a7565b6020850152612c26604083016104a7565b6040850152612c37606083016104a7565b6060850152612c48608083016104a7565b6080850152612c5960a083016104a7565b60a0850152612c6a60c083016104a7565b60c0850152612c7b60e083016104a7565b60e0850152610100612c8e8184016104a7565b90850152610120612ca08184016104a7565b90850152610140612cb28184016104a7565b90850152610160612cc48184016104a7565b90850152610180612cd68184016104a7565b908501526101a0612ce88184016104a7565b908501526101c0612cfb84828501612a91565b9085015261022091612d0e8382016104a7565b6101e086015261024093612d238583016104a7565b61020087015261026093612d388584016104a7565b9087015261028094612d4b8684016104a7565b908701526102a09384830151908701526102c094612d6a8684016104a7565b908701526102e08083015193841161010b57612e5594612d8f836104c0968601612b2b565b9088015261030095612da28785016104a7565b90880152612db561032092838501612b71565b908701526103c094612dc88684016104a7565b908701526103e090612ddb8284016104a7565b9087015261040094612dee8684016104a7565b610340880152612e0161042084016104a7565b610360880152612e1461044084016104a7565b610380880152612e2761046084016104a7565b6103a0880152612e3a61048084016104a7565b90870152612e4b6104a083016104a7565b90860152016104a7565b9082015290565b60ff1660ff8114610ffc5760010190565b15612e7457565b60405162461bcd60e51b81526020600482015260126024820152712737ba1030b1b1b2b83a32b2103a37b5b2b760711b6044820152606490fd5b15612eb557565b60405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a5916995c9bd05b5bdd5b9d607a1b6044820152606490fd5b60405163e68f909d60e01b8152926001600160a01b03916000908590600490829086165afa93841561029257600094612fa2575b50600094855b6102a08601515180519060ff831691821015612f8057612f4e612f5b926101a0926107d2565b516001600160a01b031690565b84861614612f77575b612f706102a091612e5c565b9050612f28565b60019650612f64565b50505094909250612f9d9350612f969150612e6d565b1515612eae565b600190565b612fbe91943d8091833e612fb68183610353565b810190612bcc565b9238612f22565b6000527ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d41602052604060002090565b81601f8201121561010b5780519161300b83610990565b926130196040519485610353565b808452602092838086019260051b82010192831161010b578301905b828210613043575050505090565b81518152908301908301613035565b9060208282031261010b5781516001600160401b039283821161010b57016101008183031261010b57613083610374565b9281518452602082015181811161010b57836130a0918401610451565b6020850152604082015181811161010b57836130bd918401610451565b6040850152606082015190811161010b5760e0926130dc918301612ff4565b60608401526130ed608082016105c3565b608084015260a081015160a084015260c081015160c0840152015160e082015290565b9060208282031261010b5781516001600160401b03811161010b576104939201612ff4565b60a0909291926080810193815260209485938483015260408201526080606082015285518094520193019160005b828110613171575050505090565b835185529381019392810192600101613163565b91908201809211610ffc57565b6040519061319f826102cf565b600482526373697a6560e01b6020830152565b906131bc82610990565b6131c96040519182610353565b82815280926131da601f1991610990565b0190602036910137565b906131ee82610990565b6131fb6040519182610353565b828152809261320c601f1991610990565b019060005b82811061321d57505050565b806060602080938501015201613211565b80548210156107cd5760005260206000200190600090565b6000198114610ffc5760010190565b9060208282031261010b5781516001600160401b039283821161010b57019060608282031261010b576040519261328b84610325565b82518452602083015181811161010b57826132a7918501612ff4565b6020850152604083015190811161010b576132c29201612ac3565b604082015290565b815181556001918282016020808301519384516001600160401b03958682116102ea5783906132f98387611030565b01600094855283852088865b84811061336157505050505060026040910193015180519485116102ea57819061332f8686611030565b01928252808220915b84811061334757505050505050565b83516001600160a01b031683820155928101928501613338565b86845194019381840155018990613305565b60409061049393928152816020820152019061231c565b61339381612fc5565b600981016133a5600b83015460ff1690565b906133af8261097d565b600382036134ac575b50506040516390aac6e160e01b80825273__$2e6ee47b30d794e0597b4af30f16ddb84c$__93916000918282600481895af4918215610292578392613408918491613492575b50600287016132ca565b60046040518097819382525af48015610292577f758243dab8e0b86a43e2f0b0d6e842211dc46a791072e017f73e274b81ad1e529482613453939261346f575b5050600584016132ca565b613460826125f683612fc5565b61266560405192839283613373565b61348b92503d8091833e6134838183610353565b810190613255565b3880613448565b6134a691503d8086833e6134838183610353565b386133fe565b6134b58261097d565b600282036136e357505091600783019182549260048501948554936134da8587613185565b926134e78461260d613192565b6134f0846131b2565b916135036134fd866131b2565b956131e4565b600a8501546001600160a01b03169990966006860195909160005b60ff81168c8110156135da578d613535838961322e565b905460039190911b1c6001600160a01b0316613551848c61322e565b905460405163a9059cbb60e01b60208201526001600160a01b0394909416602485015260039190911b1c6044808401919091528252613591606483610353565b61359b838b6107d2565b6001600160a01b0390911690526135b2828c6107d2565b600090526135c0828d6107d2565b526135cb908b6107d2565b506135d590612e5c565b61351e565b50509199929a93509793945060009060038901915b85811061360e57505050505050906136079291613be7565b38806133b8565b806136d88a6136386136236136de958761322e565b905460039190911b1c6001600160a01b031690565b6136ac613652613648868a61322e565b90549060031b1c90565b60405163a9059cbb60e01b60208201526001600160a01b038c16602482015260448082019290925290815291613689606484610353565b61369d8d613697888d613185565b906107d2565b6001600160a01b039091169052565b60006136bc8d613697878c613185565b526136d16136ca858a613185565b80936107d2565b528b6107d2565b50613246565b6135ef565b6136ec8261097d565b600191808303613a065750600080516020613d9283398151915254600490600090613721906101a0906001600160a01b031681565b60405163e68f909d60e01b815292839182905afa918215610292576137636101a06101a060406137869660009687916139f2575001516001600160a01b031690565b90549060405180809581946335fc44d360e01b8352600483019190602083019252565b03915afa8015610292576060916000916139cf575b5001518051604051623b84e160ea1b808252600686810160048401526024830184905294939290919060008260448173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4918215610292576000926139b2575b506040519283526003870160048401526024830181905260008360448173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49283156102925760009361398d575b506000855b613849575b50505050505050613607565b8160ff821610156139885761386a61386460ff8316876107d2565b51612fc5565b9073__$2e6ee47b30d794e0597b4af30f16ddb84c$__3b1561010b578891604051600081806138b38a6004631c5554ff60e31b998a855201600388016004890160048601613135565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af4801561029257613975575b5073__$2e6ee47b30d794e0597b4af30f16ddb84c$__3b1561010b5760008a600794613919888d60405198899586958652019087016007880160048601613135565b038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af49081156102925761395c9361395792613962575b506125f661386460ff85168a6107d2565b612e5c565b85613838565b8061280c61396f92610340565b38613946565b8061280c61398292610340565b386138d7565b61383d565b6139ab9193503d806000833e6139a38183610353565b810190613110565b9138613833565b6139c89192503d806000833e6139a38183610353565b90386137f0565b6139ec91503d806000833e6139e48183610353565b810190613052565b3861379b565b6102b391503d8089833e612fb68183610353565b909150613a128161097d565b15613a1e575b50613607565b613a288154612fc5565b73__$2e6ee47b30d794e0597b4af30f16ddb84c$__91823b1561010b57604051633cd8b4b560e21b8082526004848101818401526003808601602485015290870160448401528601606483015290600081608481885af4801561029257613afc575b50833b1561010b57604051908152600783810160048301526006808501602484015290860160448301528501606482015292600090849060849082905af490811561029257613ae3936125f692613ae9575b5054612fc5565b38613a18565b8061280c613af692610340565b38613adc565b8061280c613b0992610340565b38613a8a565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff8160a01c16158015613ba7575b15613b6257333003613b51575050565b60ff60a01b1916600160a01b179055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b50333014613b41565b333003613bb957565b7ff42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d4b805460ff60a01b19169055565b909291604090815194613bf9866102cf565b601d86526020937f63616c6c20726576657274656420776974686f7574206d6573736167650000008588015260005b8151811015613ca957613c9c906136d8896000806001600160a01b03613c4e86896107d2565b5116613c5a868a6107d2565b5190613c66878c6107d2565b51918d83519301915af13d15613ca1573d90613c8182610413565b91613c8e8b519384610353565b82523d60008c84013e613cb3565b613c28565b606090613cb3565b5050505050509050565b90919015613cbf575090565b815115613ccf5750805190602001fd5b60405162461bcd60e51b815260206004820152908190613cf3906024830190611c6d565b0390fd5b613d25613d336104b29260405192839163104c13eb60e21b6020840152602060248401526044830190611c6d565b03601f198101835282610353565b600080916020815191016a636f6e736f6c652e6c6f675afa50565b613d33613d7d916104b293604051938492632d839cb360e21b6020850152604060248501526064840190611c6d565b90604483015203601f19810183528261035356fef42c870234ce1595c214fdf331f4ac5d8ba4c010e9f64d466736c93812624d46a26469706673582212207b223cadbd57a294a4044a103679b7d2ab7fc53598ff95fa2f48cc6068138dfa64736f6c63430008120033"; - -type AxelarExecutionContractConstructorParams = - | [ - linkLibraryAddresses: AxelarExecutionContractLibraryAddresses, - signer?: Signer - ] - | ConstructorParameters; - -const isSuperArgs = ( - xs: AxelarExecutionContractConstructorParams -): xs is ConstructorParameters => { - return ( - typeof xs[0] === "string" || - (Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) || - "_isInterface" in xs[0] - ); -}; - -export class AxelarExecutionContract__factory extends ContractFactory { - constructor(...args: AxelarExecutionContractConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - const [linkLibraryAddresses, signer] = args; - super( - _abi, - AxelarExecutionContract__factory.linkBytecode(linkLibraryAddresses), - signer - ); - } - } - - static linkBytecode( - linkLibraryAddresses: AxelarExecutionContractLibraryAddresses - ): string { - let linkedBytecode = _bytecode; - - linkedBytecode = linkedBytecode.replace( - new RegExp("__\\$2e6ee47b30d794e0597b4af30f16ddb84c\\$__", "g"), - linkLibraryAddresses["contracts/core/struct.sol:AngelCoreStruct"] - .replace(/^0x/, "") - .toLowerCase() - ); - - return linkedBytecode; - } - - override deploy( - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - override getDeployTransaction( - overrides?: Overrides & { from?: PromiseOrValue } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - override attach(address: string): AxelarExecutionContract { - return super.attach(address) as AxelarExecutionContract; - } - override connect(signer: Signer): AxelarExecutionContract__factory { - return super.connect(signer) as AxelarExecutionContract__factory; - } - - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): AxelarExecutionContractInterface { - return new utils.Interface(_abi) as AxelarExecutionContractInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): AxelarExecutionContract { - return new Contract( - address, - _abi, - signerOrProvider - ) as AxelarExecutionContract; - } -} - -export interface AxelarExecutionContractLibraryAddresses { - ["contracts/core/struct.sol:AngelCoreStruct"]: string; -} diff --git a/typechain-types/factories/contracts/core/accounts/facets/AxelarCallExecutor.sol/index.ts b/typechain-types/factories/contracts/core/accounts/facets/AxelarCallExecutor.sol/index.ts deleted file mode 100644 index f1dea724b..000000000 --- a/typechain-types/factories/contracts/core/accounts/facets/AxelarCallExecutor.sol/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export { AxelarExecutionContract__factory } from "./AxelarExecutionContract__factory"; diff --git a/typechain-types/factories/contracts/core/accounts/facets/index.ts b/typechain-types/factories/contracts/core/accounts/facets/index.ts index 552b91bed..dbc9da575 100644 --- a/typechain-types/factories/contracts/core/accounts/facets/index.ts +++ b/typechain-types/factories/contracts/core/accounts/facets/index.ts @@ -1,7 +1,6 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -export * as axelarCallExecutorSol from "./AxelarCallExecutor.sol"; export { AccountDeployContract__factory } from "./AccountDeployContract__factory"; export { AccountDepositWithdrawEndowments__factory } from "./AccountDepositWithdrawEndowments__factory"; export { AccountDonationMatch__factory } from "./AccountDonationMatch__factory"; @@ -10,8 +9,6 @@ export { AccountsCreateEndowment__factory } from "./AccountsCreateEndowment__fac export { AccountsDAOEndowments__factory } from "./AccountsDAOEndowments__factory"; export { AccountsEvents__factory } from "./AccountsEvents__factory"; export { AccountsQueryEndowments__factory } from "./AccountsQueryEndowments__factory"; -export { AccountsStrategiesCopyEndowments__factory } from "./AccountsStrategiesCopyEndowments__factory"; -export { AccountsStrategiesUpdateEndowments__factory } from "./AccountsStrategiesUpdateEndowments__factory"; export { AccountsSwapEndowments__factory } from "./AccountsSwapEndowments__factory"; export { AccountsUpdate__factory } from "./AccountsUpdate__factory"; export { AccountsUpdateEndowmentSettingsController__factory } from "./AccountsUpdateEndowmentSettingsController__factory"; diff --git a/typechain-types/factories/contracts/core/accounts/index.ts b/typechain-types/factories/contracts/core/accounts/index.ts index 6077e05bc..604e56a20 100644 --- a/typechain-types/factories/contracts/core/accounts/index.ts +++ b/typechain-types/factories/contracts/core/accounts/index.ts @@ -3,5 +3,5 @@ /* eslint-disable */ export * as diamond from "./diamond"; export * as facets from "./facets"; -export * as interface from "./interface"; +export * as interfaces from "./interfaces"; export { IAccounts__factory } from "./IAccounts__factory"; diff --git a/typechain-types/factories/contracts/core/accounts/interface/IVault__factory.ts b/typechain-types/factories/contracts/core/accounts/interface/IVault__factory.ts deleted file mode 100644 index c9c55d80b..000000000 --- a/typechain-types/factories/contracts/core/accounts/interface/IVault__factory.ts +++ /dev/null @@ -1,195 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Contract, Signer, utils } from "ethers"; -import type { Provider } from "@ethersproject/providers"; -import type { - IVault, - IVaultInterface, -} from "../../../../../contracts/core/accounts/interface/IVault"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint32", - name: "accountId", - type: "uint32", - }, - { - indexed: false, - internalType: "enum IVault.VaultType", - name: "vaultType", - type: "uint8", - }, - { - indexed: false, - internalType: "address", - name: "tokenDeposited", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "amtDeposited", - type: "uint256", - }, - ], - name: "DepositMade", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint32[]", - name: "accountIds", - type: "uint32[]", - }, - ], - name: "Harvest", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint32", - name: "accountId", - type: "uint32", - }, - { - indexed: false, - internalType: "enum IVault.VaultType", - name: "vaultType", - type: "uint8", - }, - { - indexed: false, - internalType: "address", - name: "tokenRedeemed", - type: "address", - }, - { - indexed: false, - internalType: "uint256", - name: "amtRedeemed", - type: "uint256", - }, - ], - name: "Redemption", - type: "event", - }, - { - inputs: [ - { - internalType: "uint32", - name: "accountId", - type: "uint32", - }, - { - internalType: "address", - name: "token", - type: "address", - }, - { - internalType: "uint256", - name: "amt", - type: "uint256", - }, - ], - name: "deposit", - outputs: [], - stateMutability: "payable", - type: "function", - }, - { - inputs: [], - name: "getVaultType", - outputs: [ - { - internalType: "enum IVault.VaultType", - name: "", - type: "uint8", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint32[]", - name: "accountIds", - type: "uint32[]", - }, - ], - name: "harvest", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint32", - name: "accountId", - type: "uint32", - }, - { - internalType: "address", - name: "token", - type: "address", - }, - { - internalType: "uint256", - name: "amt", - type: "uint256", - }, - ], - name: "redeem", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "payable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint32", - name: "accountId", - type: "uint32", - }, - ], - name: "redeemAll", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "payable", - type: "function", - }, -] as const; - -export class IVault__factory { - static readonly abi = _abi; - static createInterface(): IVaultInterface { - return new utils.Interface(_abi) as IVaultInterface; - } - static connect(address: string, signerOrProvider: Signer | Provider): IVault { - return new Contract(address, _abi, signerOrProvider) as IVault; - } -} diff --git a/typechain-types/factories/contracts/core/accounts/interface/IAccountDeployContract__factory.ts b/typechain-types/factories/contracts/core/accounts/interfaces/IAccountDeployContract__factory.ts similarity index 84% rename from typechain-types/factories/contracts/core/accounts/interface/IAccountDeployContract__factory.ts rename to typechain-types/factories/contracts/core/accounts/interfaces/IAccountDeployContract__factory.ts index 626a0e6b2..9999fc3aa 100644 --- a/typechain-types/factories/contracts/core/accounts/interface/IAccountDeployContract__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/interfaces/IAccountDeployContract__factory.ts @@ -7,7 +7,7 @@ import type { Provider } from "@ethersproject/providers"; import type { IAccountDeployContract, IAccountDeployContractInterface, -} from "../../../../../contracts/core/accounts/interface/IAccountDeployContract"; +} from "../../../../../contracts/core/accounts/interfaces/IAccountDeployContract"; const _abi = [ { @@ -15,9 +15,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -70,29 +70,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -118,43 +118,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -169,7 +169,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -184,7 +184,7 @@ const _abi = [ }, ], internalType: "struct subDaoMessage.InstantiateMsg", - name: "curCreatedaomessage", + name: "createdaomessage", type: "tuple", }, ], diff --git a/typechain-types/factories/contracts/core/accounts/interfaces/IAccountDonationMatch__factory.ts b/typechain-types/factories/contracts/core/accounts/interfaces/IAccountDonationMatch__factory.ts new file mode 100644 index 000000000..934233096 --- /dev/null +++ b/typechain-types/factories/contracts/core/accounts/interfaces/IAccountDonationMatch__factory.ts @@ -0,0 +1,53 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import type { Provider } from "@ethersproject/providers"; +import type { + IAccountDonationMatch, + IAccountDonationMatchInterface, +} from "../../../../../contracts/core/accounts/interfaces/IAccountDonationMatch"; + +const _abi = [ + { + inputs: [ + { + internalType: "uint32", + name: "id", + type: "uint32", + }, + { + internalType: "address", + name: "token", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + ], + name: "depositDonationMatchErC20", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, +] as const; + +export class IAccountDonationMatch__factory { + static readonly abi = _abi; + static createInterface(): IAccountDonationMatchInterface { + return new utils.Interface(_abi) as IAccountDonationMatchInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): IAccountDonationMatch { + return new Contract( + address, + _abi, + signerOrProvider + ) as IAccountDonationMatch; + } +} diff --git a/typechain-types/factories/contracts/core/accounts/interface/IAccountsCreateEndowment__factory.ts b/typechain-types/factories/contracts/core/accounts/interfaces/IAccountsCreateEndowment__factory.ts similarity index 71% rename from typechain-types/factories/contracts/core/accounts/interface/IAccountsCreateEndowment__factory.ts rename to typechain-types/factories/contracts/core/accounts/interfaces/IAccountsCreateEndowment__factory.ts index 0e290d9e3..2d4002343 100644 --- a/typechain-types/factories/contracts/core/accounts/interface/IAccountsCreateEndowment__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/interfaces/IAccountsCreateEndowment__factory.ts @@ -7,7 +7,7 @@ import type { Provider } from "@ethersproject/providers"; import type { IAccountsCreateEndowment, IAccountsCreateEndowmentInterface, -} from "../../../../../contracts/core/accounts/interface/IAccountsCreateEndowment"; +} from "../../../../../contracts/core/accounts/interfaces/IAccountsCreateEndowment"; const _abi = [ { @@ -63,7 +63,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -78,7 +78,7 @@ const _abi = [ }, { internalType: "address[]", - name: "cw4_members", + name: "members", type: "address[]", }, { @@ -117,17 +117,17 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.Duration", - name: "cw3MaxVotingPeriod", + name: "maxVotingPeriod", type: "tuple", }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { @@ -154,17 +154,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -176,14 +171,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -198,14 +188,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -220,17 +205,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -281,29 +261,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -329,44 +309,43 @@ const _abi = [ type: "uint128", }, ], - internalType: - "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -400,24 +379,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -432,31 +401,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -471,31 +430,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -510,31 +459,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -549,31 +488,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -588,31 +517,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -627,31 +546,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -666,31 +575,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -705,31 +604,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -751,24 +640,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -790,63 +669,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -861,31 +691,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -907,24 +727,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -946,24 +756,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -985,24 +785,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1024,24 +814,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1063,24 +843,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1104,13 +874,13 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1147,16 +917,16 @@ const _abi = [ }, ], internalType: "struct AccountMessages.CreateEndowmentRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], name: "createEndowment", outputs: [ { - internalType: "uint256", + internalType: "uint32", name: "", - type: "uint256", + type: "uint32", }, ], stateMutability: "nonpayable", diff --git a/typechain-types/factories/contracts/core/accounts/interface/IAccountsDepositWithdrawEndowments__factory.ts b/typechain-types/factories/contracts/core/accounts/interfaces/IAccountsDepositWithdrawEndowments__factory.ts similarity index 66% rename from typechain-types/factories/contracts/core/accounts/interface/IAccountsDepositWithdrawEndowments__factory.ts rename to typechain-types/factories/contracts/core/accounts/interfaces/IAccountsDepositWithdrawEndowments__factory.ts index ee57ef00d..8fff153d0 100644 --- a/typechain-types/factories/contracts/core/accounts/interface/IAccountsDepositWithdrawEndowments__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/interfaces/IAccountsDepositWithdrawEndowments__factory.ts @@ -7,40 +7,17 @@ import type { Provider } from "@ethersproject/providers"; import type { IAccountsDepositWithdrawEndowments, IAccountsDepositWithdrawEndowmentsInterface, -} from "../../../../../contracts/core/accounts/interface/IAccountsDepositWithdrawEndowments"; +} from "../../../../../contracts/core/accounts/interfaces/IAccountsDepositWithdrawEndowments"; const _abi = [ - { - inputs: [ - { - internalType: "uint256", - name: "curId", - type: "uint256", - }, - { - internalType: "address", - name: "curToken", - type: "address", - }, - { - internalType: "uint256", - name: "curAmount", - type: "uint256", - }, - ], - name: "depositDonationMatchErC20", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, { inputs: [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "uint256", @@ -54,17 +31,17 @@ const _abi = [ }, ], internalType: "struct AccountMessages.DepositRequest", - name: "curDetails", + name: "details", type: "tuple", }, { internalType: "address", - name: "curTokenaddress", + name: "tokenAddress", type: "address", }, { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -78,9 +55,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "uint256", @@ -94,11 +71,11 @@ const _abi = [ }, ], internalType: "struct AccountMessages.DepositRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], - name: "depositEth", + name: "depositMatic", outputs: [], stateMutability: "payable", type: "function", @@ -106,28 +83,9 @@ const _abi = [ { inputs: [ { - internalType: "address", - name: "vaultAddr", - type: "address", - }, - ], - name: "harvest", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "curId", - type: "uint256", + internalType: "uint32", + name: "id", + type: "uint32", }, { internalType: "enum AngelCoreStruct.AccountType", @@ -136,18 +94,23 @@ const _abi = [ }, { internalType: "address", - name: "curBeneficiary", + name: "beneficiaryAddress", type: "address", }, { - internalType: "address[]", - name: "curTokenaddress", - type: "address[]", + internalType: "uint32", + name: "beneficiaryEndowId", + type: "uint32", }, { - internalType: "uint256[]", - name: "curAmount", - type: "uint256[]", + internalType: "address", + name: "tokenAddress", + type: "address", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", }, ], name: "withdraw", diff --git a/typechain-types/factories/contracts/core/accounts/interface/IAccountsQuery__factory.ts b/typechain-types/factories/contracts/core/accounts/interfaces/IAccountsQuery__factory.ts similarity index 72% rename from typechain-types/factories/contracts/core/accounts/interface/IAccountsQuery__factory.ts rename to typechain-types/factories/contracts/core/accounts/interfaces/IAccountsQuery__factory.ts index 25af17851..f85c433b1 100644 --- a/typechain-types/factories/contracts/core/accounts/interface/IAccountsQuery__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/interfaces/IAccountsQuery__factory.ts @@ -7,7 +7,7 @@ import type { Provider } from "@ethersproject/providers"; import type { IAccountsQuery, IAccountsQueryInterface, -} from "../../../../../contracts/core/accounts/interface/IAccountsQuery"; +} from "../../../../../contracts/core/accounts/interfaces/IAccountsQuery"; const _abi = [ { @@ -31,6 +31,48 @@ const _abi = [ name: "registrarContract", type: "address", }, + { + internalType: "uint256", + name: "nextAccountId", + type: "uint256", + }, + { + internalType: "uint256", + name: "maxGeneralCategoryId", + type: "uint256", + }, + { + internalType: "address", + name: "subDao", + type: "address", + }, + { + internalType: "address", + name: "gateway", + type: "address", + }, + { + internalType: "address", + name: "gasReceiver", + type: "address", + }, + { + components: [ + { + internalType: "address", + name: "payoutAddress", + type: "address", + }, + { + internalType: "uint256", + name: "percentage", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.EndowmentFee", + name: "earlyLockedWithdrawFee", + type: "tuple", + }, ], internalType: "struct AccountMessages.ConfigResponse", name: "config", @@ -44,7 +86,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, ], @@ -86,7 +128,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -99,21 +141,6 @@ const _abi = [ name: "image", type: "string", }, - { - internalType: "enum AngelCoreStruct.EndowmentStatus", - name: "status", - type: "uint8", - }, - { - internalType: "bool", - name: "depositApproved", - type: "bool", - }, - { - internalType: "bool", - name: "withdrawApproved", - type: "bool", - }, { internalType: "uint256", name: "maturityTime", @@ -177,18 +204,18 @@ const _abi = [ components: [ { internalType: "bool", - name: "rebalanceLiquidInvestedProfits", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", @@ -196,12 +223,17 @@ const _abi = [ type: "bool", }, { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", + internalType: "struct LocalRegistrarLib.RebalanceParams", name: "rebalance", type: "tuple", }, @@ -217,13 +249,13 @@ const _abi = [ }, { internalType: "uint256", - name: "copycatStrategy", + name: "proposalLink", type: "uint256", }, { - internalType: "uint256", - name: "proposalLink", - type: "uint256", + internalType: "address", + name: "multisig", + type: "address", }, { internalType: "address", @@ -247,17 +279,17 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -269,17 +301,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -291,14 +318,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -313,14 +335,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -335,17 +352,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -354,24 +366,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -386,31 +388,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -425,31 +417,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -464,31 +446,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -503,31 +475,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -542,31 +504,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -581,31 +533,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -620,31 +562,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -659,31 +591,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -705,24 +627,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -744,24 +656,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -776,70 +678,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -861,24 +714,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -900,24 +743,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -939,24 +772,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -978,24 +801,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1017,24 +830,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1058,9 +861,9 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "bool", @@ -1107,7 +910,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, ], @@ -1141,9 +944,14 @@ const _abi = [ components: [ { components: [ + { + internalType: "uint32", + name: "endowId", + type: "uint32", + }, { internalType: "uint256", - name: "id", + name: "fundId", type: "uint256", }, { @@ -1179,17 +987,17 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curId", + name: "id", type: "uint256", }, { internalType: "enum AngelCoreStruct.AccountType", - name: "curAccountType", + name: "accountType", type: "uint8", }, { internalType: "address", - name: "curTokenaddress", + name: "tokenaddress", type: "address", }, ], diff --git a/typechain-types/factories/contracts/core/accounts/interface/IAxelarGateway__factory.ts b/typechain-types/factories/contracts/core/accounts/interfaces/IAxelarGateway__factory.ts similarity index 99% rename from typechain-types/factories/contracts/core/accounts/interface/IAxelarGateway__factory.ts rename to typechain-types/factories/contracts/core/accounts/interfaces/IAxelarGateway__factory.ts index 3cc0ba4d6..6cc6670b8 100644 --- a/typechain-types/factories/contracts/core/accounts/interface/IAxelarGateway__factory.ts +++ b/typechain-types/factories/contracts/core/accounts/interfaces/IAxelarGateway__factory.ts @@ -7,7 +7,7 @@ import type { Provider } from "@ethersproject/providers"; import type { IAxelarGateway, IAxelarGatewayInterface, -} from "../../../../../contracts/core/accounts/interface/IAxelarGateway"; +} from "../../../../../contracts/core/accounts/interfaces/IAxelarGateway"; const _abi = [ { diff --git a/typechain-types/factories/contracts/core/accounts/interface/index.ts b/typechain-types/factories/contracts/core/accounts/interfaces/index.ts similarity index 86% rename from typechain-types/factories/contracts/core/accounts/interface/index.ts rename to typechain-types/factories/contracts/core/accounts/interfaces/index.ts index efb259ae6..529fc3c70 100644 --- a/typechain-types/factories/contracts/core/accounts/interface/index.ts +++ b/typechain-types/factories/contracts/core/accounts/interfaces/index.ts @@ -2,8 +2,8 @@ /* tslint:disable */ /* eslint-disable */ export { IAccountDeployContract__factory } from "./IAccountDeployContract__factory"; +export { IAccountDonationMatch__factory } from "./IAccountDonationMatch__factory"; export { IAccountsCreateEndowment__factory } from "./IAccountsCreateEndowment__factory"; export { IAccountsDepositWithdrawEndowments__factory } from "./IAccountsDepositWithdrawEndowments__factory"; export { IAccountsQuery__factory } from "./IAccountsQuery__factory"; export { IAxelarGateway__factory } from "./IAxelarGateway__factory"; -export { IVault__factory } from "./IVault__factory"; diff --git a/typechain-types/factories/contracts/core/index-fund/Iindex-fund.sol/IIndexFund__factory.ts b/typechain-types/factories/contracts/core/index-fund/Iindex-fund.sol/IIndexFund__factory.ts index ad557c21a..2683346d5 100644 --- a/typechain-types/factories/contracts/core/index-fund/Iindex-fund.sol/IIndexFund__factory.ts +++ b/typechain-types/factories/contracts/core/index-fund/Iindex-fund.sol/IIndexFund__factory.ts @@ -38,14 +38,9 @@ const _abi = [ type: "string", }, { - internalType: "uint256[]", + internalType: "uint32[]", name: "members", - type: "uint256[]", - }, - { - internalType: "bool", - name: "rotatingFund", - type: "bool", + type: "uint32[]", }, { internalType: "uint256", @@ -99,14 +94,9 @@ const _abi = [ type: "string", }, { - internalType: "uint256[]", + internalType: "uint32[]", name: "members", - type: "uint256[]", - }, - { - internalType: "bool", - name: "rotatingFund", - type: "bool", + type: "uint32[]", }, { internalType: "uint256", diff --git a/typechain-types/factories/contracts/core/index-fund/IndexFund__factory.ts b/typechain-types/factories/contracts/core/index-fund/IndexFund__factory.ts index ea9bfd95f..db5e758fc 100644 --- a/typechain-types/factories/contracts/core/index-fund/IndexFund__factory.ts +++ b/typechain-types/factories/contracts/core/index-fund/IndexFund__factory.ts @@ -10,32 +10,6 @@ import type { } from "../../../../contracts/core/index-fund/IndexFund"; const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "member", - type: "address", - }, - ], - name: "AllianceMemberAdded", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "address", - name: "member", - type: "address", - }, - ], - name: "AllianceMemberRemoved", - type: "event", - }, { anonymous: false, inputs: [ @@ -66,11 +40,6 @@ const _abi = [ name: "fundingGoal", type: "uint256", }, - { - internalType: "address[]", - name: "alliance_members", - type: "address[]", - }, ], indexed: false, internalType: "struct IndexFundStorage.Config", @@ -87,9 +56,9 @@ const _abi = [ { components: [ { - internalType: "uint256[]", + internalType: "uint32[]", name: "member_ids", - type: "uint256[]", + type: "uint32[]", }, { internalType: "uint256[]", @@ -148,14 +117,9 @@ const _abi = [ type: "string", }, { - internalType: "uint256[]", + internalType: "uint32[]", name: "members", - type: "uint256[]", - }, - { - internalType: "bool", - name: "rotatingFund", - type: "bool", + type: "uint32[]", }, { internalType: "uint256", @@ -219,9 +183,9 @@ const _abi = [ }, { indexed: false, - internalType: "uint256", + internalType: "uint32", name: "memberId", - type: "uint256", + type: "uint32", }, ], name: "MemberAdded", @@ -238,9 +202,9 @@ const _abi = [ }, { indexed: false, - internalType: "uint256", + internalType: "uint32", name: "memberId", - type: "uint256", + type: "uint32", }, ], name: "MemberRemoved", @@ -302,7 +266,7 @@ const _abi = [ }, { internalType: "uint256", - name: "round_donations", + name: "roundDonations", type: "uint256", }, { @@ -338,9 +302,9 @@ const _abi = [ type: "string", }, { - internalType: "uint256[]", + internalType: "uint32[]", name: "members", - type: "uint256[]", + type: "uint32[]", }, { internalType: "bool", @@ -395,7 +359,7 @@ const _abi = [ }, ], internalType: "struct IndexFundMessage.DepositMsg", - name: "curDetails", + name: "details", type: "tuple", }, { @@ -463,7 +427,7 @@ const _abi = [ }, ], internalType: "struct IndexFundMessage.InstantiateMessage", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -494,14 +458,9 @@ const _abi = [ type: "string", }, { - internalType: "uint256[]", + internalType: "uint32[]", name: "members", - type: "uint256[]", - }, - { - internalType: "bool", - name: "rotatingFund", - type: "bool", + type: "uint32[]", }, { internalType: "uint256", @@ -527,30 +486,6 @@ const _abi = [ stateMutability: "view", type: "function", }, - { - inputs: [ - { - internalType: "uint256", - name: "startAfter", - type: "uint256", - }, - { - internalType: "uint256", - name: "limit", - type: "uint256", - }, - ], - name: "queryAllianceMembers", - outputs: [ - { - internalType: "address[]", - name: "", - type: "address[]", - }, - ], - stateMutability: "view", - type: "function", - }, { inputs: [], name: "queryConfig", @@ -582,11 +517,6 @@ const _abi = [ name: "fundingGoal", type: "uint256", }, - { - internalType: "address[]", - name: "alliance_members", - type: "address[]", - }, ], internalType: "struct IndexFundStorage.Config", name: "", @@ -624,14 +554,9 @@ const _abi = [ type: "string", }, { - internalType: "uint256[]", + internalType: "uint32[]", name: "members", - type: "uint256[]", - }, - { - internalType: "bool", - name: "rotatingFund", - type: "bool", + type: "uint32[]", }, { internalType: "uint256", @@ -660,75 +585,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", - name: "startAfter", - type: "uint256", - }, - { - internalType: "uint256", - name: "limit", - type: "uint256", - }, - ], - name: "queryFundsList", - outputs: [ - { - components: [ - { - internalType: "uint256", - name: "id", - type: "uint256", - }, - { - internalType: "string", - name: "name", - type: "string", - }, - { - internalType: "string", - name: "description", - type: "string", - }, - { - internalType: "uint256[]", - name: "members", - type: "uint256[]", - }, - { - internalType: "bool", - name: "rotatingFund", - type: "bool", - }, - { - internalType: "uint256", - name: "splitToLiquid", - type: "uint256", - }, - { - internalType: "uint256", - name: "expiryTime", - type: "uint256", - }, - { - internalType: "uint256", - name: "expiryHeight", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.IndexFund[]", - name: "", - type: "tuple[]", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, ], name: "queryInvolvedFunds", @@ -751,14 +610,9 @@ const _abi = [ type: "string", }, { - internalType: "uint256[]", + internalType: "uint32[]", name: "members", - type: "uint256[]", - }, - { - internalType: "bool", - name: "rotatingFund", - type: "bool", + type: "uint32[]", }, { internalType: "uint256", @@ -802,7 +656,7 @@ const _abi = [ }, { internalType: "uint256", - name: "round_donations", + name: "roundDonations", type: "uint256", }, { @@ -841,9 +695,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", + internalType: "uint32", name: "member", - type: "uint256", + type: "uint32", }, ], name: "removeMember", @@ -857,30 +711,6 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, - { - inputs: [ - { - internalType: "address", - name: "addr", - type: "address", - }, - { - internalType: "string", - name: "action", - type: "string", - }, - ], - name: "updateAllianceMemberList", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, { inputs: [ { @@ -902,7 +732,7 @@ const _abi = [ }, ], internalType: "struct IndexFundMessage.UpdateConfigMessage", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -925,14 +755,9 @@ const _abi = [ type: "uint256", }, { - internalType: "uint256[]", - name: "add", - type: "uint256[]", - }, - { - internalType: "uint256[]", - name: "remove", - type: "uint256[]", + internalType: "uint32[]", + name: "members", + type: "uint32[]", }, ], name: "updateFundMembers", @@ -987,7 +812,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001b57600160135561448390816100218239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80631d0d6c1814612dbd57806335fc44d314612d8857806338f866f514612c4c578063592b700a14612bad578063608ce43314612ad157806377662c1f146128275780637863891e14612455578063873e9e19146123d7578063880cdc311461234857806393a9d3cd14611ff757806396590db514611c02578063a1a74aae14611a3c578063b4d09085146119f3578063ded769c01461193f578063e68f909d1461185c578063eac4f623146106985763f5f1fb0e146100d757600080fd5b346106935760e0366003190112610693576004356001600160401b0381116106935761010790369060040161313f565b6024356001600160401b0381116106935761012690369060040161313f565b6044356001600160401b038111610693576101459036906004016130c6565b606435801515809103610693576084359061015e613383565b6000546001600160a01b0316330361065b576064821161062657600a54926040519461018986613057565b8486526020860196875260408601526060850152608084015260a083015260a43560c083015260c43560e0830152600052600b60205260406000209181518355519182516001600160401b038111610454576101e860018301546134f4565b601f81116105f1575b506020601f82116001146105835781929394600092610578575b50508160011b916000199060031b1c19161760018201555b60408201519182516001600160401b0381116104545761024660028401546134f4565b601f8111610538575b506020601f82116001146104ca57819293946000926104bf575b50508160011b916000199060031b1c19161760028301555b60608101518051906001600160401b03821161045457600160401b821161045457602090600385015483600387015580841061049f575b500160038401600052602060002060005b83811061048b5785600760e087600484016080820151151560ff8019835416911617905560a0810151600585015560c081015160068501550151910155600a5480600052600b6020527f657c88e78abc52870aa89f483e48e7807332ed886d07de86b08739024721f20460406000206040518091848252604060208301528054604083015260076101009182606085015261039b61036e61014086016001840161352e565b610388603f1991828882030160808901526002850161352e565b908682030160a08701526003830161373b565b9260ff600483015416151560c0860152600582015460e086015260068201549085015201546101208301520390a1600c5490811561046a575b600160401b821015610454576103f382600161040c9401600c556133d9565b90919082549060031b91821b91600019901b1916179055565b6006546001810180911161043e57600655600a546001810180911161043e57600a556001601355602060405160018152f35b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b8060075560008051602061436e8339815191526020604051838152a16103d4565b6001906020845194019381840155016102c9565b6104b9906003870160005284846000209182019101613208565b386102b8565b015190503880610269565b6002840160005260206000209060005b601f19841681106105205750600193949583601f19811610610507575b505050811b016002830155610281565b015160001960f88460031b161c191690553880806104f7565b9091602060018192858a0151815501930191016104da565b61056890600285016000526020600020601f840160051c8101916020851061056e575b601f0160051c0190613208565b3861024f565b909150819061055b565b01519050388061020b565b6001830160005260206000209060005b601f19841681106105d95750600193949583601f198116106105c0575b505050811b016001820155610223565b015160001960f88460031b161c191690553880806105b0565b9091602060018192858a015181550193019101610593565b61062090600184016000526020600020601f840160051c8101916020851061056e57601f0160051c0190613208565b386101f1565b60405162461bcd60e51b815260206004820152600d60248201526c1a5b9d985b1a59081cdc1b1a5d609a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b0390fd5b600080fd5b3461069357600319608036820112610693576106b2612fd5565b60403660231901126106935760405191604083018381106001600160401b0382111761045457604052602435835260443560208401526001600160401b036064351161069357608090606435360301126106935760405161071281613006565b60643560040135600381101561069357815260643560248101356020830152604401356001600160a01b038116900361069357606480356044810135604084015201356001600160401b038111610693576107759060043691606435010161313f565b6060820152610782613383565b805160038110156117ef576118225760015460405163e68f909d60e01b81529290600090849060049082906001600160a01b03165afa92831561110657600093611805575b50815160038110156117ef576106935760009060005b6102a0850151518051821015610834576001600160a01b0390610801908390613ce8565b5160408601516001600160a01b031691161461082b575b6108246102a091613834565b90506107dd565b60019250610818565b5050919250156117b55760208201511561177a576000926020830151926000600554905b818110611739575b50506002546116db575b60015460405163e68f909d60e01b8152939492939290600090849060049082906001600160a01b03165afa928315611106576000936116b6575b508351156111d657508251600052600b602052600360406000200154156111a45761091d610940958451600052600b6020526108f86108f2604060002042906108ed4391613c4f565b613e7a565b15613d3b565b6101c08401518551600052600b60205260056040600020015490602087015192613d96565b92516000526003604060002001916109476020830151936040519788809261373b565b038761308e565b85518381611191575b505060648481031161043e5760005b8651811015610ad2576000806000600d54905b818110610a93575b505090610a2e9291600014610a3357806109b4610999610a2993613448565b8a6064039082549060031b91821b91600019901b1916179055565b6109c1886103f38361346d565b610a0560646109d28a82038a6131f5565b046109ee6109df84613492565b91909283548360031b1c613332565b825460001960039390931b92831b1916911b179055565b6109ee6109df610a236064610a1c8c82038c6131f5565b048a613827565b926134b7565b613834565b61095f565b50610a47610a41828a613ce8565b51613778565b610a538660640361379b565b610a5c866137be565b610a736064610a6d888203886131f5565b046137e1565b610a29610a8e6064610a87898203896131f5565b0487613827565b613804565b610a9c81613423565b90549060031b1c610aad868d613ce8565b5114610ac157610abc90613834565b610972565b925060019150610a2e90508a61097a565b509392509350507fb385697ec488719ec6f59d6beb5e30565d5f94b61d605486c882dadfacac77596040516020815260a0602082015280610b61610b1860c083016135c4565b610b52610b43610b34601f19938487820301604088015261360f565b8386820301606087015261365a565b828582030160808601526136a5565b908382030160a08401526136f0565b0390a15b60408381015160208581015192516323b872dd60e01b81526001600160a01b0394851660048201523060248201526044810193909352919283916064918391600091165af190811561110657600091611157575b5015611112576040828101516060929092018051602080860151935163095ea7b360e01b81526001600160a01b0392831660048201526024810194909452919383916044918391600091165af1908115611106576000916110cc575b50156110875751604090910151600d546001600160a01b0392831692909116610c3d826131c3565b92610c47836130af565b92610c55604051948561308e565b808452601f199283610c66836130af565b01366020870137610c76826130af565b93610c84604051958661308e565b828552610c90836130af565b0160005b818110611076575050600060105493601154600e5491600f54935b868110610f29578a8a8a604051610cc581613073565b601d81527f63616c6c20726576657274656420776974686f7574206d657373616765000000602082015260005b8451811015610d7c57610d6f90610d69836000806001600160a01b03610d18868c613ce8565b5116610d24868b613ce8565b5190610d30878b613ce8565b5191602083519301915af13d15610d74573d90610d4c82613124565b91610d5a604051938461308e565b82523d6000602084013e61430d565b50613834565b610cf2565b60609061430d565b600d546000600d5580610ef7575b50600e546000600e5580610ec5575b50600f546000600f5580610e93575b50601054600060105580610e61575b50601154600060115580610e2f575b7f654adb5cbaa52baea9293330b42459de9dc9b3046fced4e5dc39dcd396571f6b60405180610e1c819060a082019160065481526007546020820152600854604082015260095460608201526080600a54910152565b0390a16001601355602060405160018152f35b60116000526000805160206143ce833981519152908101905b818110610e555750610dc6565b60008155600101610e48565b601060005260008051602061440e833981519152908101905b818110610e875750610db7565b60008155600101610e7a565b600f60005260008051602061442e833981519152908101905b818110610eb95750610da8565b60008155600101610eac565b600e6000526000805160206143ae833981519152908101905b818110610eeb5750610d99565b60008155600101610ede565b600d6000526000805160206143ee833981519152908101905b818110610f1d5750610d8a565b60008155600101610f10565b81610f34828d613ce8565b526000610f41828c613ce8565b52806000805160206143ee83398151915201549088811015611060578060008051602061440e833981519152015484821015611060576011600052816000805160206143ce83398151915201549060405193610f9c85612feb565b8452602084015260408301528481101561106057806000805160206143ae83398151915201548682101561106057600f60005260008051602061442e833981519152820154610fea91613332565b604080519363665a62f360e01b602086015280516024860152602081015160448601520151606484015287608484015260a4908184015282528160e08101106001600160401b0360e084011117610454578160e061105b9301604052611050828c613ce8565b52610d69818b613ce8565b610caf565b634e487b7160e01b600052603260045260246000fd5b806060602080938901015201610c94565b60405162461bcd60e51b815260206004820152601760248201527f4661696c656420746f20617070726f76652066756e64730000000000000000006044820152606490fd5b90506020813d6020116110fe575b816110e76020938361308e565b81010312610693576110f8906138a0565b83610c15565b3d91506110da565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152601860248201527f4661696c656420746f207472616e736665722066756e647300000000000000006044820152606490fd5b90506020813d602011611189575b816111726020938361308e565b8101031261069357611183906138a0565b83610bb9565b3d9150611165565b61119c929450613d76565b918680610950565b60405162461bcd60e51b815260206004820152600a602482015269115b5c1d1e48119d5b9960b21b6044820152606490fd5b60045491959294939290911561153557815b6111f457505050610b65565b60039560079586549586600052600b978860205261121a8a604060002001541515613cfc565b87600052886020526112376108f242436108ed6040600020613c4f565b6004549060088761124a82548095613827565b9384821061151e57505060008051602061436e8339815191529160006020925561127642438354613ed2565b809155604051908152a1975b6101c0830151976000526020526112c46112ac60406000209860058a015460208a01519188613d96565b976112bd604051809c81930161373b565b038a61308e565b879589518061150b575b5060648881031161043e5760005b8a5181101561142057908a95949392918860008b6000916000600d54905b8181106113e2575b505061138a95969798999a859160001461138f5750506109df610a23610a299460646113836109ee9561135161133789613448565b8386039082549060031b91821b91600019901b1916179055565b61135e816103f38a61346d565b61137b8361136e838203876131f5565b046109ee6109df8b613492565b8203836131f5565b0490613827565b6112dc565b9091506113a19350610a419250613ce8565b6113ad8a60640361379b565b6113b68a6137be565b6113c76064610a6d8c82038c6131f5565b610a29610a8e60646113db8d82038d6131f5565b048b613827565b8c6113fd886113f084613423565b90549060031b1c92613ce8565b51146114115761140c90613834565b6112fa565b9350600191508b905085611302565b50955095509591929096506040516020815260a0602082015261145961144860c083016135c4565b828103601f1901604084015261360f565b601f19828203016060830152600f906020825491828152019160005260008051602061442e833981519152906000905b8082106114f357505050816114ec9493926114e46114d37fb385697ec488719ec6f59d6beb5e30565d5f94b61d605486c882dadfacac775994601f198482030160808501526136a5565b828103601f190160a08401526136f0565b0390a1613827565b90816111e8565b90919260016020819286548152019401920190611489565b61151791975089613d76565b958a6112ce565b9091935061152c9250613332565b90558497611282565b60039591506115a5906007959495549384600052600b60205261156088604060002001541515613cfc565b84600052600b6020526115806108f2604060002042906108ed4391613c4f565b6101c086015194600052600b6020526040600020946020600587015492015192613d96565b926115bf602083015193610940604051809981930161373b565b855183816116a3575b505060648481031161043e5760005b8651811015611655576000806000600d54905b818110611616575b5050906116119291600014610a3357806109b4610999610a2993613448565b6115d7565b61161f81613423565b90549060031b1c611630868d613ce8565b51146116445761163f90613834565b6115ea565b92506001915061161190508a6115f2565b509392509350507fb385697ec488719ec6f59d6beb5e30565d5f94b61d605486c882dadfacac77596040516020815260a060208201528061169b610b1860c083016135c4565b0390a1610b65565b6116ae929450613d76565b9186806115c8565b6116d49193503d806000833e6116cc818361308e565b8101906138ad565b91866108a4565b600954431061086a5760008051602061436e833981519152602061170460075442904390613ed2565b80600755604051908152a160006008555b6009548043106117335760025461172b91613332565b600955611715565b5061086a565b611742816133fe565b905460039190911b1c6001600160a01b039081169086161461176c5761176790613834565b610858565b505093506001938580610860565b60405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908199d5b9908185b5bdd5b9d606a1b6044820152606490fd5b60405162461bcd60e51b81526020600482015260126024820152712737ba1030b1b1b2b83a32b2103a37b5b2b760711b6044820152606490fd5b634e487b7160e01b600052602160045260246000fd5b61181b9193503d806000833e6116cc818361308e565b91846107c7565b60405162461bcd60e51b8152602060048201526012602482015271496e76616c6964206173736574207479706560701b6044820152606490fd5b3461069357600036600319011261069357606060a060405161187d81613021565b6000815260006020820152600060408201526000838201526000608082015201526040516118aa81613021565b60018060a01b03908160005416815261193b8260015416602083019081526002546040840190815260035460608501908152600454916080860192835286604051946118f9866109408161324e565b60a0880195865260405198899860208a5251166020890152511660408701525160608601525160808501525160a08401525160c08084015260e0830190613186565b0390f35b346106935761194d36612e78565b80156119ea575b6015548082116119e2575b50611969816131c3565b916000600554905b83811061198f575b6040516020808252819061193b90820188613186565b8161199a8483613332565b10156119dd57806119b66119b1856119d894613332565b6133fe565b905460039190911b1c6001600160a01b03166119d28288613ce8565b52613834565b611971565b611979565b90508261195f565b50601654611954565b3461069357600036600319011261069357611a0c613deb565b50600754600052600b60205261193b611a286040600020613c4f565b604051918291602083526020830190612ed6565b346106935760208060031936011261069357600435611a59613383565b6001805460405163e68f909d60e01b81529192916001600160a01b03916000908290600490829086165afa801561110657606091600091611be7575b50018181511615611ba45781849392611aba9251163314908115611b96575b50613c48565b6000825b611ad0575b5050601355604051908152f35b600c54811015611b915780611ae7611b31926133d9565b9054600391821b1c600052600b90818852611b2185611b15611b1c846040600020016040519283809261373b565b038261308e565b614213565b919091611b37575b505050613834565b82611abe565b611b5a92611b44856133d9565b905490831b1c600052895260406000200161423f565b507ff75290a2e96cc6159e4aa725868d3ee344d7e302fddea73704110e6840e5a4ef604080518381528589820152a1868080611b29565b611ac3565b905060005416331486611ab4565b6064856040519062461bcd60e51b825280600483015260248201527f6163636f756e747320636f6e7472616374206e6f7420636f6e666967757265646044820152fd5b611bfc91503d806000833e6116cc818361308e565b86611a95565b3461069357604036600319011261069357611c1b612fd5565b6024906001600160401b03823581811161069357611c3d90369060040161313f565b92611c46613383565b6000546001600160a01b0392908316330361065b57611c648461415a565b15611fc15760405194611c7686613073565b600390818752611c936020976218591960ea1b8982015282614172565b15611d5a57505050611cb483604051611caf81611b158161324e565b6141c7565b905015611cce575b5050505b600160135560405160018152f35b60055490600160401b821015611d465750918391611d3682611d178660017fb8d19e9a01b20cdeb274d41376a2a2d708fea6e186a4021d4fea0baf6a99eb6998016005556133fe565b90919082549060031b9160018060a01b03809116831b921b1916179055565b60405191168152a1818080611cbc565b634e487b7160e01b60009081526041600452fd5b611d889060409692949395965190611d7182613073565b600682526572656d6f766560d01b89830152614172565b15611f8c57611da181604051611caf81611b158161324e565b949094611db4575b505050505050611cc0565b6005969293949596958654811015611f47575b86546000198101908111611e0d57811015611e225760018101808211611e0d5790610a2989611df8611e08946133fe565b9054908a1b1c16611d17836133fe565b611dc7565b85634e487b7160e01b60005260116004526000fd5b5092909491959382548015611f325760001901908590611e41836133fe565b81939154921b1b19169055808355604051918783838152019283856000528160008051602061434e8339815191529160005b8c878210611f1a575050611e899250038261308e565b51948511611d4657600160401b8511611d46575090611eaf848493818a9897965561321f565b9060005260005b828110611ef657505050917fd24fa3eb1d5ae5692f8c3b609b31a1e257ebb4f86ec4486615f71eefb2fde01c9260405191168152a1818080808080611da9565b8151841660008051602061434e833981519152820155869490910190600101611eb6565b84548c16835260019485019486945092019101611e73565b82634e487b7160e01b60005260316004526000fd5b60405162461bcd60e51b815260206004820152601960248201527f4572726f7220696e2072656d6f76653a20696e7465726e616c000000000000006044820152606490fd5b60405162461bcd60e51b815260048101879052600e818401526d24b73b30b634b21020b1ba34b7b760911b6044820152606490fd5b60405162461bcd60e51b815260206004820152600f818401526e496e76616c6964204164647265737360881b6044820152606490fd5b346106935760208060031936011261069357600435612014613383565b6000546001600160a01b0316330361065b57806007541461231d575b600654600019919082810190811161043e57600655600c918254926001938481019081811161043e578160005b8281106122e3575082146122ad57811015611f4757845b61224b575b508054918215612235578201916120a3612092846133d9565b8154906000199060031b1b19169055565b828255604051908682858152019182846000528160008051602061438e8339815191529160005b8a8c8a8310612220575050506120e29250038261308e565b51936001600160401b03851161045457600160401b85116104545784845584106121de575b5090859291906000528460005b8381106121bc5750505050817fb1a52d9fa203ad04e22da5c0c85bef32136b120839efb2ea6c7b7991bc80191e92600052600b8252600060076040822082815561215f878201613843565b61216b60028201613843565b600381018054848255806121a3575b50508260048201558260058201558260068201550155604051908152a180601355604051908152f35b6121b591855286852090810190613208565b888061217a565b825160008051602061438e833981519152820155879490920191869101612114565b7fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c661221a91018460008051602061438e83398151915201613208565b86612107565b855484529481019486945090920191016120ca565b634e487b7160e01b600052603160045260246000fd5b815483810190811161043e578110156122a85784810180821161043e578591610a296122796122a2936133d9565b9054612284846133d9565b91909260031b1c9082549060031b91821b91600019901b1916179055565b90612074565b612079565b60405162461bcd60e51b815260048101889052600e60248201526d125b9d985b1a5908199d5b99125960921b6044820152606490fd5b6122ec816133d9565b90549060031b1c600052600b89528660406000205414612315575b61231090613834565b61205d565b925082612307565b60008051602061436e83398151915282612338424385613ed2565b80600755604051908152a1612030565b3461069357602036600319011261069357612361612fd5565b612369613383565b6000546001600160a01b039190828116330361065b577f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b926020921680916123b282151561333f565b6001600160a01b03191617600055604051908152a16001601355602060405160018152f35b3461069357600036600319011261069357600060606040516123f881613006565b8281528260208201528260408201520152608060065460075460085460095491606060405161242681613006565b858152602081019283526040810193845201928352604051938452516020840152516040830152516060820152f35b346106935760803660031901126106935760405161247281613006565b61247a612fd5565b815260208082016024908135815260408401916044358352606085019260643584526014549160ff8360081c16159485809661281a575b8015612803575b156127a85760019760ff1994878a87831617601455612796575b5080516001600160a01b03959086161561275257601e601555600a60165560125460ff811661271a578692918b911617601255511694519251905160405191888301946001600160401b039784871089881117612705576125929087604052600086528560a08d836040519161254783613021565b3383528201528560408201528660608201528760808201520152336001600160601b0360a01b600054161760005560018060a01b03166001600160601b0360a01b6001541617600155565b60025560035560045551938411611d4657600160401b8411611d4657506125bf836005548160055561321f565b9060056000528560005b8481106126e3575085857f80d0ec309352dcb8051b794650da512ca2450f41b74edbd230594c33e94fe7b260405180612601816132a2565b0390a161261060025443613332565b83608060405161261f8161303c565b6000815260008682015260006040820152836060820152015260006006556000600755600060085560095582600a557f654adb5cbaa52baea9293330b42459de9dc9b3046fced4e5dc39dcd396571f6b604051806126a4819060a082019160065481526007546020820152600854604082015260095460608201526080600a54910152565b0390a16126ad57005b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001960145416601455604051908152a1005b86838551169401938160008051602061434e83398151915201550186906125c9565b85634e487b7160e01b60005260416004526000fd5b60405162461bcd60e51b8152600481018b905260118187015270105b1c9958591e525b9a5d1a5b1a5e9959607a1b6044820152606490fd5b60405162461bcd60e51b8152600481018a90526019818601527f696e76616c6964207265676973747261722061646472657373000000000000006044820152606490fd5b61ffff191661010117601455896124d2565b60405162461bcd60e51b815260048101889052602e818401527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156124b85750600160ff8516146124b8565b50600160ff8516106124b1565b34610693576060366003190112610693576004356001600160401b03602480358281116106935761285c9036906004016130c6565b91604435908111610693576128759036906004016130c6565b9161287e613383565b61289360018060a01b03600054163314613c48565b83600052600b916020928084526128b4604060002042906108ed4391613c4f565b612a985760005b835181101561298b578660005281855260036128f581604060002001611b15611b1c6128e7868a613ce8565b51926040519283809261373b565b90501561290c575b5061290790613834565b6128bb565b876000528286526040600020016129238286613ce8565b5190805490600160401b82101561270557916103f3826129079594600161294c950181556134dc565b7fa7971101f3ab1808fedaf53dcda952637961dcc1153334a243c3426fc83c859460406129798388613ce8565b518151908b825289820152a1906128fd565b848388888560005b8251811015612a2b57612a08908460005282875260036129c381604060002001611b15611b1c6128e7868a613ce8565b612a0d575b50507ff75290a2e96cc6159e4aa725868d3ee344d7e302fddea73704110e6840e5a4ef60406129f78387613ce8565b518151908882528a820152a1613834565b612993565b612a239187600052858a5260406000200161423f565b5087806129c8565b5091905060005282526003604060002001546003541115612a555750600160135560405160018152f35b90601a6064926040519262461bcd60e51b845260048401528201527f46756e64206d656d626572206c696d69742065786365656465640000000000006044820152fd5b60405162461bcd60e51b81526004810185905260128184015271125b99195e08119d5b9908115e1c1a5c995960721b6044820152606490fd5b3461069357606036600319011261069357604051612aee81612feb565b600435815260208101906024358252604081016044358152612b0e613383565b6000546001600160a01b0316330361065b5780518015612ba15760085411612b6b57516004555b51600255516003557f80d0ec309352dcb8051b794650da512ca2450f41b74edbd230594c33e94fe7b260405180610e1c816132a2565b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c696420496e7075747360901b6044820152606490fd5b50506000600455612b35565b3461069357602036600319011261069357612bc6612fd5565b612bce613383565b6000546001600160a01b03908116330361065b5781612c356020927fe696533f02cb3abcaaf5e85cd893de5abf147a82fd1496ddd3e5219da0a66437941691612c1883151561333f565b60018060a01b03166001600160601b0360a01b6001541617600155565b604051908152a16001601355602060405160018152f35b346106935760208060031936011261069357600c546004356000805b838110612d2a5750612c7990613e2a565b9260009060005b848110612c95576040518061193b8882612f73565b612c9e816133d9565b9054600391821b1c600052600b90818452612ccc86611b15611b1c846040600020016040519283809261373b565b9050612ce3575b5050612cde90613834565b612c80565b93612d22918395612cf6612cde956133d9565b9054911b1c6000528452612d0d6040600020613c4f565b612d17828a613ce8565b52610d698189613ce8565b929087612cd3565b612d5e83611b15611b1c612d3d856133d9565b9054600391821b1c600052600b8a526040600020016040519283809261373b565b9050612d73575b612d6e90613834565b612c68565b90612d80612d6e91613834565b919050612d65565b3461069357602036600319011261069357612da1613deb565b50600435600052600b60205261193b611a286040600020613c4f565b3461069357612dcb36612e78565b8015612e6f575b601554808211612e67575b50612de781613e2a565b916000600c54905b838110612e05575b6040518061193b8782612f73565b81612e108483613332565b1015612e625780612e2c612e2785612e5d94613332565b6133d9565b90549060031b1c600052600b602052612e486040600020613c4f565b612e528288613ce8565b52610d698187613ce8565b612def565b612df7565b905082612ddd565b50601654612dd2565b6040906003190112610693576004359060243590565b60005b838110612ea15750506000910152565b8181015183820152602001612e91565b90602091612eca81518092818552858086019101612e8e565b601f01601f1916010190565b9081518152602091612f0a612ef8848301516101008087870152850190612eb1565b60408301518482036040860152612eb1565b92606082015193838103606085015281808651928381520195019160005b828110612f5f575050505060e0816080829301511515608085015260a081015160a085015260c081015160c0850152015191015290565b835187529581019592810192600101612f28565b602080820190808352835180925260408301928160408460051b8301019501936000915b848310612fa75750505050505090565b9091929394958480612fc5600193603f198682030187528a51612ed6565b9801930193019194939290612f97565b600435906001600160a01b038216820361069357565b606081019081106001600160401b0382111761045457604052565b608081019081106001600160401b0382111761045457604052565b60c081019081106001600160401b0382111761045457604052565b60a081019081106001600160401b0382111761045457604052565b61010081019081106001600160401b0382111761045457604052565b604081019081106001600160401b0382111761045457604052565b90601f801991011681019081106001600160401b0382111761045457604052565b6001600160401b0381116104545760051b60200190565b81601f82011215610693578035916130dd836130af565b926130eb604051948561308e565b808452602092838086019260051b820101928311610693578301905b828210613115575050505090565b81358152908301908301613107565b6001600160401b03811161045457601f01601f191660200190565b81601f820112156106935780359061315682613124565b92613164604051948561308e565b8284526020838301011161069357816000926020809301838601378301015290565b90815180825260208080930193019160005b8281106131a6575050505090565b83516001600160a01b031685529381019392810192600101613198565b906131cd826130af565b6131da604051918261308e565b82815280926131eb601f19916130af565b0190602036910137565b8181029291811591840414171561043e57565b818110613213575050565b60008155600101613208565b80821061322a575050565b61324c91600560005260008051602061434e8339815191529182019101613208565b565b60055490818152602080910191600560005260008051602061434e833981519152916000905b828210613282575050505090565b83546001600160a01b031685529384019360019384019390910190613274565b602080825260e082019160018060a01b03928360005416838301526101006001928584541660408201526002546060820152600354608082015260045460a082015260c0808201526005548093520193600560005260008051602061434e833981519152936000915b83831061331b5750505050505090565b85548116875295810195948401949184019161330b565b9190820180921161043e57565b1561334657565b60405162461bcd60e51b8152602060048201526015602482015274696e76616c696420696e707574206164647265737360581b6044820152606490fd5b600260135414613394576002601355565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b600c5481101561106057600c60005260008051602061438e8339815191520190600090565b60055481101561106057600560005260008051602061434e8339815191520190600090565b600d5481101561106057600d6000526000805160206143ee8339815191520190600090565b60105481101561106057601060005260008051602061440e8339815191520190600090565b6011548110156110605760116000526000805160206143ce8339815191520190600090565b600e5481101561106057600e6000526000805160206143ae8339815191520190600090565b600f5481101561106057600f60005260008051602061442e8339815191520190600090565b80548210156110605760005260206000200190600090565b90600182811c92168015613524575b602083101461350e57565b634e487b7160e01b600052602260045260246000fd5b91607f1691613503565b906000929180549161353f836134f4565b9182825260019384811690816000146135a15750600114613561575b50505050565b90919394506000526020928360002092846000945b83861061358d57505050500101903880808061355b565b805485870183015294019385908201613576565b9294505050602093945060ff191683830152151560051b0101903880808061355b565b600d5490818152602080910191600d6000526000805160206143ee833981519152916000905b8282106135f8575050505090565b8354855293840193600193840193909101906135ea565b600e5490818152602080910191600e6000526000805160206143ae833981519152916000905b828210613643575050505090565b835485529384019360019384019390910190613635565b600f5490818152602080910191600f60005260008051602061442e833981519152916000905b82821061368e575050505090565b835485529384019360019384019390910190613680565b60105490818152602080910191601060005260008051602061440e833981519152916000905b8282106136d9575050505090565b8354855293840193600193840193909101906136cb565b6011549081815260208091019160116000526000805160206143ce833981519152916000905b828210613724575050505090565b835485529384019360019384019390910190613716565b90815480825260208092019260005281600020916000905b828210613761575050505090565b835485529384019360019384019390910190613753565b600d5490600160401b821015610454576103f382600161324c9401600d55613423565b60105490600160401b821015610454576103f382600161324c9401601055613448565b60115490600160401b821015610454576103f382600161324c940160115561346d565b600e5490600160401b821015610454576103f382600161324c9401600e55613492565b600f5490600160401b821015610454576103f382600161324c9401600f556134b7565b9190820391821161043e57565b600019811461043e5760010190565b61384d81546134f4565b9081613857575050565b81601f60009311600114613869575055565b908083918252613888601f60208420940160051c840160018501613208565b5555565b51906001600160a01b038216820361069357565b5190811515820361069357565b9060209081838203126106935782516001600160401b03938482116106935701808203906104e082126106935760409182519561042091828801888110838211176104545785526138fd8461388c565b885261390a87850161388c565b8789015261391985850161388c565b858901526139296060850161388c565b606089015261393a6080850161388c565b608089015261394b60a0850161388c565b60a089015261395c60c0850161388c565b60c089015261396d60e0850161388c565b60e089015261010061398081860161388c565b9089015261012061399281860161388c565b908901526101406139a481860161388c565b908901526101606139b681860161388c565b908901526101806139c881860161388c565b908901526101a06139da81860161388c565b9089015260606101bf19820112610693578451916139f783612feb565b6101c0928386015181526101e090818701518a8201526102009485880151898301528b015261022090613a2b82880161388c565b908b015261024093613a3e85880161388c565b908b015261026090613a5182880161388c565b908b015261028093613a6485880161388c565b908b01526102a09081870151908b01526102c093613a8385880161388c565b908b01526102e09788870151838111610693578701928a84830312610693578851938b850185811083821117610454578a52805191821161069357019080601f83011215610693578151613ad6816130af565b92613ae38b51948561308e565b8184528c8085019260051b820101928311610693578c809101915b838310613c3057505050908352508901526103009160a09190613b2286850161388c565b908a015261031f19011261069357613c2994846104c0955190613b448261303c565b613bdb61032095613b568789016138a0565b84526103409a613b678c8a016138a0565b9085015261036092838901519085015261038093613b86858a016138a0565b60608201526103a095868a015160808301528d01526103c095613baa878a0161388c565b908d01526103e096613bbd888a0161388c565b908d01526104009a613bd08c8a0161388c565b908d0152870161388c565b908a0152613bec610440860161388c565b90890152613bfd610460850161388c565b90880152613c0e610480840161388c565b90870152613c1f6104a0830161388c565b908601520161388c565b9082015290565b8190613c3b8461388c565b8152019101908c90613afe565b1561065b57565b90604051613c5c81613057565b60e06007829480548452604051613c7a81611b15816001860161352e565b6020850152604051613c9381611b15816002860161352e565b6040850152604051613cac81611b15816003860161373b565b606085015260ff60048201541615156080850152600581015460a0850152600681015460c08501520154910152565b8051156110605760200190565b80518210156110605760209160051b010190565b15613d0357565b60405162461bcd60e51b815260206004820152601060248201526f115b5c1d1e48125b99195e08119d5b9960821b6044820152606490fd5b15613d4257565b60405162461bcd60e51b815260206004820152600c60248201526b115e1c1a5c995908119d5b9960a21b6044820152606490fd5b8115613d80570490565b634e487b7160e01b600052601260045260246000fd5b600093919280613de3575015613dab57505090565b80613dbb57506040915001515b90565b90602081015182119081613dd8575b50613dd3575090565b905090565b905051811038613dca565b935050505090565b60405190613df882613057565b600060e08382815260606020820152606060408201526060808201528260808201528260a08201528260c08201520152565b90613e34826130af565b613e41604051918261308e565b8281528092613e52601f19916130af565b019060005b828110613e6357505050565b602090613e6e613deb565b82828501015201613e57565b60e0810151801515939284613ec7575b50508215613ea3575b5050613e9e57600090565b600190565b60c0015180151592509082613ebc575b50503880613e93565b101590503880613eb3565b101592503880613e8a565b6000928392600c54935b8481106140c65750613eef600095613e2a565b94805b858110614006575050505082519060019182810180911161043e57926000835b613fcd575b50831015613f5657508251600019810190811161043e578203613f44575050613f3f90613cdb565b515190565b810180911161043e57613f3f91613ce8565b929150613f61613deb565b926000825b613f85575b50508251159050613f7b57505190565b613f3f9150613cdb565b8351811015613fc85781613f998286613ce8565b515111613faf57613fa990613834565b82613f66565b91505081613fbe929350613ce8565b5190388080613f6b565b613f6b565b85518110156140015782613fe18288613ce8565b515114613ff9575b613ff38491613834565b90613f12565b935083613fe9565b613f17565b61400f816133d9565b9054600391821b1c600052600b602081815260409261403588886108ed87600020613c4f565b158061409b575b614053575b5050505061404e90613834565b613ef2565b9284959261407c926140919561406b61404e986133d9565b9054911b1c60005252600020613c4f565b614086828b613ce8565b52610d69818a613ce8565b9190388080614041565b506140a5856133d9565b905490821b1c600052828252600160ff60048660002001541615151461403c565b6140cf816133d9565b9054600391821b1c600052600b6020908082526040916140f687876108ed86600020613c4f565b15938461412a575b50505050614115575b61411090613834565b613edc565b9461412261411091613834565b959050614107565b600194509160ff939160049361413f886133d9565b9054911b1c60005252600020015416151514388080806140fe565b6001600160a01b03161561416d57600190565b600090565b90604051916020926141a08482816141938183019687815193849201612e8e565b810103808452018261308e565b519020916141c06040519182816141938183019687815193849201612e8e565b5190201490565b9060005b8251811015614208576001600160a01b03806141e78386613ce8565b5116908316146141ff576141fa90613834565b6141cb565b91505090600190565b505050600090600090565b9060005b8251811015614208578161422b8285613ce8565b51146141ff5761423a90613834565b614217565b91908254811015611f47575b8254600019810190811161428d578110156142a257600181019081811161428d57610a2961427c61428893866134dc565b905461228484886134dc565b61424b565b60246000634e487b7160e01b81526011600452fd5b50908054801561223557600019016142bd61209282846134dc565b808255604051908192818492845260208094019160005283600020936000905b8282106142f357505050613db89250038261308e565b8554845260019586019587955093810193909101906142dd565b90919015614319575090565b8151156143295750805190602001fd5b60405162461bcd60e51b81526020600482015290819061068f906024830190612eb156fe036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db035cd92409e9df67a917c3d763d3d253f9f2a33f2fb7343a29bf6c420e4901780df6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7bb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb51b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6728d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802a2646970667358221220226865488e53d40753774a06665850de00a91a786c8bbfc1fcab71f12ad3c4b464736f6c63430008120033"; + "0x6080806040523461001b57600160125561395290816100218239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c806335fc44d3146124795780633d6c7ef414611e71578063592b700a14611dd2578063608ce43314611cc45780637863891e146119a7578063873e9e1914611929578063880cdc311461186657806393a9d3cd14611624578063940d203c14611533578063b4d09085146114e6578063cc2e909914611238578063d8e2bba114610d28578063e68f909d14610c845763eac4f623146100b657600080fd5b34610c2f57600319608036820112610c2f576100d0612709565b906040366023190112610c2f5760405190604082018281106001600160401b038211176106dc57604052602435825260443560208301526001600160401b0360643511610c2f5760809060643536030112610c2f5760405191610132836125bb565b606435600401356003811015610c2f57835260643560248101356020850152604401356001600160a01b0381168103610c2f5760408401526001600160401b0360648035013511610c2f57610193366004606480350135606435010161262d565b60608401526101a0612770565b82516003811015610c3457610c4a5782516003811015610c3457610c2f5760015460408481015190516302b05ecb60e11b81526001600160a01b0391821660048201529160209183916024918391165afa9081156108ce57600091610c10575b5015610bd657602083015115610b9b57602083015191600254610b3d575b60015460405163e68f909d60e01b815293906103e090859060049082906001600160a01b03165afa9384156108ce57600094610b0a575b5081511561097057508051600052600a6020526003604060002001541561093e57806102ff9151600052600a6020526102a66102a06040600020429061029b4391612e82565b613655565b15612f4d565b6102cd6101a08501518251600052600a602052600460406000200154602084015191613583565b90516000526003604060002001906102f36102fa602088015193604051928380926129bd565b03826125f1565b612ff1565b60408381015160208581015192516323b872dd60e01b81526001600160a01b0394851660048201523060248201526044810193909352919283916064918391600091165af19081156108ce5760009161091f575b50156108da576040828101519181018051602080860151935163095ea7b360e01b81526001600160a01b0392831660048201526024810194909452919383916044918391600091165af19081156108ce5760009161089f575b501561085a5751604090910151600d546001600160a01b03918216929091166103d482612674565b906103e260405192836125f1565b828252601f1992836103f382612674565b0136602085013761040381612674565b9461041160405196876125f1565b8186528461041e83612674565b0136602088013761042e82612674565b9461043c60405196876125f1565b82865261044883612674565b0160005b818110610847575050600060105493601154600e5491600f54935b8681106106f2578a8a61049661048f6001600160a01b036104878e612894565b511693612894565b5191612894565b51906040519160408301908382106001600160401b038311176106dc57610520946000938493604052601d86527f63616c6c20726576657274656420776974686f7574206d6573736167650000006020870152602083519301915af13d156106d4573d9061050382612612565b9161051160405193846125f1565b82523d6000602084013e61381c565b50600d546000600d558061069c575b50600e546000600e558061066a575b50600f546000600f5580610638575b50601054600060105580610606575b506011546000601155806105d4575b7f654adb5cbaa52baea9293330b42459de9dc9b3046fced4e5dc39dcd396571f6b604051806105c1819060a082019160055481526006546020820152600754604082015260085460608201526080600954910152565b0390a16001601255602060405160018152f35b601160005260008051602061389d833981519152908101905b8181106105fa575061056b565b600081556001016105ed565b60106000526000805160206138dd833981519152908101905b81811061062c575061055c565b6000815560010161061f565b600f6000526000805160206138fd833981519152908101905b81811061065e575061054d565b60008155600101610651565b600e60005260008051602061387d833981519152908101905b818110610690575061053e565b60008155600101610683565b600d60005260076000805160206138bd833981519152910160031c8101905b8181106106c8575061052f565b600081556001016106bb565b60609061381c565b634e487b7160e01b600052604160045260246000fd5b816106fd828b6128a1565b52600061070a828d6128a1565b528060031c6000805160206138bd8339815191520154908881101561083157806000805160206138dd8339815191520154848210156108315760116000528160008051602061389d83398151915201549063ffffffff6040519461076d866125a0565b60e08560051b161c1684526020840152604083015284811015610831578060008051602061387d83398151915201549186821015610831576107c961082c93600f600052836000805160206138fd83398151915201549061271f565b604080519263665a62f360e01b602085015263ffffffff8151166024850152602081015160448501520151606483015288608483015260a49081830152815261081181612585565b61081b828d6128a1565b52610826818c6128a1565b50612eff565b610467565b634e487b7160e01b600052603260045260246000fd5b606060208289018101919091520161044c565b60405162461bcd60e51b815260206004820152601760248201527f4661696c656420746f20617070726f76652066756e64730000000000000000006044820152606490fd5b6108c1915060203d6020116108c7575b6108b981836125f1565b810190612f88565b386103ac565b503d6108af565b6040513d6000823e3d90fd5b60405162461bcd60e51b815260206004820152601860248201527f4661696c656420746f207472616e736665722066756e647300000000000000006044820152606490fd5b610938915060203d6020116108c7576108b981836125f1565b38610353565b60405162461bcd60e51b815260206004820152600a602482015269115b5c1d1e48119d5b9960b21b6044820152606490fd5b60045490919015610a7e5790805b6109895750506102ff565b610a5f90600690610a5a82549283600052600a90816020526109b46003604060002001541515612f0e565b84600052816020526109d16102a0424361029b6040600020612e82565b600454906007856109e482548095612bab565b93848210610a6557505060008051602061385d83398151915291600060209255610a1042438354613698565b809155604051908152a19384915b6101a08a01519160005260205260036102fa610a49604060002093600485015460208c015191613583565b926102f360405180948193016129bd565b612bab565b8061097e565b90919350610a73925061271f565b905582938491610a1e565b610b059150610aea60065480600052600a602052610aa56003604060002001541515612f0e565b80600052600a602052610ac56102a06040600020429061029b4391612e82565b6101a086015190600052600a6020526040600020926020600485015491015191613583565b60036102fa6020880151936102f360405180948193016129bd565b6102ff565b610b2f9194506103e03d6103e011610b36575b610b2781836125f1565b810190612c15565b9238610255565b503d610b1d565b600854431061021e5760008051602061385d8339815191526020610b6660065442904390613698565b80600655604051908152a160006007555b600854804310610b9557600254610b8d9161271f565b600855610b77565b5061021e565b60405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908199d5b9908185b5bdd5b9d606a1b6044820152606490fd5b60405162461bcd60e51b81526020600482015260126024820152712737ba1030b1b1b2b83a32b2103a37b5b2b760711b6044820152606490fd5b610c29915060203d6020116108c7576108b981836125f1565b38610200565b600080fd5b634e487b7160e01b600052602160045260246000fd5b60405162461bcd60e51b8152602060048201526012602482015271496e76616c6964206173736574207479706560701b6044820152606490fd5b34610c2f576000366003190112610c2f5760006080604051610ca5816125d6565b828152826020820152826040820152826060820152015260a0604051610cca816125d6565b600180831b039081600054169182825280600154169060208301918252600254906040840191825260035492606085019384526080600454950194855260405195865251166020850152516040840152516060830152516080820152f35b34610c2f576020366003190112610c2f57610d4161268b565b610d49612770565b60015460405163e68f909d60e01b81526001600160a01b03916103e0919082908290600490829087165afa9081156108ce5760409260009261121b575b5050019080825116156111d757610da09151163314612b47565b60005b63ffffffff8216600052600b6020526040600020805463ffffffff8316101561118b5781610dd0916128ec565b90546003918181841b1c600052600a9081602052610e06866102f3610e0187604060002001604051928380926129bd565b6137d5565b929092610e21575b5050505050610e1c90612e6d565b610da3565b8382869893959794961b1c6000526020528560406000200193845463ffffffff82161015611142575b84546000198101908111610ec35763ffffffff821690811015610ed9576001019063ffffffff8211610ec35763ffffffff610e88610ebe9388612fce565b9054908a1b1c16610eb7610e9c8389612fce565b819391549060031b9163ffffffff809116831b921b19161790565b9055612e6d565b610e4a565b634e487b7160e01b600052601160045260246000fd5b5050949293919093805490811561112c57610ef8600019830182612fce565b63ffffffff825491881b1b19169055600019820181556040519160208360001983018152019160005260206000206000905b600019830160078301106110be5793807f500978d9e5f72b20b6a716a3d6efff3c09afb83b78ac2ad0f933c747827644cd979460409794610fd394610e1c9c9b985491600019810182106110a5575b6000198101821061108a575b6000198101821061106f575b60001981018210611053575b60001981018210611037575b6000198101821061101b575b60001981018210610fff575b6000190111610ff1575b5003906125f1565b8351921b1c815263ffffffff86166020820152a19083808080610e0e565b60e01c81526020018c610fcb565b9092602060019163ffffffff8560c01c16815201930190610fc1565b9092602060019163ffffffff8560a01c16815201930190610fb5565b9092602060019163ffffffff8560801c16815201930190610fa9565b9092602060019163ffffffff8560601c16815201930190610f9d565b9092602060019163ffffffff858e1c16815201930190610f91565b9092602060019163ffffffff85831c16815201930190610f85565b9092602060019163ffffffff8516815201930190610f79565b805463ffffffff8082168652602082811c821690870152604082811c821690870152606082811c821690870152608082811c82169087015260a082811c82169087015260c082811c9091169086015260e090811c908501526101009093019260089190910190600101610f2a565b634e487b7160e01b600052603160045260246000fd5b60405162461bcd60e51b815260206004820152601960248201527f4572726f7220696e2072656d6f76653a20696e7465726e616c000000000000006044820152606490fd5b0390fd5b63ffffffff8316600052600b6020526040600020805460008255806111bb575b6001601255602060405160018152f35b6111d091600052602060002090810190612800565b80806111ab565b606460405162461bcd60e51b815260206004820152602060248201527f6163636f756e747320636f6e7472616374206e6f7420636f6e666967757265646044820152fd5b6112319250803d10610b3657610b2781836125f1565b8480610d86565b34610c2f576040366003190112610c2f576004356001600160401b03602435818111610c2f5761126c90369060040161269e565b91611275612770565b61128a60018060a01b03600054163314612b47565b825160035411156114a15780600052602091600a83526112b46040600020429061029b4391612e82565b6114675781600052600a835260036040600020019084519081116106dc576112dc818361282a565b83850191600052836000208160031c9160005b838110611424575060071981169003806113d0575b5050505060005b83518110156113c15763ffffffff8061132483876128a1565b5116600052600b9081855260406000206040519081878254918281520191600052876000209060005b8181106113ad57505050858261136e611382979695946113739403826125f1565b613795565b905015611387575b5050612eff565b61130b565b61139183886128a1565b511660005284526113a6836040600020612904565b858061137b565b82548452928901926001928301920161134d565b82600160125560405160018152f35b9260009360005b878282106113ee5750505050015583808080611304565b61141a849763ffffffff60019495965116908560021b60031b9163ffffffff809116831b921b19161790565b96019291016113d7565b6000805b886008821061143f575050838201556001016112ef565b875191979260019263ffffffff60058b901b81811b19909316911690911b1792019601611428565b60405162461bcd60e51b8152600481018490526012602482015271125b99195e08119d5b9908115e1c1a5c995960721b6044820152606490fd5b60405162461bcd60e51b815260206004820152601a60248201527f46756e64206d656d626572206c696d69742065786365656465640000000000006044820152606490fd5b34610c2f576000366003190112610c2f576114ff6135cc565b50600654600052600a60205261152f61151b6040600020612e82565b6040519182916020835260208301906124ee565b0390f35b34610c2f57602080600319360112610c2f5763ffffffff61155261268b565b1680600052600b80835261156a604060002054613605565b9060005b83600052818552604060002080548210156115c65790611591816115c1936128ec565b90549060031b1c600052600a86526115ac6040600020612e82565b6115b682866128a1565b5261082681856128a1565b61156e565b604080518781528551818901819052600092600582901b8301810191888b01918b9085015b8287106115f85785850386f35b909192938280611614600193603f198a820301865288516124ee565b96019201960195929190926115eb565b34610c2f57602080600319360112610c2f57600435611641612770565b61165760018060a01b0360005416331415612b47565b80600052600a8252806006541461183b575b61167d8160405161136e816102f381612b4e565b611737575b506005546000198101908111610ec3577fb1a52d9fa203ad04e22da5c0c85bef32136b120839efb2ea6c7b7991bc80191e91839160055580600052600a825260006006604082208281556116d860018201612bb8565b6116e460028201612bb8565b60038101805484825580611718575b50508260048201558260058201550155604051908152a1600160125560405160018152f35b6117309185526007878620910160031c810190612800565b87806116f3565b9190600c928354811015611142575b83546000198101908111610ec3578110156117a9576001810190818111610ec35761179f6117766117a4936128b5565b9054611781846128b5565b91909260031b1c9082549060031b91821b91600019901b1916179055565b612eff565b611746565b509091805490811561112c57600019918201916117c5836128b5565b909182549160031b1b1916905581815560405191848382815201916000527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c79060005b86828210611827575050505090806118219203906125f1565b82611682565b835485529093019260019283019201611808565b60008051602061385d83398151915282611856424385613698565b80600655604051908152a1611669565b34610c2f576020366003190112610c2f5761187f612709565b611887612770565b6000546001600160a01b03919082811633036118f5577f4ffd725fc4a22075e9ec71c59edf9c38cdeb588a91b24fc5b61388c5be41282b926020921680916118d082151561272c565b6001600160a01b03191617600055604051908152a16001601255602060405160018152f35b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b34610c2f576000366003190112610c2f576000606060405161194a816125bb565b82815282602082015282604082015201526080600554600654600754600854916060604051611978816125bb565b858152602081019283526040810193845201928352604051938452516020840152516040830152516060820152f35b34610c2f576080366003190112610c2f576040516119c4816125bb565b6119cc612709565b815260208082016024358152604083016044358152606084019160643583526013549260ff8460081c161593848095611cb7575b8015611ca0575b15611c445760ff19811660011760135584611c32575b5085516001600160a01b039690871615611bed57611b17949596611aa491601e601455600a601555511692519351915192836080604051611a5d816125d6565b338152838b8201528760408201528560608201520152336001600160601b0360a01b600054161760005560018060a01b03166001600160601b0360a01b6001541617600155565b826002556003556004557fd41a848f4338796659fc6f85bedcd07fe9eee900c21349ea011e3d275293016260405180611b0e819060a082019160018060a01b0380600054168252600154166020820152600254604082015260035460608201526080600454910152565b0390a14361271f565b60016080604051611b27816125d6565b6000815260008682015260006040820152836060820152015260006005556000600655600060075560085560016009557f654adb5cbaa52baea9293330b42459de9dc9b3046fced4e5dc39dcd396571f6b60405180611bad819060a082019160055481526006546020820152600754604082015260085460608201526080600954910152565b0390a1611bb657005b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989061ff00196013541660135560405160018152a1005b60405162461bcd60e51b815260048101879052601960248201527f696e76616c6964207265676973747261722061646472657373000000000000006044820152606490fd5b61ffff19166101011760135586611a1d565b60405162461bcd60e51b815260048101879052602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015611a075750600160ff821614611a07565b50600160ff821610611a00565b34610c2f576060366003190112610c2f57604051611ce1816125a0565b600435815260208101906024358252604081016044358152611d01612770565b6000546001600160a01b031633036118f55780518015611dc65760075411611d9057516004555b51600255516003557fd41a848f4338796659fc6f85bedcd07fe9eee900c21349ea011e3d2752930162604051806105c1819060a082019160018060a01b0380600054168252600154166020820152600254604082015260035460608201526080600454910152565b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c696420496e7075747360901b6044820152606490fd5b50506000600455611d28565b34610c2f576020366003190112610c2f57611deb612709565b611df3612770565b6000546001600160a01b0390811633036118f55781611e5a6020927fe696533f02cb3abcaaf5e85cd893de5abf147a82fd1496ddd3e5219da0a66437941691611e3d83151561272c565b60018060a01b03166001600160601b0360a01b6001541617600155565b604051908152a16001601255602060405160018152f35b34610c2f5760e0366003190112610c2f576004356001600160401b038111610c2f57611ea190369060040161262d565b6024356001600160401b038111610c2f57611ec090369060040161262d565b6044356001600160401b038111610c2f57611edf90369060040161269e565b606435151560643503610c2f57611ef4612770565b6000546001600160a01b031633036118f5576064608435116124445760095460405192611f2084612585565b818452602084019485526040840152816060840152608435608084015260a43560a084015260c43560c0840152600052600a60205260406000209282518455519283516001600160401b0381116106dc57611f7e60018301546127c6565b601f811161240f575b506020601f82116001146123a0578192939495600092612395575b50508160011b916000199060031b1c19161760018201555b60408301519283516001600160401b0381116106dc57611fdd60028401546127c6565b601f8111612355575b506020601f82116001146122e65781929394956000926122db575b50508160011b916000199060031b1c19161760028301555b606081015180516001600160401b0381116106dc576020600385019261203f838561282a565b019160005260206000209060005b8160031c811061229857506007198116810361223e575b50505060c08160806006930151600485015560a08101516005850155015191015560005b815160ff8216908110156120d4576120a563ffffffff91846128a1565b5116600052600b6020526120c0604060002060095490612904565b60ff809116908114610ec357600101612088565b60095480600052600a6020527fb122d9f73c46b97df52cc57ddb3563f7d591316c0547c3d4f980d5904b0e9c3160406000206040518091848252604060208301528054604083015260e060608301526006612166612139610120850160018501612927565b612153603f19918287820301608088015260028601612927565b908582030160a0860152600384016129bd565b91600481015460c0850152600581015460e085015201546101008301520390a1600554158015612234575b612213575b6064356121d1575b5060055460018101809111610ec35760055560095460018101809111610ec3576009556001601255602060405160018152f35b600c5490600160401b8210156106dc576121f482600161220d9401600c556128b5565b90919082549060031b91821b91600019901b1916179055565b8061219e565b8060065560008051602061385d8339815191526020604051838152a1612196565b5060065415612191565b60009260005b60071983168303811061226257505060031c015560c0600685612064565b9093602061228f60019263ffffffff885116908560021b60031b9163ffffffff809116831b921b19161790565b95019101612244565b6000805b600881106122b157508382015560010161204d565b855190959160019160209163ffffffff60058a901b81811b199092169216901b179201950161229c565b015190508580612001565b6002840160005260206000209060005b601f198416811061233d575060019394959683601f19811610612324575b505050811b016002830155612019565b015160001960f88460031b161c19169055858080612314565b9091602060018192858b0151815501930191016122f6565b61238590600285016000526020600020601f840160051c8101916020851061238b575b601f0160051c0190612800565b85611fe6565b9091508190612378565b015190508580611fa2565b6001830160005260206000209060005b601f19841681106123f7575060019394959683601f198116106123de575b505050811b016001820155611fba565b015160001960f88460031b161c191690558580806123ce565b9091602060018192858b0151815501930191016123b0565b61243e90600184016000526020600020601f840160051c8101916020851061238b57601f0160051c0190612800565b85611f87565b60405162461bcd60e51b815260206004820152600d60248201526c1a5b9d985b1a59081cdc1b1a5d609a1b6044820152606490fd5b34610c2f576020366003190112610c2f576124926135cc565b50600435600052600a60205261152f61151b6040600020612e82565b919082519283825260005b8481106124da575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016124b9565b90815181526020916125226125108483015160e08686015260e08501906124ae565b604083015184820360408601526124ae565b92606082015193838103606085015281808651928381520195019160005b82811061256b575050505060c081608082930151608085015260a081015160a0850152015191015290565b835163ffffffff1687529581019592810192600101612540565b60e081019081106001600160401b038211176106dc57604052565b606081019081106001600160401b038211176106dc57604052565b608081019081106001600160401b038211176106dc57604052565b60a081019081106001600160401b038211176106dc57604052565b90601f801991011681019081106001600160401b038211176106dc57604052565b6001600160401b0381116106dc57601f01601f191660200190565b81601f82011215610c2f5780359061264482612612565b9261265260405194856125f1565b82845260208383010111610c2f57816000926020809301838601378301015290565b6001600160401b0381116106dc5760051b60200190565b6004359063ffffffff82168203610c2f57565b81601f82011215610c2f578035916126b583612674565b926126c360405194856125f1565b808452602092838086019260051b820101928311610c2f578301905b8282106126ed575050505090565b813563ffffffff81168103610c2f5781529083019083016126df565b600435906001600160a01b0382168203610c2f57565b91908201809211610ec357565b1561273357565b60405162461bcd60e51b8152602060048201526015602482015274696e76616c696420696e707574206164647265737360581b6044820152606490fd5b600260125414612781576002601255565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90600182811c921680156127f6575b60208310146127e057565b634e487b7160e01b600052602260045260246000fd5b91607f16916127d5565b81811061280b575050565b60008155600101612800565b81810292918115918404141715610ec357565b90600160401b81116106dc57815481835580821061284757505050565b612877926000526007602060002091601c82850160031c84019460021b1680612879575b500160031c0190612800565b565b600019908186019182549160200360031b1c1690553861286b565b8051156108315760200190565b80518210156108315760209160051b010190565b600c5481101561083157600c6000527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c70190600090565b80548210156108315760005260206000200190600090565b90815491600160401b8310156106dc57826121f4916001612877950181556128ec565b9060009291805491612938836127c6565b91828252600193848116908160001461299a575060011461295a575b50505050565b90919394506000526020928360002092846000945b838610612986575050505001019038808080612954565b80548587018301529401938590820161296f565b9294505050602093945060ff191683830152151560051b01019038808080612954565b805480835260208093019160005282600020906000915b816007840110612ade57549184828210612ac8575b828210612ab0575b828210612a97575b828210612a7e575b828210612a65575b828210612a4c575b828210612a33575b5010612a26575b50905090565b60e01c8152018038612a20565b6001919463ffffffff8560c01c16815201930184612a19565b6001919463ffffffff8560a01c16815201930184612a11565b6001919463ffffffff8560801c16815201930184612a09565b6001919463ffffffff8560601c16815201930184612a01565b6001919463ffffffff8560401c168152019301846129f9565b6001919463ffffffff85831c168152019301846129f1565b6001919463ffffffff85168152019301846129e9565b926001610100600892865463ffffffff808216835280828b1c168a84015260408183821c169084015260608183821c169084015260808183821c169084015260a08183821c169084015260c09082821c169083015260e090811c908201520194019201916129d4565b156118f557565b600c5490818152602080910191600c6000527fdf6966c971051c3d54ec59162606531493a51404a002842f56009d7e5cf4a8c7916000905b828210612b94575050505090565b835485529384019360019384019390910190612b86565b91908203918211610ec357565b612bc281546127c6565b9081612bcc575050565b81601f60009311600114612bde575055565b908083918252612bfd601f60208420940160051c840160018501612800565b5555565b51906001600160a01b0382168203610c2f57565b8091036103e08112610c2f576040918251926103a092838501908582106001600160401b038311176106dc576060918352612c4f84612c01565b8652612c5d60208501612c01565b6020870152612c6d838501612c01565b83870152612c7c828501612c01565b82870152612c8c60808501612c01565b6080870152612c9d60a08501612c01565b60a0870152612cae60c08501612c01565b60c0870152612cbf60e08501612c01565b60e0870152610100612cd2818601612c01565b90870152610120612ce4818601612c01565b90870152610140612cf6818601612c01565b90870152610160612d08818601612c01565b90870152610180612d1a818601612c01565b9087015261019f190112610c2f57612e669181612e5c6103c0935195612d3f876125a0565b6101a0968785015181526101c0978886015160208301526101e094858701519083015289015261020096612d74888601612c01565b9089015261022092612d87848601612c01565b9089015261024096612d9a888601612c01565b9089015261026092838501519089015261028096612db9888601612c01565b908901526102a092612dcc848601612c01565b908901526102c096612ddf888601612c01565b908901526102e092612df2848601612c01565b9089015261030096612e05888601612c01565b9089015261032092612e18848601612c01565b9089015261034096612e2b888601612c01565b9089015261036092612e3e848601612c01565b9089015261038096612e51888601612c01565b908901528301612c01565b9086015201612c01565b9082015290565b63ffffffff809116908114610ec35760010190565b90604051612e8f81612585565b60c06006829480548452604051612ead816102f38160018601612927565b6020850152604051612ec6816102f38160028601612927565b6040850152604051612edf816102f381600386016129bd565b606085015260048101546080850152600581015460a08501520154910152565b6000198114610ec35760010190565b15612f1557565b60405162461bcd60e51b815260206004820152601060248201526f115b5c1d1e48125b99195e08119d5b9960821b6044820152606490fd5b15612f5457565b60405162461bcd60e51b815260206004820152600c60248201526b115e1c1a5c995908119d5b9960a21b6044820152606490fd5b90816020910312610c2f57518015158103610c2f5790565b90600d5482101561083157600d600052601c8260031c6000805160206138bd833981519152019260021b1690565b919091805483101561083157600052601c60206000208360031c019260021b1690565b9291808451908115801561355c575b505050606482810392818411610ec35760005b865181101561325c576000908180600d918254915b828110613217575b50156130fd5750506010548210156108315785826000805160206138dd83398151915201556011805483101561083157600052828260008051602061389d8339815191520155836130818787612817565b04600e8054841015610831576000526130ac8360008051602061387d8339815191520191825461271f565b90556130c3846130bc8888612817565b0486612bab565b600f8054841015610831576130f8936130f1916000526000805160206138fd8339815191520191825461271f565b9055612eff565b613013565b90925063ffffffff61310f838b6128a1565b5116600160401b91828110156106dc57610e9c613133916001968782019055612fa0565b90556010805490828210156106dc578482018091558110156108315787906000805160206138dd833981519152015560118054828110156106dc5784810180835581101561083157859160005260008051602061389d83398151915201558461319c8888612817565b04600e805490838210156106dc578582018082558210156108315760005260008051602061387d83398151915201556131e0856131d98989612817565b0487612bab565b90600f938454918210156106dc578101808555811015610831576130f8936000526000805160206138fd8339815191520155612eff565b8b8561322283612fa0565b9290549061323663ffffffff9384926128a1565b51169260031b1c16146132515761324c90612eff565b613028565b945050600138613030565b50505050509050604080519060209081835260c0808401918360a0928382880152600d5480955260e0808801956000805160206138bd8339815191526000905b8260078301106134f85754938282106134e0575b8282106134c6575b8282106134ac575b828210613491575b828210613476575b82821061345c575b828210613444575b5010613435575b505050601f939293199081868603019086015282600e5494858152019360008051602061387d8339815191529060005b818110613421575050508085850301606086015282600f549485815201936000805160206138fd8339815191529060005b81811061340d5750505080858503016080860152826010549485815201936000805160206138dd8339815191529060005b8181106133f957505050848403019084015280601154928381520191601160005260008051602061389d833981519152916000905b8282106133e2575050505090807f60a7668728d323bbf6313b5698e94df25d3276093fcfb61da0e8ae6d742ef9a1920390a1565b8354855293840193600193840193909101906133ae565b825487529585019560019283019201613379565b825487529585019560019283019201613348565b825487529585019560019283019201613317565b1c8452909201918338806132e7565b84901c63ffffffff16885296840196600101386132e0565b90978560019163ffffffff878b1c168152019801906132d8565b90978560019163ffffffff8760801c168152019801906132d0565b90978560019163ffffffff8760601c168152019801906132c8565b90978560019163ffffffff878a1c168152019801906132c0565b90978560019163ffffffff87831c168152019801906132b8565b90978560019163ffffffff87168152019801906132b0565b805463ffffffff8082168b52818c1c81168c8c015281891c8116898c0152606082811c8216908c0152608082811c8216908c0152818a1c81168a8c015281871c16868b0152841c848a0152610100909801978995506008919091019060010161329c565b9091925061356d5704388080613000565b634e487b7160e01b600052601260045260246000fd5b6000929091806135c557508061359d575060409150015190565b906020810151821190816135ba575b506135b5575090565b905090565b9050518110386135ac565b9250505090565b604051906135d982612585565b600060c08382815260606020820152606060408201526060808201528260808201528260a08201520152565b9061360f82612674565b61361c60405191826125f1565b828152809261362d601f1991612674565b019060005b82811061363e57505050565b6020906136496135cc565b82828501015201613632565b60c081015180151593928461368d575b5050821561367257505090565b60a001518015159250908261368657505090565b1015905090565b101592503880613665565b9091600c54906136a782613605565b9360005b83811061371057505050506136ca9060405161136e816102f381612b4e565b1580156136fa575b156136e657506136e190612894565b515190565b60018101809111610ec3576136e1916128a1565b5081516000198101908111610ec35781146136d2565b8061371d613753926128b5565b9054600391821b1c600052600a602090808252604091613744888861029b86600020612e82565b15613758575b50505050612eff565b6136ab565b61377693613765866128b5565b9054911b1c60005252600020612e82565b61378082896128a1565b5261378b81886128a1565b503880808061374a565b9060005b82518110156137ca57816137ad82856128a1565b51146137c1576137bc90612eff565b613799565b91505090600190565b505050600090600090565b9060005b825163ffffffff908183169081101561380f576137f78291866128a1565b5116908316146137c15761380a90612e6d565b6137d9565b5050505050600090600090565b90919015613828575090565b8151156138385750805190602001fd5b60405162461bcd60e51b8152602060048201529081906111879060248301906124ae56fe35cd92409e9df67a917c3d763d3d253f9f2a33f2fb7343a29bf6c420e4901780bb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd31ecc21a745e3968a04e9570e4425bc18fa8019c68028196b546d1669c200c68d7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb51b6847dc741a1b0cd08d278845f9d819d87b734759afb55fe2de5cb82a9ae6728d1108e10bcb7c27dddfc02ed9d693a074039d026cf4ea4240b40f7d581ac802a2646970667358221220599fe1d5f7dd87a058f58d5846fd8bf845b4677bc2cceed2682031fedc6ee15964736f6c63430008120033"; type IndexFundConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/core/proxy.sol/ProxyContract__factory.ts b/typechain-types/factories/contracts/core/proxy.sol/ProxyContract__factory.ts index 94a561364..0f488119b 100644 --- a/typechain-types/factories/contracts/core/proxy.sol/ProxyContract__factory.ts +++ b/typechain-types/factories/contracts/core/proxy.sol/ProxyContract__factory.ts @@ -21,12 +21,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curImplementation", + name: "implementation", type: "address", }, { internalType: "address", - name: "curAdmin", + name: "admin", type: "address", }, { @@ -120,7 +120,7 @@ const _abi = [ ] as const; const _bytecode = - "0x604060808152346200030c5762000cb2803803806200001e8162000311565b9283398101906060818303126200030c576200003a816200034d565b916020926200004b8484016200034d565b8584015190936001600160401b0391908282116200030c57019280601f850112156200030c5783519362000089620000838662000362565b62000311565b94808652878601928882840101116200030c578288620000aa93016200037e565b823b15620002b2577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03199081166001600160a01b0386811691821790935590959194600093909290917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2805115801590620002aa575b620001fb575b50505050507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103937f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f86865493815196818616885216958684820152a18315620001a95750161790555161085590816200045d8239f35b60849086519062461bcd60e51b82526004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b895194606086019081118682101762000296578a52602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c89860152660819985a5b195960ca1b8a86015251620002809493929183918291845af4903d156200028c573d62000270620000838262000362565b90815280938a3d92013e620003a3565b50388080808062000133565b60609250620003a3565b634e487b7160e01b85526041600452602485fd5b50836200012d565b865162461bcd60e51b815260048101879052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033757604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200030c57565b6001600160401b0381116200033757601f01601f191660200190565b60005b838110620003925750506000910152565b818101518382015260200162000381565b91929015620004085750815115620003b9575090565b3b15620003c35790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156200041c5750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526200044e81518092816024860152602086860191016200037e565b601f01601f19168101030190fdfe60806040526004361015610018575b366100a6576100a6565b6000803560e01c80636e9960c3146100725763aaf10f421461003a575061000e565b3461006f578060031936011261006f57600080516020610800833981519152546040516001600160a01b039091168152602090f35b80fd5b503461006f578060031936011261006f576000805160206107e0833981519152546001600160a01b03166080908152602090f35b6000805160206107e0833981519152546001600160a01b031633036101c6576000356001600160e01b031916631b2ce7f360e11b81036100f157506100e9610426565b602081519101f35b63278f794360e11b810361010d57506101086105c8565b6100e9565b6308f2839760e41b81036101245750610108610350565b6303e1469160e61b810361013b5750610108610275565b635c60da1b60e01b03610150576101086102ae565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a490fd5b60008051602061080083398151915254600090819081906001600160a01b0316368280378136915af43d82803e156101fc573d90f35b3d90fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761023257604052565b610200565b6020810190811067ffffffffffffffff82111761023257604052565b90601f8019910116810190811067ffffffffffffffff82111761023257604052565b61027d610659565b60018060a01b036000805160206107e08339815191525416604051906020820152602081526102ab81610216565b90565b6102b6610659565b60018060a01b036000805160206108008339815191525416604051906020820152602081526102ab81610216565b600435906001600160a01b03821682036102fa57565b600080fd5b60209060031901126102fa576004356001600160a01b03811681036102fa5790565b67ffffffffffffffff811161023257601f01601f191660200190565b6040519061034a82610237565b60008252565b610358610659565b366004116102fa576001600160a01b0380610372366102ff565b166000805160206107e0833981519152917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f604084549281519084168152846020820152a181156103d2576001600160a01b0319161790556102ab61033d565b60405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b61042e610659565b366004116102fa576001600160a01b03610447366102ff565b166040519061045582610237565b60008252803b156104ec5760008051602061080083398151915280546001600160a01b03191682179055807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906104e4575b6104ca575b50506040516104c381610237565b6000815290565b6104dc916104d6610660565b916106ba565b5038806104b5565b5060006104b0565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b803b156104ec5760008051602061080083398151915280546001600160a01b0319166001600160a01b0383169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906105c0575b6105b1575050565b6105bd916104d6610660565b50565b5060016105a9565b366004116102fa5760403660031901126102fa576105e46102e4565b6024359067ffffffffffffffff82116102fa57366023830112156102fa5781600401359061061182610321565b9161061f6040519384610253565b80835236602482860101116102fa576020816000926024610651970183870137840101526001600160a01b0316610547565b6102ab61033d565b346102fa57565b604051906060820182811067ffffffffffffffff8211176102325760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b6000806102ab9493602081519101845af43d156106f9573d916106dc83610321565b926106ea6040519485610253565b83523d6000602085013e61074d565b60609161074d565b1561070857565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9192901561076d5750815115610761575090565b6102ab903b1515610701565b8251909150156107805750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106107c6575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506107a356feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c61acf3b60fe54f1c7b5e35eb3227d4fadb64a46e27a14985085e09c0322a78c64736f6c63430008120033"; + "0x604060808152346200030c5762000cb2803803806200001e8162000311565b9283398101906060818303126200030c576200003a816200034d565b916020926200004b8484016200034d565b8584015190936001600160401b0391908282116200030c57019280601f850112156200030c5783519362000089620000838662000362565b62000311565b94808652878601928882840101116200030c578288620000aa93016200037e565b823b15620002b2577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03199081166001600160a01b0386811691821790935590959194600093909290917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2805115801590620002aa575b620001fb575b50505050507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103937f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f86865493815196818616885216958684820152a18315620001a95750161790555161085590816200045d8239f35b60849086519062461bcd60e51b82526004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b895194606086019081118682101762000296578a52602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c89860152660819985a5b195960ca1b8a86015251620002809493929183918291845af4903d156200028c573d62000270620000838262000362565b90815280938a3d92013e620003a3565b50388080808062000133565b60609250620003a3565b634e487b7160e01b85526041600452602485fd5b50836200012d565b865162461bcd60e51b815260048101879052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033757604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200030c57565b6001600160401b0381116200033757601f01601f191660200190565b60005b838110620003925750506000910152565b818101518382015260200162000381565b91929015620004085750815115620003b9575090565b3b15620003c35790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156200041c5750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526200044e81518092816024860152602086860191016200037e565b601f01601f19168101030190fdfe60806040526004361015610018575b366100a6576100a6565b6000803560e01c80636e9960c3146100725763aaf10f421461003a575061000e565b3461006f578060031936011261006f57600080516020610800833981519152546040516001600160a01b039091168152602090f35b80fd5b503461006f578060031936011261006f576000805160206107e0833981519152546001600160a01b03166080908152602090f35b6000805160206107e0833981519152546001600160a01b031633036101c6576000356001600160e01b031916631b2ce7f360e11b81036100f157506100e9610426565b602081519101f35b63278f794360e11b810361010d57506101086105c8565b6100e9565b6308f2839760e41b81036101245750610108610350565b6303e1469160e61b810361013b5750610108610275565b635c60da1b60e01b03610150576101086102ae565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a490fd5b60008051602061080083398151915254600090819081906001600160a01b0316368280378136915af43d82803e156101fc573d90f35b3d90fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761023257604052565b610200565b6020810190811067ffffffffffffffff82111761023257604052565b90601f8019910116810190811067ffffffffffffffff82111761023257604052565b61027d610659565b60018060a01b036000805160206107e08339815191525416604051906020820152602081526102ab81610216565b90565b6102b6610659565b60018060a01b036000805160206108008339815191525416604051906020820152602081526102ab81610216565b600435906001600160a01b03821682036102fa57565b600080fd5b60209060031901126102fa576004356001600160a01b03811681036102fa5790565b67ffffffffffffffff811161023257601f01601f191660200190565b6040519061034a82610237565b60008252565b610358610659565b366004116102fa576001600160a01b0380610372366102ff565b166000805160206107e0833981519152917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f604084549281519084168152846020820152a181156103d2576001600160a01b0319161790556102ab61033d565b60405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b61042e610659565b366004116102fa576001600160a01b03610447366102ff565b166040519061045582610237565b60008252803b156104ec5760008051602061080083398151915280546001600160a01b03191682179055807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906104e4575b6104ca575b50506040516104c381610237565b6000815290565b6104dc916104d6610660565b916106ba565b5038806104b5565b5060006104b0565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b803b156104ec5760008051602061080083398151915280546001600160a01b0319166001600160a01b0383169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906105c0575b6105b1575050565b6105bd916104d6610660565b50565b5060016105a9565b366004116102fa5760403660031901126102fa576105e46102e4565b6024359067ffffffffffffffff82116102fa57366023830112156102fa5781600401359061061182610321565b9161061f6040519384610253565b80835236602482860101116102fa576020816000926024610651970183870137840101526001600160a01b0316610547565b6102ab61033d565b346102fa57565b604051906060820182811067ffffffffffffffff8211176102325760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b6000806102ab9493602081519101845af43d156106f9573d916106dc83610321565b926106ea6040519485610253565b83523d6000602085013e61074d565b60609161074d565b1561070857565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9192901561076d5750815115610761575090565b6102ab903b1515610701565b8251909150156107805750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106107c6575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506107a356feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b73d54cdeedb79ac10b05dcfd6196ca3c80a671a4fbd8a0e9e661d3360347dd764736f6c63430008120033"; type ProxyContractConstructorParams = | [signer?: Signer] @@ -140,27 +140,27 @@ export class ProxyContract__factory extends ContractFactory { } override deploy( - curImplementation: PromiseOrValue, - curAdmin: PromiseOrValue, + implementation: PromiseOrValue, + admin: PromiseOrValue, _data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise { return super.deploy( - curImplementation, - curAdmin, + implementation, + admin, _data, overrides || {} ) as Promise; } override getDeployTransaction( - curImplementation: PromiseOrValue, - curAdmin: PromiseOrValue, + implementation: PromiseOrValue, + admin: PromiseOrValue, _data: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): TransactionRequest { return super.getDeployTransaction( - curImplementation, - curAdmin, + implementation, + admin, _data, overrides || {} ); diff --git a/typechain-types/factories/contracts/core/registrar/LocalRegistrar__factory.ts b/typechain-types/factories/contracts/core/registrar/LocalRegistrar__factory.ts index b9dc4264f..6e82ac3e5 100644 --- a/typechain-types/factories/contracts/core/registrar/LocalRegistrar__factory.ts +++ b/typechain-types/factories/contracts/core/registrar/LocalRegistrar__factory.ts @@ -263,7 +263,7 @@ const _abi = [ type: "tuple", }, ], - stateMutability: "view", + stateMutability: "pure", type: "function", }, { @@ -742,7 +742,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608080604052346100c1576000549060ff8260081c1661006f575060ff80821610610034575b60405161166190816100c78239f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610025565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c80630560bd96146112825780630dcfe5fa1461120e578063296b5cc81461105b5780632e36091414610f0e57806342b8c5e914610e2a5780634349597a14610d7f5780634df988ae14610d315780636f2da65714610c9c578063715018a614610c3f57806372b1df2914610c065780637d25177614610a8c5780638129fc1c146107e95780638da5cb5b146107c0578063afd44bcc1461075e578063b8efa48e14610651578063bb392002146105c7578063c1492439146103d2578063e5bde0291461027e578063edbcc599146101915763f2fde38b146100fd57600080fd5b3461018d57602036600319011261018d576101166112e9565b9161011f6113a5565b6001600160a01b0383161561013b5783610138846113fd565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50503461027a578160031936011261027a5760c09160a082516101b3816114b0565b8281528260208201528284820152826060820152826080820152015280516101da816114b0565b7fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df223028545460ff8116151592838352602083019263ffffffff938492838560081c16825283818401818760281c16815281606086019460ff8960481c16151586528160a06080890198828c60501c168a52019960701c16895284519a8b52511660208a0152511690870152511515606086015251166080840152511660a0820152f35b5080fd5b5091346103cf576020928360031936011261027a57803567ffffffffffffffff811161018d576102bb916102b491369101611377565b369161150a565b83815191012081527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df223028588352818120908383518093839080546102fc81611551565b808552916001918083169081156103ac575060011461036f575b50505061032992509593929503826114e8565b82519382859384528251928382860152825b84811061035957505050828201840152601f01601f19168101030190f35b818101830151888201880152879550820161033b565b86528486209492508591905b8183106103945750889450508201016103293880610316565b8554888401850152948501948794509183019161037b565b9250505061032994925060ff191682840152151560051b82010186923880610316565b80fd5b5091903461027a578060031936011261027a5767ffffffffffffffff83358181116105c3576104049036908601611377565b6024929192358281116105bf5761041e9036908801611377565b9390926104296113a5565b61043436848461150a565b9788516020809a012088527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285889528688209186116105ac57506104778154611551565b601f8111610569575b5086601f8611600114610504578798509480969795819596916104f9575b508460011b906000198660031b1c19161790555b81865192839283378101878152039020935192839283378101848152039020907fbe341763477f316002d91bd656ce6600451213c169ee5883903f4f60426ff6df8380a380f35b90508501353861049e565b81885288882090601f198716895b81811061055257508798999a509680969710610538575b5050600184811b0190556104b2565b860135600019600387901b60f8161c191690553880610529565b91928b60018192868b013581550194019201610512565b818852888820601f870160051c8101918a88106105a2575b601f0160051c01905b8181106105975750610480565b88815560010161058a565b9091508190610581565b634e487b7160e01b885260419052602487fd5b8580fd5b8380fd5b503461018d578160031936011261018d576105e061131a565b602435918210156105c3577fc29dfab8aee1ae5a857c884f518353e5f8a0d8e0649c8708f6b21bc92f4209ca9161064d60209261061b6113a5565b63ffffffff60e01b169485875260008051602061160c8339815191528452610645838289206115f3565b518092611331565ba280f35b50503461027a578160031936011261027a5760a09160808251610673816114cc565b828152826020820152828482015282606082015201528051610694816114cc565b7fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302855549063ffffffff808316938483526020830190828560201c16825280840194600180891b03958694858093851c168252827fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302856541694606088019586526080847fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302857541698019788528451998a52511660208901525116908601525116606084015251166080820152f35b50503461027a57602036600319011261027a576020906107b861077f6112e9565b6001600160a01b031660009081527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285b6020526040902090565b549051908152f35b50503461027a578160031936011261027a5760335490516001600160a01b039091168152602090f35b503461018d578260031936011261018d5782549060ff8260081c161591828093610a7f575b8015610a68575b15610a0e5760ff1981166001178555826109fd575b5060ff845460081c16156109a65750610842336113fd565b606460a08351610851816114b0565b858152604b602082015260148582015285606082015285608082015201527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df223028546e640000000000000000140000004b006001600160901b031982541617905582608083516108bd816114cc565b6002815260646020820152828582015282606082015201527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285564640000000263ffffffff60e01b8254161790556bffffffffffffffffffffffff60a01b7fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df223028568181541690557fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302857908154169055610970575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b608490602084519162461bcd60e51b8352820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152fd5b61ffff19166101011784553861082a565b835162461bcd60e51b8152602081840152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156108155750600160ff821614610815565b50600160ff82161061080e565b503461018d5760a036600319011261018d57610aa66113a5565b359063ffffffff918281168091036105c3577fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302855805490610ae46115cd565b6001600160a01b0392906044358481168103610c02578567ffffffff000000009168010000000000000000600160e01b0390891b169363ffffffff60e01b16179160201b16171790556064358181168091036105bf576bffffffffffffffffffffffff60a01b937fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302856828682541617905560843592808416809403610bfe577f386dbf58efc832f07658bc89d0b1552d3a11a7cc20e3953cf7bd8796ccc1f8969660a096857fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302857918254161790558251958652610bdd6115e0565b166020860152610beb611304565b169084015260608301526080820152a180f35b8780fd5b8880fd5b83823461027a57602036600319011261027a57357f9adeaf5f56ed44c39532f4e17724750ace61a4efefd70bdb78bd8d52f859eedb5580f35b83346103cf57806003193601126103cf57610c586113a5565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50503461027a578060031936011261027a577f0fc88453320e48dee70566020e32b04f9c148fdf565be3b7d7d9c2838a06d7336020610cd96112e9565b60243593610ce56113a5565b6001600160a01b03821660009081527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285b60205260409020859055519384526001600160a01b031692a280f35b50503461027a57602036600319011261027a57610d7d60ff8260209463ffffffff60e01b610d5d61131a565b16815260008051602061160c833981519152865220541691518092611331565bf35b50503461027a578060031936011261027a57610d996112e9565b602435918215158093036105c3577f1527477b814a609b77a3a52f49fae682370acb615a0212d9e5229186cd66e94d91602091610dd46113a5565b6001600160a01b03821660009081527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285a60205260409020805460ff191660ff8716179055519384526001600160a01b031692a280f35b50503461027a576020908160031936011261018d5780610f03610d7d9260a095610e5261131a565b8251610e5d81611494565b8281528351610e6b81611478565b83815283898201528882015283805191610e8483611478565b84835289830185905201526001600160e01b031916815260008051602061160c83398151915286522082519490610eba86611494565b610ec860ff8254168761158b565b610ef9610ee96002610edc60018501611597565b93858a0194855201611597565b9480880195865251809751611331565b5190850190611354565b516060830190611354565b503461018d5760c036600319011261018d57610f286113a5565b359081151580920361018d577fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df223028549182549164ffffffff00610f676115cd565b60081b16926044359163ffffffff9081841690818503610c0257606435928315158094036110575760843598818a1695868b036110535760a4359a838c1698898d0361104f5768ffffffff000000000060c09c8c947f9ba2671e8e8451ccaa99b5ba3b232e5a1b174450f12aa494675d0941fa4c17f99f60ff9063ffffffff60701b9060701b169616906001600160901b03191617179160281b161769ff0000000000000000008860481b16179063ffffffff60501b9060501b161717905581519687526110336115e0565b1660208701528501526060840152608083015260a0820152a180f35b8d80fd5b8b80fd5b8980fd5b50903461018d57608036600319011261018d5761107661131a565b6001600160a01b0360243581811693908490036105bf57611095611304565b906064359186831015610bfe576110aa6113a5565b8151966110b688611478565b88885260209487868a01528351926110cd84611478565b60018452169788868401528351966110e488611494565b6110ee868961158b565b86880191825284880193845263ffffffff60e01b1696878b5260008051602061160c8339815191528752848b209051838110156111fb5761112f90826115f3565b60018101915191825160028110156111e857918189949360029354610100600160a81b03968796015160ff6affffffffffffffffffffff60a81b97889260081b1693169116171790550193519182519360028510156111d5575091879695939160ff86947ffa06e62a5e92c6354ccefe5daec331c8025e54e73ab99084cc91cb5dca242f2a9a6111d1985494015160081b169316911617179055518092611331565ba480f35b634e487b7160e01b8d526021905260248cfd5b634e487b7160e01b8d526021855260248dfd5b634e487b7160e01b8c526021845260248cfd5b50503461027a578160031936011261027a57602091815161122e81611446565b82519161123a83611446565b82525280519061124982611446565b8051809261125682611446565b7f9adeaf5f56ed44c39532f4e17724750ace61a4efefd70bdb78bd8d52f859eedb548252525190518152f35b50503461027a57602036600319011261027a5760209060ff6112de6112a56112e9565b6001600160a01b031660009081527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285a6020526040902090565b541690519015158152f35b600435906001600160a01b03821682036112ff57565b600080fd5b604435906001600160a01b03821682036112ff57565b600435906001600160e01b0319821682036112ff57565b90600482101561133e5752565b634e487b7160e01b600052602160045260246000fd5b805190600282101561133e579082526020908101516001600160a01b0316910152565b9181601f840112156112ff5782359167ffffffffffffffff83116112ff57602083818601950101116112ff57565b6033546001600160a01b031633036113b957565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b6020810190811067ffffffffffffffff82111761146257604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761146257604052565b6060810190811067ffffffffffffffff82111761146257604052565b60c0810190811067ffffffffffffffff82111761146257604052565b60a0810190811067ffffffffffffffff82111761146257604052565b90601f8019910116810190811067ffffffffffffffff82111761146257604052565b92919267ffffffffffffffff82116114625760405191611534601f8201601f1916602001846114e8565b8294818452818301116112ff578281602093846000960137010152565b90600182811c92168015611581575b602083101461156b57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611560565b600482101561133e5752565b906040516115a481611478565b80925460ff811690600282101561133e5790825260081c6001600160a01b031660209190910152565b60243563ffffffff811681036112ff5790565b6024359063ffffffff821682036112ff57565b90600481101561133e5760ff8019835416911617905556fedebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302859a26469706673582212209ffeb6046d73780e7ed2757923cd9ae95e85b118599ca8bdd3cec2d2f77f2ade64736f6c63430008120033"; + "0x608080604052346100c1576000549060ff8260081c1661006f575060ff80821610610034575b60405161169290816100c78239f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610025565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c80630560bd96146112535780630dcfe5fa146111df578063296b5cc81461102c5780632e36091414610edf57806342b8c5e914610dfb5780634349597a14610d505780634df988ae14610d025780636f2da65714610c6d578063715018a614610c1057806372b1df2914610bd75780637d25177614610a5d5780638129fc1c146107e95780638da5cb5b146107c0578063afd44bcc1461075e578063b8efa48e14610651578063bb392002146105c7578063c1492439146103d2578063e5bde0291461027e578063edbcc599146101915763f2fde38b146100fd57600080fd5b3461018d57602036600319011261018d576101166112ba565b9161011f611376565b6001600160a01b0383161561013b5783610138846113ce565b80f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b50503461027a578160031936011261027a5760c09160a082516101b3816114e1565b8281528260208201528284820152826060820152826080820152015280516101da816114e1565b7fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df223028545460ff8116151592838352602083019263ffffffff938492838560081c16825283818401818760281c16815281606086019460ff8960481c16151586528160a06080890198828c60501c168a52019960701c16895284519a8b52511660208a0152511690870152511515606086015251166080840152511660a0820152f35b5080fd5b5091346103cf576020928360031936011261027a57803567ffffffffffffffff811161018d576102bb916102b491369101611348565b369161153b565b83815191012081527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df223028588352818120908383518093839080546102fc81611582565b808552916001918083169081156103ac575060011461036f575b5050506103299250959392950382611519565b82519382859384528251928382860152825b84811061035957505050828201840152601f01601f19168101030190f35b818101830151888201880152879550820161033b565b86528486209492508591905b8183106103945750889450508201016103293880610316565b8554888401850152948501948794509183019161037b565b9250505061032994925060ff191682840152151560051b82010186923880610316565b80fd5b5091903461027a578060031936011261027a5767ffffffffffffffff83358181116105c3576104049036908601611348565b6024929192358281116105bf5761041e9036908801611348565b939092610429611376565b61043436848461153b565b9788516020809a012088527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285889528688209186116105ac57506104778154611582565b601f8111610569575b5086601f8611600114610504578798509480969795819596916104f9575b508460011b906000198660031b1c19161790555b81865192839283378101878152039020935192839283378101848152039020907fbe341763477f316002d91bd656ce6600451213c169ee5883903f4f60426ff6df8380a380f35b90508501353861049e565b81885288882090601f198716895b81811061055257508798999a509680969710610538575b5050600184811b0190556104b2565b860135600019600387901b60f8161c191690553880610529565b91928b60018192868b013581550194019201610512565b818852888820601f870160051c8101918a88106105a2575b601f0160051c01905b8181106105975750610480565b88815560010161058a565b9091508190610581565b634e487b7160e01b885260419052602487fd5b8580fd5b8380fd5b503461018d578160031936011261018d576105e06112eb565b602435918210156105c3577fc29dfab8aee1ae5a857c884f518353e5f8a0d8e0649c8708f6b21bc92f4209ca9161064d60209261061b611376565b63ffffffff60e01b169485875260008051602061163d833981519152845261064583828920611624565b518092611302565ba280f35b50503461027a578160031936011261027a5760a09160808251610673816114fd565b828152826020820152828482015282606082015201528051610694816114fd565b7fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302855549063ffffffff808316938483526020830190828560201c16825280840194600180891b03958694858093851c168252827fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302856541694606088019586526080847fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302857541698019788528451998a52511660208901525116908601525116606084015251166080820152f35b50503461027a57602036600319011261027a576020906107b861077f6112ba565b6001600160a01b031660009081527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285b6020526040902090565b549051908152f35b50503461027a578160031936011261027a5760335490516001600160a01b039091168152602090f35b503461018d578260031936011261018d57825460ff8160081c161591828093610a50575b8015610a39575b156109df575060ff1981166001178455816109ce575b5061084d60ff845460081c1661083f81611417565b61084881611417565b611417565b610856336113ce565b82549061086860ff8360081c16611417565b606460a08451610877816114e1565b868152604b602082015260148682015286606082015286608082015201527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df223028546e640000000000000000140000004b006001600160901b031982541617905583608084516108e3816114fd565b6002815260646020820152828682015282606082015201527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285564640000000263ffffffff60e01b8254161790556bffffffffffffffffffffffff60a01b7fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df223028568181541690557fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302857908154169055610996578280f35b61ff001916825551600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a138808280f35b61ffff19166101011783553861082a565b608490602085519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156108145750600160ff831614610814565b50600160ff83161061080d565b503461018d5760a036600319011261018d57610a77611376565b359063ffffffff918281168091036105c3577fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302855805490610ab56115fe565b6001600160a01b0392906044358481168103610bd3578567ffffffff000000009168010000000000000000600160e01b0390891b169363ffffffff60e01b16179160201b16171790556064358181168091036105bf576bffffffffffffffffffffffff60a01b937fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302856828682541617905560843592808416809403610bcf577f386dbf58efc832f07658bc89d0b1552d3a11a7cc20e3953cf7bd8796ccc1f8969660a096857fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302857918254161790558251958652610bae611611565b166020860152610bbc6112d5565b169084015260608301526080820152a180f35b8780fd5b8880fd5b83823461027a57602036600319011261027a57357f9adeaf5f56ed44c39532f4e17724750ace61a4efefd70bdb78bd8d52f859eedb5580f35b83346103cf57806003193601126103cf57610c29611376565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50503461027a578060031936011261027a577f0fc88453320e48dee70566020e32b04f9c148fdf565be3b7d7d9c2838a06d7336020610caa6112ba565b60243593610cb6611376565b6001600160a01b03821660009081527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285b60205260409020859055519384526001600160a01b031692a280f35b50503461027a57602036600319011261027a57610d4e60ff8260209463ffffffff60e01b610d2e6112eb565b16815260008051602061163d833981519152865220541691518092611302565bf35b50503461027a578060031936011261027a57610d6a6112ba565b602435918215158093036105c3577f1527477b814a609b77a3a52f49fae682370acb615a0212d9e5229186cd66e94d91602091610da5611376565b6001600160a01b03821660009081527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285a60205260409020805460ff191660ff8716179055519384526001600160a01b031692a280f35b50503461027a576020908160031936011261018d5780610ed4610d4e9260a095610e236112eb565b8251610e2e816114c5565b8281528351610e3c816114a9565b83815283898201528882015283805191610e55836114a9565b84835289830185905201526001600160e01b031916815260008051602061163d83398151915286522082519490610e8b866114c5565b610e9960ff825416876115bc565b610eca610eba6002610ead600185016115c8565b93858a01948552016115c8565b9480880195865251809751611302565b5190850190611325565b516060830190611325565b503461018d5760c036600319011261018d57610ef9611376565b359081151580920361018d577fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df223028549182549164ffffffff00610f386115fe565b60081b16926044359163ffffffff9081841690818503610bd357606435928315158094036110285760843598818a1695868b036110245760a4359a838c1698898d036110205768ffffffff000000000060c09c8c947f9ba2671e8e8451ccaa99b5ba3b232e5a1b174450f12aa494675d0941fa4c17f99f60ff9063ffffffff60701b9060701b169616906001600160901b03191617179160281b161769ff0000000000000000008860481b16179063ffffffff60501b9060501b16171790558151968752611004611611565b1660208701528501526060840152608083015260a0820152a180f35b8d80fd5b8b80fd5b8980fd5b50903461018d57608036600319011261018d576110476112eb565b6001600160a01b0360243581811693908490036105bf576110666112d5565b906064359186831015610bcf5761107b611376565b815196611087886114a9565b88885260209487868a015283519261109e846114a9565b60018452169788868401528351966110b5886114c5565b6110bf86896115bc565b86880191825284880193845263ffffffff60e01b1696878b5260008051602061163d8339815191528752848b209051838110156111cc576111009082611624565b60018101915191825160028110156111b957918189949360029354610100600160a81b03968796015160ff6affffffffffffffffffffff60a81b97889260081b1693169116171790550193519182519360028510156111a6575091879695939160ff86947ffa06e62a5e92c6354ccefe5daec331c8025e54e73ab99084cc91cb5dca242f2a9a6111a2985494015160081b169316911617179055518092611302565ba480f35b634e487b7160e01b8d526021905260248cfd5b634e487b7160e01b8d526021855260248dfd5b634e487b7160e01b8c526021845260248cfd5b50503461027a578160031936011261027a5760209181516111ff81611477565b82519161120b83611477565b82525280519061121a82611477565b8051809261122782611477565b7f9adeaf5f56ed44c39532f4e17724750ace61a4efefd70bdb78bd8d52f859eedb548252525190518152f35b50503461027a57602036600319011261027a5760209060ff6112af6112766112ba565b6001600160a01b031660009081527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285a6020526040902090565b541690519015158152f35b600435906001600160a01b03821682036112d057565b600080fd5b604435906001600160a01b03821682036112d057565b600435906001600160e01b0319821682036112d057565b90600482101561130f5752565b634e487b7160e01b600052602160045260246000fd5b805190600282101561130f579082526020908101516001600160a01b0316910152565b9181601f840112156112d05782359167ffffffffffffffff83116112d057602083818601950101116112d057565b6033546001600160a01b0316330361138a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561141e57565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6020810190811067ffffffffffffffff82111761149357604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761149357604052565b6060810190811067ffffffffffffffff82111761149357604052565b60c0810190811067ffffffffffffffff82111761149357604052565b60a0810190811067ffffffffffffffff82111761149357604052565b90601f8019910116810190811067ffffffffffffffff82111761149357604052565b92919267ffffffffffffffff82116114935760405191611565601f8201601f191660200184611519565b8294818452818301116112d0578281602093846000960137010152565b90600182811c921680156115b2575b602083101461159c57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611591565b600482101561130f5752565b906040516115d5816114a9565b80925460ff811690600282101561130f5790825260081c6001600160a01b031660209190910152565b60243563ffffffff811681036112d05790565b6024359063ffffffff821682036112d057565b90600481101561130f5760ff8019835416911617905556fedebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302859a2646970667358221220b5f6cc48296bf1e93713519c91142497f92e707810481c9a877b923b22334c8464736f6c63430008120033"; type LocalRegistrarConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/core/registrar/index.ts b/typechain-types/factories/contracts/core/registrar/index.ts index 642ad494a..7a5f8a169 100644 --- a/typechain-types/factories/contracts/core/registrar/index.ts +++ b/typechain-types/factories/contracts/core/registrar/index.ts @@ -1,7 +1,7 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -export * as interface from "./interface"; +export * as interfaces from "./interfaces"; export * as lib from "./lib"; export * as registrarSol from "./registrar.sol"; export { LocalRegistrar__factory } from "./LocalRegistrar__factory"; diff --git a/typechain-types/factories/contracts/core/registrar/interface/ILocalRegistrar__factory.ts b/typechain-types/factories/contracts/core/registrar/interfaces/ILocalRegistrar__factory.ts similarity index 99% rename from typechain-types/factories/contracts/core/registrar/interface/ILocalRegistrar__factory.ts rename to typechain-types/factories/contracts/core/registrar/interfaces/ILocalRegistrar__factory.ts index 2847a7869..95329ede8 100644 --- a/typechain-types/factories/contracts/core/registrar/interface/ILocalRegistrar__factory.ts +++ b/typechain-types/factories/contracts/core/registrar/interfaces/ILocalRegistrar__factory.ts @@ -7,7 +7,7 @@ import type { Provider } from "@ethersproject/providers"; import type { ILocalRegistrar, ILocalRegistrarInterface, -} from "../../../../../contracts/core/registrar/interface/ILocalRegistrar"; +} from "../../../../../contracts/core/registrar/interfaces/ILocalRegistrar"; const _abi = [ { diff --git a/typechain-types/factories/contracts/core/registrar/interface/IRegistrar__factory.ts b/typechain-types/factories/contracts/core/registrar/interfaces/IRegistrar__factory.ts similarity index 62% rename from typechain-types/factories/contracts/core/registrar/interface/IRegistrar__factory.ts rename to typechain-types/factories/contracts/core/registrar/interfaces/IRegistrar__factory.ts index d432902cc..8323e3f3d 100644 --- a/typechain-types/factories/contracts/core/registrar/interface/IRegistrar__factory.ts +++ b/typechain-types/factories/contracts/core/registrar/interfaces/IRegistrar__factory.ts @@ -7,626 +7,898 @@ import type { Provider } from "@ethersproject/providers"; import type { IRegistrar, IRegistrarInterface, -} from "../../../../../contracts/core/registrar/interface/IRegistrar"; +} from "../../../../../contracts/core/registrar/interfaces/IRegistrar"; const _abi = [ { - inputs: [], - name: "queryConfig", - outputs: [ + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "string", + name: "chainName", + type: "string", + }, + { + indexed: true, + internalType: "string", + name: "accountsContractAddress", + type: "string", + }, + ], + name: "AccountsContractStorageChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ { components: [ { - internalType: "address", - name: "owner", - type: "address", + internalType: "uint32", + name: "protocolTaxRate", + type: "uint32", }, { - internalType: "address", - name: "applicationsReview", - type: "address", + internalType: "uint32", + name: "protocolTaxBasis", + type: "uint32", }, { internalType: "address", - name: "indexFundContract", + name: "protocolTaxCollector", type: "address", }, { internalType: "address", - name: "accountsContract", + name: "routerAddr", type: "address", }, { internalType: "address", - name: "treasury", + name: "refundAddr", type: "address", }, + ], + indexed: false, + internalType: "struct LocalRegistrarLib.AngelProtocolParams", + name: "newAngelProtocolParams", + type: "tuple", + }, + ], + name: "AngelProtocolParamsChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_tokenAddr", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "_gasFee", + type: "uint256", + }, + ], + name: "GasFeeUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + components: [ { - internalType: "address", - name: "subdaoGovCode", - type: "address", + internalType: "bool", + name: "rebalanceLiquidProfits", + type: "bool", }, { - internalType: "address", - name: "subdaoCw20TokenCode", - type: "address", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "address", - name: "subdaoBondingTokenCode", - type: "address", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { - internalType: "address", - name: "subdaoCw900Code", - type: "address", + internalType: "bool", + name: "lockedPrincipleToLiquid", + type: "bool", }, { - internalType: "address", - name: "subdaoDistributorCode", - type: "address", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", }, { - internalType: "address", - name: "subdaoEmitter", - type: "address", + internalType: "uint32", + name: "basis", + type: "uint32", + }, + ], + indexed: false, + internalType: "struct LocalRegistrarLib.RebalanceParams", + name: "newRebalanceParams", + type: "tuple", + }, + ], + name: "RebalanceParamsChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes4", + name: "_strategyId", + type: "bytes4", + }, + { + indexed: false, + internalType: "enum LocalRegistrarLib.StrategyApprovalState", + name: "_approvalState", + type: "uint8", + }, + ], + name: "StrategyApprovalChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes4", + name: "_strategyId", + type: "bytes4", + }, + { + indexed: true, + internalType: "address", + name: "_lockAddr", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "_liqAddr", + type: "address", + }, + { + indexed: false, + internalType: "enum LocalRegistrarLib.StrategyApprovalState", + name: "_approvalState", + type: "uint8", + }, + ], + name: "StrategyParamsChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "tokenAddr", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "isAccepted", + type: "bool", + }, + ], + name: "TokenAcceptanceChanged", + type: "event", + }, + { + inputs: [ + { + internalType: "string", + name: "_targetChain", + type: "string", + }, + ], + name: "getAccountsContractAddressByChain", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getAngelProtocolParams", + outputs: [ + { + components: [ + { + internalType: "uint32", + name: "protocolTaxRate", + type: "uint32", + }, + { + internalType: "uint32", + name: "protocolTaxBasis", + type: "uint32", }, { internalType: "address", - name: "donationMatchCode", + name: "protocolTaxCollector", type: "address", }, { internalType: "address", - name: "donationMatchCharitesContract", + name: "routerAddr", type: "address", }, { internalType: "address", - name: "donationMatchEmitter", + name: "refundAddr", type: "address", }, + ], + internalType: "struct LocalRegistrarLib.AngelProtocolParams", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddr", + type: "address", + }, + ], + name: "getGasByToken", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getRebalanceParams", + outputs: [ + { + components: [ { - components: [ - { - internalType: "uint256", - name: "max", - type: "uint256", - }, - { - internalType: "uint256", - name: "min", - type: "uint256", - }, - { - internalType: "uint256", - name: "defaultSplit", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.SplitDetails", - name: "splitToLiquid", - type: "tuple", + internalType: "bool", + name: "rebalanceLiquidProfits", + type: "bool", }, { - internalType: "address", - name: "haloToken", - type: "address", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "address", - name: "haloTokenLpContract", - type: "address", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { - internalType: "address", - name: "govContract", - type: "address", + internalType: "bool", + name: "lockedPrincipleToLiquid", + type: "bool", }, { - internalType: "address", - name: "collectorAddr", - type: "address", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", }, { - internalType: "uint256", - name: "collectorShare", - type: "uint256", + internalType: "uint32", + name: "basis", + type: "uint32", }, + ], + internalType: "struct LocalRegistrarLib.RebalanceParams", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "_strategyId", + type: "bytes4", + }, + ], + name: "getStrategyApprovalState", + outputs: [ + { + internalType: "enum LocalRegistrarLib.StrategyApprovalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "_strategyId", + type: "bytes4", + }, + ], + name: "getStrategyParamsById", + outputs: [ + { + components: [ { - internalType: "address", - name: "charitySharesContract", - type: "address", + internalType: "enum LocalRegistrarLib.StrategyApprovalState", + name: "approvalState", + type: "uint8", }, { components: [ { - internalType: "address[]", - name: "cw20", - type: "address[]", + internalType: "enum IVault.VaultType", + name: "Type", + type: "uint8", + }, + { + internalType: "address", + name: "vaultAddr", + type: "address", }, ], - internalType: "struct AngelCoreStruct.AcceptedTokens", - name: "acceptedTokens", + internalType: "struct LocalRegistrarLib.VaultParams", + name: "Locked", type: "tuple", }, - { - internalType: "address", - name: "fundraisingContract", - type: "address", - }, { components: [ { - internalType: "bool", - name: "rebalanceLiquidInvestedProfits", - type: "bool", + internalType: "enum IVault.VaultType", + name: "Type", + type: "uint8", }, { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", - }, - { - internalType: "bool", - name: "lockedPrincipleToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", + internalType: "address", + name: "vaultAddr", + type: "address", }, ], - internalType: "struct AngelCoreStruct.RebalanceDetails", - name: "rebalance", + internalType: "struct LocalRegistrarLib.VaultParams", + name: "Liquid", type: "tuple", }, + ], + internalType: "struct LocalRegistrarLib.StrategyParams", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddr", + type: "address", + }, + ], + name: "isTokenAccepted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "queryAllStrategies", + outputs: [ + { + internalType: "bytes4[]", + name: "allStrategies", + type: "bytes4[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "queryConfig", + outputs: [ + { + components: [ { internalType: "address", - name: "swapsRouter", + name: "applicationsReview", type: "address", }, { internalType: "address", - name: "multisigFactory", + name: "indexFundContract", type: "address", }, { internalType: "address", - name: "multisigEmitter", + name: "accountsContract", type: "address", }, { internalType: "address", - name: "charityProposal", + name: "treasury", type: "address", }, { internalType: "address", - name: "lockedWithdrawal", + name: "subdaoGovContract", type: "address", }, { internalType: "address", - name: "proxyAdmin", + name: "subdaoTokenContract", type: "address", }, { internalType: "address", - name: "usdcAddress", + name: "subdaoBondingTokenContract", type: "address", }, { internalType: "address", - name: "wethAddress", + name: "subdaoCw900Contract", type: "address", }, { internalType: "address", - name: "cw900lvAddress", + name: "subdaoDistributorContract", type: "address", }, - ], - internalType: "struct RegistrarStorage.Config", - name: "", - type: "tuple", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "string", - name: "name", - type: "string", - }, - ], - name: "queryFee", - outputs: [ - { - internalType: "uint256", - name: "response", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "chainId", - type: "uint256", - }, - ], - name: "queryNetworkConnection", - outputs: [ - { - components: [ - { - internalType: "string", - name: "name", - type: "string", - }, { - internalType: "uint256", - name: "chainId", - type: "uint256", + internalType: "address", + name: "subdaoEmitter", + type: "address", }, { internalType: "address", - name: "router", + name: "donationMatchContract", type: "address", }, { internalType: "address", - name: "axelerGateway", + name: "donationMatchCharitesContract", type: "address", }, { - internalType: "string", - name: "ibcChannel", - type: "string", + internalType: "address", + name: "donationMatchEmitter", + type: "address", }, { - internalType: "string", - name: "transferChannel", - type: "string", + components: [ + { + internalType: "uint256", + name: "max", + type: "uint256", + }, + { + internalType: "uint256", + name: "min", + type: "uint256", + }, + { + internalType: "uint256", + name: "defaultSplit", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.SplitDetails", + name: "splitToLiquid", + type: "tuple", }, { internalType: "address", - name: "gasReceiver", + name: "haloToken", type: "address", }, { - internalType: "uint256", - name: "gasLimit", - type: "uint256", + internalType: "address", + name: "haloTokenLpContract", + type: "address", }, - ], - internalType: "struct AngelCoreStruct.NetworkInfo", - name: "response", - type: "tuple", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "string", - name: "_stratagyName", - type: "string", - }, - ], - name: "queryVaultDetails", - outputs: [ - { - components: [ { - internalType: "string", - name: "addr", - type: "string", + internalType: "address", + name: "govContract", + type: "address", }, { internalType: "uint256", - name: "network", + name: "collectorShare", type: "uint256", }, { internalType: "address", - name: "inputDenom", + name: "charitySharesContract", type: "address", }, { internalType: "address", - name: "yieldToken", + name: "fundraisingContract", type: "address", }, { - internalType: "bool", - name: "approved", - type: "bool", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType[]", - name: "restrictedFrom", - type: "uint8[]", - }, - { - internalType: "enum AngelCoreStruct.AccountType", - name: "acctType", - type: "uint8", - }, - { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "uint8", + internalType: "address", + name: "swapsRouter", + type: "address", }, - ], - internalType: "struct AngelCoreStruct.YieldVault", - name: "response", - type: "tuple", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "network", - type: "uint256", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endowmentType", - type: "uint8", - }, - { - internalType: "enum AngelCoreStruct.AccountType", - name: "accountType", - type: "uint8", - }, - { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "uint8", - }, - { - internalType: "enum AngelCoreStruct.BoolOptional", - name: "approved", - type: "uint8", - }, - { - internalType: "uint256", - name: "startAfter", - type: "uint256", - }, - { - internalType: "uint256", - name: "limit", - type: "uint256", - }, - ], - name: "queryVaultList", - outputs: [ - { - components: [ { - internalType: "string", - name: "addr", - type: "string", + internalType: "address", + name: "multisigFactory", + type: "address", }, { - internalType: "uint256", - name: "network", - type: "uint256", + internalType: "address", + name: "multisigEmitter", + type: "address", }, { internalType: "address", - name: "inputDenom", + name: "charityProposal", type: "address", }, { internalType: "address", - name: "yieldToken", + name: "lockedWithdrawal", type: "address", }, { - internalType: "bool", - name: "approved", - type: "bool", + internalType: "address", + name: "proxyAdmin", + type: "address", }, { - internalType: "enum AngelCoreStruct.EndowmentType[]", - name: "restrictedFrom", - type: "uint8[]", + internalType: "address", + name: "usdcAddress", + type: "address", }, { - internalType: "enum AngelCoreStruct.AccountType", - name: "acctType", - type: "uint8", + internalType: "address", + name: "wethAddress", + type: "address", }, { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "uint8", + internalType: "address", + name: "cw900lvAddress", + type: "address", }, ], - internalType: "struct AngelCoreStruct.YieldVault[]", + internalType: "struct RegistrarStorage.Config", name: "", - type: "tuple[]", + type: "tuple", }, ], stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "network", - type: "uint256", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endowmentType", - type: "uint8", - }, - { - internalType: "enum AngelCoreStruct.AccountType", - name: "accountType", - type: "uint8", - }, - { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "uint8", - }, + type: "function", + }, + { + inputs: [ { - internalType: "enum AngelCoreStruct.BoolOptional", - name: "approved", - type: "uint8", + internalType: "string", + name: "name", + type: "string", }, + ], + name: "queryFee", + outputs: [ { internalType: "uint256", - name: "startAfter", + name: "response", type: "uint256", }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ { internalType: "uint256", - name: "limit", + name: "chainId", type: "uint256", }, ], - name: "queryVaultListDep", + name: "queryNetworkConnection", outputs: [ { components: [ { internalType: "string", - name: "addr", + name: "name", type: "string", }, { internalType: "uint256", - name: "network", + name: "chainId", type: "uint256", }, { internalType: "address", - name: "inputDenom", + name: "router", type: "address", }, { internalType: "address", - name: "yieldToken", + name: "axelarGateway", type: "address", }, { - internalType: "bool", - name: "approved", - type: "bool", + internalType: "string", + name: "ibcChannel", + type: "string", }, { - internalType: "enum AngelCoreStruct.EndowmentType[]", - name: "restrictedFrom", - type: "uint8[]", + internalType: "string", + name: "transferChannel", + type: "string", }, { - internalType: "enum AngelCoreStruct.AccountType", - name: "acctType", - type: "uint8", + internalType: "address", + name: "gasReceiver", + type: "address", }, { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "uint8", + internalType: "uint256", + name: "gasLimit", + type: "uint256", }, ], - internalType: "struct AngelCoreStruct.YieldVault[]", - name: "", - type: "tuple[]", + internalType: "struct AngelCoreStruct.NetworkInfo", + name: "response", + type: "tuple", }, ], stateMutability: "view", type: "function", }, { - inputs: [], - name: "testQuery", - outputs: [ + inputs: [ { - internalType: "string[]", - name: "", - type: "string[]", + internalType: "string", + name: "_chainName", + type: "string", + }, + { + internalType: "string", + name: "_accountsContractAddress", + type: "string", }, ], - stateMutability: "view", + name: "setAccountsContractAddressByChain", + outputs: [], + stateMutability: "nonpayable", type: "function", }, { - inputs: [], - name: "testQueryStruct", - outputs: [ + inputs: [ { components: [ { - internalType: "string", - name: "addr", - type: "string", + internalType: "uint32", + name: "protocolTaxRate", + type: "uint32", }, { - internalType: "uint256", - name: "network", - type: "uint256", + internalType: "uint32", + name: "protocolTaxBasis", + type: "uint32", }, { internalType: "address", - name: "inputDenom", + name: "protocolTaxCollector", type: "address", }, { internalType: "address", - name: "yieldToken", + name: "routerAddr", type: "address", }, + { + internalType: "address", + name: "refundAddr", + type: "address", + }, + ], + internalType: "struct LocalRegistrarLib.AngelProtocolParams", + name: "_angelProtocolParams", + type: "tuple", + }, + ], + name: "setAngelProtocolParams", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddr", + type: "address", + }, + { + internalType: "uint256", + name: "_gasFee", + type: "uint256", + }, + ], + name: "setGasByToken", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ { internalType: "bool", - name: "approved", + name: "rebalanceLiquidProfits", type: "bool", }, { - internalType: "enum AngelCoreStruct.EndowmentType[]", - name: "restrictedFrom", - type: "uint8[]", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "enum AngelCoreStruct.AccountType", - name: "acctType", - type: "uint8", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "uint8", + internalType: "bool", + name: "lockedPrincipleToLiquid", + type: "bool", + }, + { + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.YieldVault[]", + internalType: "struct LocalRegistrarLib.RebalanceParams", + name: "_rebalanceParams", + type: "tuple", + }, + ], + name: "setRebalanceParams", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "_strategyId", + type: "bytes4", + }, + { + internalType: "enum LocalRegistrarLib.StrategyApprovalState", + name: "_approvalState", + type: "uint8", + }, + ], + name: "setStrategyApprovalState", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "_strategyId", + type: "bytes4", + }, + { + internalType: "address", + name: "_liqAddr", + type: "address", + }, + { + internalType: "address", + name: "_lockAddr", + type: "address", + }, + { + internalType: "enum LocalRegistrarLib.StrategyApprovalState", + name: "_approvalState", + type: "uint8", + }, + ], + name: "setStrategyParams", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddr", + type: "address", + }, + { + internalType: "bool", + name: "_isAccepted", + type: "bool", + }, + ], + name: "setTokenAccepted", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "testQuery", + outputs: [ + { + internalType: "string[]", name: "", - type: "tuple[]", + type: "string[]", }, ], stateMutability: "view", @@ -641,43 +913,6 @@ const _abi = [ name: "accountsContract", type: "address", }, - { - internalType: "uint256", - name: "taxRate", - type: "uint256", - }, - { - components: [ - { - internalType: "bool", - name: "rebalanceLiquidInvestedProfits", - type: "bool", - }, - { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", - }, - { - internalType: "bool", - name: "lockedPrincipleToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.RebalanceDetails", - name: "rebalance", - type: "tuple", - }, { internalType: "string[]", name: "approved_charities", @@ -703,141 +938,129 @@ const _abi = [ name: "collectorShare", type: "uint256", }, - { - components: [ - { - internalType: "address[]", - name: "cw20", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.AcceptedTokens", - name: "acceptedTokens", - type: "tuple", - }, { internalType: "address", - name: "subdaoGovCode", + name: "indexFundContract", type: "address", }, { internalType: "address", - name: "subdaoCw20TokenCode", + name: "govContract", type: "address", }, { internalType: "address", - name: "subdaoBondingTokenCode", + name: "treasury", type: "address", }, { internalType: "address", - name: "subdaoCw900Code", + name: "donationMatchCharitesContract", type: "address", }, { internalType: "address", - name: "subdaoDistributorCode", + name: "donationMatchEmitter", type: "address", }, { internalType: "address", - name: "subdaoEmitter", + name: "haloToken", type: "address", }, { internalType: "address", - name: "donationMatchCode", + name: "haloTokenLpContract", type: "address", }, { internalType: "address", - name: "indexFundContract", + name: "charitySharesContract", type: "address", }, { internalType: "address", - name: "govContract", + name: "fundraisingContract", type: "address", }, { internalType: "address", - name: "treasury", + name: "applicationsReview", type: "address", }, { internalType: "address", - name: "donationMatchCharitesContract", + name: "swapsRouter", type: "address", }, { internalType: "address", - name: "donationMatchEmitter", + name: "multisigFactory", type: "address", }, { internalType: "address", - name: "haloToken", + name: "multisigEmitter", type: "address", }, { internalType: "address", - name: "haloTokenLpContract", + name: "charityProposal", type: "address", }, { internalType: "address", - name: "charitySharesContract", + name: "lockedWithdrawal", type: "address", }, { internalType: "address", - name: "fundraisingContract", + name: "proxyAdmin", type: "address", }, { internalType: "address", - name: "applicationsReview", + name: "usdcAddress", type: "address", }, { internalType: "address", - name: "swapsRouter", + name: "wethAddress", type: "address", }, { internalType: "address", - name: "multisigFactory", + name: "subdaoGovContract", type: "address", }, { internalType: "address", - name: "multisigEmitter", + name: "subdaoTokenContract", type: "address", }, { internalType: "address", - name: "charityProposal", + name: "subdaoBondingTokenContract", type: "address", }, { internalType: "address", - name: "lockedWithdrawal", + name: "subdaoCw900Contract", type: "address", }, { internalType: "address", - name: "proxyAdmin", + name: "subdaoDistributorContract", type: "address", }, { internalType: "address", - name: "usdcAddress", + name: "subdaoEmitter", type: "address", }, { internalType: "address", - name: "wethAddress", + name: "donationMatchContract", type: "address", }, { @@ -847,7 +1070,7 @@ const _abi = [ }, ], internalType: "struct RegistrarMessages.UpdateConfigRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -872,7 +1095,7 @@ const _abi = [ }, ], internalType: "struct RegistrarMessages.UpdateFeeRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -902,7 +1125,7 @@ const _abi = [ }, { internalType: "address", - name: "axelerGateway", + name: "axelarGateway", type: "address", }, { @@ -995,7 +1218,7 @@ const _abi = [ }, ], internalType: "struct RegistrarMessages.VaultAddRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -1026,12 +1249,12 @@ const _abi = [ }, { internalType: "bool", - name: "curApproved", + name: "approved", type: "bool", }, { internalType: "enum AngelCoreStruct.EndowmentType[]", - name: "curRestrictedfrom", + name: "restrictedfrom", type: "uint8[]", }, ], diff --git a/typechain-types/factories/contracts/core/registrar/interface/index.ts b/typechain-types/factories/contracts/core/registrar/interfaces/index.ts similarity index 100% rename from typechain-types/factories/contracts/core/registrar/interface/index.ts rename to typechain-types/factories/contracts/core/registrar/interfaces/index.ts diff --git a/typechain-types/factories/contracts/core/registrar/lib/RegistrarEventsLib__factory.ts b/typechain-types/factories/contracts/core/registrar/lib/RegistrarEventsLib__factory.ts index 43ce384e9..0b76a9e9f 100644 --- a/typechain-types/factories/contracts/core/registrar/lib/RegistrarEventsLib__factory.ts +++ b/typechain-types/factories/contracts/core/registrar/lib/RegistrarEventsLib__factory.ts @@ -10,67 +10,6 @@ import type { } from "../../../../../contracts/core/registrar/lib/RegistrarEventsLib"; const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "string", - name: "strategyName", - type: "string", - }, - { - components: [ - { - internalType: "string", - name: "addr", - type: "string", - }, - { - internalType: "uint256", - name: "network", - type: "uint256", - }, - { - internalType: "address", - name: "inputDenom", - type: "address", - }, - { - internalType: "address", - name: "yieldToken", - type: "address", - }, - { - internalType: "bool", - name: "approved", - type: "bool", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType[]", - name: "restrictedFrom", - type: "uint8[]", - }, - { - internalType: "enum AngelCoreStruct.AccountType", - name: "acctType", - type: "uint8", - }, - { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "uint8", - }, - ], - indexed: false, - internalType: "struct AngelCoreStruct.YieldVault", - name: "vault", - type: "tuple", - }, - ], - name: "AddVault", - type: "event", - }, { anonymous: false, inputs: [ @@ -112,7 +51,7 @@ const _abi = [ }, { internalType: "address", - name: "axelerGateway", + name: "axelarGateway", type: "address", }, { @@ -145,29 +84,11 @@ const _abi = [ name: "PostNetworkConnection", type: "event", }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "string", - name: "strategyName", - type: "string", - }, - ], - name: "RemoveVault", - type: "event", - }, { anonymous: false, inputs: [ { components: [ - { - internalType: "address", - name: "owner", - type: "address", - }, { internalType: "address", name: "applicationsReview", @@ -190,27 +111,27 @@ const _abi = [ }, { internalType: "address", - name: "subdaoGovCode", + name: "subdaoGovContract", type: "address", }, { internalType: "address", - name: "subdaoCw20TokenCode", + name: "subdaoTokenContract", type: "address", }, { internalType: "address", - name: "subdaoBondingTokenCode", + name: "subdaoBondingTokenContract", type: "address", }, { internalType: "address", - name: "subdaoCw900Code", + name: "subdaoCw900Contract", type: "address", }, { internalType: "address", - name: "subdaoDistributorCode", + name: "subdaoDistributorContract", type: "address", }, { @@ -220,7 +141,7 @@ const _abi = [ }, { internalType: "address", - name: "donationMatchCode", + name: "donationMatchContract", type: "address", }, { @@ -270,11 +191,6 @@ const _abi = [ name: "govContract", type: "address", }, - { - internalType: "address", - name: "collectorAddr", - type: "address", - }, { internalType: "uint256", name: "collectorShare", @@ -285,55 +201,11 @@ const _abi = [ name: "charitySharesContract", type: "address", }, - { - components: [ - { - internalType: "address[]", - name: "cw20", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.AcceptedTokens", - name: "acceptedTokens", - type: "tuple", - }, { internalType: "address", name: "fundraisingContract", type: "address", }, - { - components: [ - { - internalType: "bool", - name: "rebalanceLiquidInvestedProfits", - type: "bool", - }, - { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", - }, - { - internalType: "bool", - name: "lockedPrincipleToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.RebalanceDetails", - name: "rebalance", - type: "tuple", - }, { internalType: "address", name: "swapsRouter", @@ -427,35 +299,10 @@ const _abi = [ name: "UpdateRegistrarOwner", type: "event", }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "string", - name: "strategyName", - type: "string", - }, - { - indexed: false, - internalType: "bool", - name: "approved", - type: "bool", - }, - { - indexed: false, - internalType: "enum AngelCoreStruct.EndowmentType[]", - name: "endowmentTypes", - type: "uint8[]", - }, - ], - name: "UpdateVault", - type: "event", - }, ] as const; const _bytecode = - "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220313523e9500fb12ec9669abb77856c87f7f1bbe77da8db83a348b1c7a9ac4f7f64736f6c63430008120033"; + "0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220899bd3ae5c11ff5a57fb02c33ba4b8fef84d3d04ab39d33399919ef596c1c69864736f6c63430008120033"; type RegistrarEventsLibConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/core/registrar/registrar.sol/RegistrarLib__factory.ts b/typechain-types/factories/contracts/core/registrar/registrar.sol/RegistrarLib__factory.ts deleted file mode 100644 index 4c4c2baf6..000000000 --- a/typechain-types/factories/contracts/core/registrar/registrar.sol/RegistrarLib__factory.ts +++ /dev/null @@ -1,149 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { PromiseOrValue } from "../../../../../common"; -import type { - RegistrarLib, - RegistrarLibInterface, -} from "../../../../../contracts/core/registrar/registrar.sol/RegistrarLib"; - -const _abi = [ - { - inputs: [ - { - components: [ - { - internalType: "string", - name: "addr", - type: "string", - }, - { - internalType: "uint256", - name: "network", - type: "uint256", - }, - { - internalType: "address", - name: "inputDenom", - type: "address", - }, - { - internalType: "address", - name: "yieldToken", - type: "address", - }, - { - internalType: "bool", - name: "approved", - type: "bool", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType[]", - name: "restrictedFrom", - type: "AngelCoreStruct.EndowmentType[]", - }, - { - internalType: "enum AngelCoreStruct.AccountType", - name: "acctType", - type: "AngelCoreStruct.AccountType", - }, - { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "AngelCoreStruct.VaultType", - }, - ], - internalType: "struct AngelCoreStruct.YieldVault", - name: "data", - type: "tuple", - }, - { - internalType: "uint256", - name: "network", - type: "uint256", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endowmentType", - type: "AngelCoreStruct.EndowmentType", - }, - { - internalType: "enum AngelCoreStruct.AccountType", - name: "accountType", - type: "AngelCoreStruct.AccountType", - }, - { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "AngelCoreStruct.VaultType", - }, - { - internalType: "enum AngelCoreStruct.BoolOptional", - name: "approved", - type: "AngelCoreStruct.BoolOptional", - }, - ], - name: "filterVault", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "pure", - type: "function", - }, -] as const; - -const _bytecode = - "0x6080806040523461001a576104899081610020823930815050f35b600080fdfe60806004908136101561001157600080fd5b600091823560e01c63c5795f911461002857600080fd5b6003199060c0368301126102305780359267ffffffffffffffff928385116101d057610100809186360301126101d05781018181108482111761021d57604052838201358381116101d057840193366023860112156101d057828501359380851161020a57602095876100a3601f8801601f19168901610234565b91878352602497368982840101116102065780898b93018386013783010152835284820135868401526100d860448301610270565b60408401526100e960648301610270565b6060840152608482013580151581036101c857608084015260a48201358181116101c8578201366023820112156101c857848101359182116101f4578160051b8688610136818401610234565b809581520191830101913683116101f0578701905b8282106101d45750505060a083015260c48101359060038210156101cc5760e49160c08401520135828110156101d05760e082015260443560038110156101d0576064359160038310156101cc57608435938410156101cc5760a4359460038610156101c8576101be96975035906102a9565b6040519015158152f35b8780fd5b8680fd5b8580fd5b813560038110156101ec57815290880190880161014b565b8a80fd5b8980fd5b634e487b7160e01b8852604185528588fd5b8280fd5b634e487b7160e01b875260418452602487fd5b634e487b7160e01b865260418352602486fd5b8380fd5b6040519190601f01601f1916820167ffffffffffffffff81118382101761025a57604052565b634e487b7160e01b600052604160045260246000fd5b35906001600160a01b038216820361028457565b600080fd5b6003111561029357565b634e487b7160e01b600052602160045260246000fd5b93929190946102b781610289565b600281036103fe575b506102ca81610289565b6002810361036f575b506102dd81610289565b6002810361033c575b506004811015610293576003810361031c575b5081610307575b5050600190565b6020015103610317573880610300565b600090565b60e08201516004811015610293570361033557386102f9565b5050600090565b60c083015161034a81610289565b61035382610289565b61035c81610289565b0361036757386102e6565b505050600090565b9390949192600093845b60a083015180518210156103e357602088918360051b01015161039b81610289565b6103a482610289565b6103ad81610289565b146103da575b60001981146103c457600101610379565b634e487b7160e01b600052601160045260246000fd5b600195506103b3565b50509295919450926103f557386102d3565b50505050600090565b61040781610289565b60018114610439575b61041981610289565b15610425575b386102c0565b60808401511561041f575050505050600090565b60016080860151151503156104105750505050505060009056fea264697066735822122010bcd7ef9b69d65150eb9917eef9b0cb650179e84ea93e9f6638c434c795be8764736f6c63430008120033"; - -type RegistrarLibConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: RegistrarLibConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class RegistrarLib__factory extends ContractFactory { - constructor(...args: RegistrarLibConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - override deploy( - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - override getDeployTransaction( - overrides?: Overrides & { from?: PromiseOrValue } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - override attach(address: string): RegistrarLib { - return super.attach(address) as RegistrarLib; - } - override connect(signer: Signer): RegistrarLib__factory { - return super.connect(signer) as RegistrarLib__factory; - } - - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): RegistrarLibInterface { - return new utils.Interface(_abi) as RegistrarLibInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): RegistrarLib { - return new Contract(address, _abi, signerOrProvider) as RegistrarLib; - } -} diff --git a/typechain-types/factories/contracts/core/registrar/registrar.sol/Registrar__factory.ts b/typechain-types/factories/contracts/core/registrar/registrar.sol/Registrar__factory.ts index 70736e3ca..13a33d2ec 100644 --- a/typechain-types/factories/contracts/core/registrar/registrar.sol/Registrar__factory.ts +++ b/typechain-types/factories/contracts/core/registrar/registrar.sol/Registrar__factory.ts @@ -10,65 +10,68 @@ import type { } from "../../../../../contracts/core/registrar/registrar.sol/Registrar"; const _abi = [ + { + inputs: [], + stateMutability: "nonpayable", + type: "constructor", + }, { anonymous: false, inputs: [ { - indexed: false, + indexed: true, + internalType: "string", + name: "chainName", + type: "string", + }, + { + indexed: true, internalType: "string", - name: "strategyName", + name: "accountsContractAddress", type: "string", }, + ], + name: "AccountsContractStorageChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ { components: [ { - internalType: "string", - name: "addr", - type: "string", + internalType: "uint32", + name: "protocolTaxRate", + type: "uint32", }, { - internalType: "uint256", - name: "network", - type: "uint256", + internalType: "uint32", + name: "protocolTaxBasis", + type: "uint32", }, { internalType: "address", - name: "inputDenom", + name: "protocolTaxCollector", type: "address", }, { internalType: "address", - name: "yieldToken", + name: "routerAddr", type: "address", }, { - internalType: "bool", - name: "approved", - type: "bool", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType[]", - name: "restrictedFrom", - type: "uint8[]", - }, - { - internalType: "enum AngelCoreStruct.AccountType", - name: "acctType", - type: "uint8", - }, - { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "uint8", + internalType: "address", + name: "refundAddr", + type: "address", }, ], indexed: false, - internalType: "struct AngelCoreStruct.YieldVault", - name: "vault", + internalType: "struct LocalRegistrarLib.AngelProtocolParams", + name: "newAngelProtocolParams", type: "tuple", }, ], - name: "AddVault", + name: "AngelProtocolParamsChanged", type: "event", }, { @@ -84,6 +87,57 @@ const _abi = [ name: "DeleteNetworkConnection", type: "event", }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "_tokenAddr", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "_gasFee", + type: "uint256", + }, + ], + name: "GasFeeUpdated", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "uint8", + name: "version", + type: "uint8", + }, + ], + name: "Initialized", + 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: [ @@ -112,7 +166,7 @@ const _abi = [ }, { internalType: "address", - name: "axelerGateway", + name: "axelarGateway", type: "address", }, { @@ -149,13 +203,114 @@ const _abi = [ anonymous: false, inputs: [ { + components: [ + { + internalType: "bool", + name: "rebalanceLiquidProfits", + type: "bool", + }, + { + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", + }, + { + internalType: "uint32", + name: "interestDistribution", + type: "uint32", + }, + { + internalType: "bool", + name: "lockedPrincipleToLiquid", + type: "bool", + }, + { + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", + }, + ], indexed: false, - internalType: "string", - name: "strategyName", - type: "string", + internalType: "struct LocalRegistrarLib.RebalanceParams", + name: "newRebalanceParams", + type: "tuple", + }, + ], + name: "RebalanceParamsChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes4", + name: "_strategyId", + type: "bytes4", + }, + { + indexed: false, + internalType: "enum LocalRegistrarLib.StrategyApprovalState", + name: "_approvalState", + type: "uint8", + }, + ], + name: "StrategyApprovalChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "bytes4", + name: "_strategyId", + type: "bytes4", + }, + { + indexed: true, + internalType: "address", + name: "_lockAddr", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "_liqAddr", + type: "address", + }, + { + indexed: false, + internalType: "enum LocalRegistrarLib.StrategyApprovalState", + name: "_approvalState", + type: "uint8", + }, + ], + name: "StrategyParamsChanged", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "tokenAddr", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "isAccepted", + type: "bool", }, ], - name: "RemoveVault", + name: "TokenAcceptanceChanged", type: "event", }, { @@ -163,11 +318,6 @@ const _abi = [ inputs: [ { components: [ - { - internalType: "address", - name: "owner", - type: "address", - }, { internalType: "address", name: "applicationsReview", @@ -190,27 +340,27 @@ const _abi = [ }, { internalType: "address", - name: "subdaoGovCode", + name: "subdaoGovContract", type: "address", }, { internalType: "address", - name: "subdaoCw20TokenCode", + name: "subdaoTokenContract", type: "address", }, { internalType: "address", - name: "subdaoBondingTokenCode", + name: "subdaoBondingTokenContract", type: "address", }, { internalType: "address", - name: "subdaoCw900Code", + name: "subdaoCw900Contract", type: "address", }, { internalType: "address", - name: "subdaoDistributorCode", + name: "subdaoDistributorContract", type: "address", }, { @@ -220,7 +370,7 @@ const _abi = [ }, { internalType: "address", - name: "donationMatchCode", + name: "donationMatchContract", type: "address", }, { @@ -270,11 +420,6 @@ const _abi = [ name: "govContract", type: "address", }, - { - internalType: "address", - name: "collectorAddr", - type: "address", - }, { internalType: "uint256", name: "collectorShare", @@ -285,55 +430,11 @@ const _abi = [ name: "charitySharesContract", type: "address", }, - { - components: [ - { - internalType: "address[]", - name: "cw20", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.AcceptedTokens", - name: "acceptedTokens", - type: "tuple", - }, { internalType: "address", name: "fundraisingContract", type: "address", }, - { - components: [ - { - internalType: "bool", - name: "rebalanceLiquidInvestedProfits", - type: "bool", - }, - { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", - }, - { - internalType: "bool", - name: "lockedPrincipleToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.RebalanceDetails", - name: "rebalance", - type: "tuple", - }, { internalType: "address", name: "swapsRouter", @@ -415,121 +516,263 @@ const _abi = [ type: "event", }, { - anonymous: false, - inputs: [ + inputs: [], + name: "getAPGoldfinchParams", + outputs: [ { - indexed: false, - internalType: "address", - name: "newOwner", - type: "address", + components: [ + { + components: [ + { + internalType: "uint256", + name: "allowedSlippage", + type: "uint256", + }, + ], + internalType: "struct APGoldfinchConfigLib.CRVParams", + name: "crvParams", + type: "tuple", + }, + ], + internalType: "struct APGoldfinchConfigLib.APGoldfinchConfig", + name: "", + type: "tuple", }, ], - name: "UpdateRegistrarOwner", - type: "event", + stateMutability: "pure", + type: "function", }, { - anonymous: false, inputs: [ { - indexed: false, internalType: "string", - name: "strategyName", + name: "_targetChain", type: "string", }, + ], + name: "getAccountsContractAddressByChain", + outputs: [ { - indexed: false, - internalType: "bool", - name: "approved", - type: "bool", - }, - { - indexed: false, - internalType: "enum AngelCoreStruct.EndowmentType[]", - name: "endowmentTypes", - type: "uint8[]", + internalType: "string", + name: "", + type: "string", }, ], - name: "UpdateVault", - type: "event", + stateMutability: "view", + type: "function", }, { - inputs: [ + inputs: [], + name: "getAngelProtocolParams", + outputs: [ { components: [ + { + internalType: "uint32", + name: "protocolTaxRate", + type: "uint32", + }, + { + internalType: "uint32", + name: "protocolTaxBasis", + type: "uint32", + }, { internalType: "address", - name: "treasury", + name: "protocolTaxCollector", type: "address", }, { - internalType: "uint256", - name: "taxRate", - type: "uint256", + internalType: "address", + name: "routerAddr", + type: "address", }, { - components: [ - { - internalType: "bool", - name: "rebalanceLiquidInvestedProfits", - type: "bool", - }, - { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", - }, - { - internalType: "bool", - name: "lockedPrincipleToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.RebalanceDetails", - name: "rebalance", - type: "tuple", + internalType: "address", + name: "refundAddr", + type: "address", }, - { - components: [ - { - internalType: "uint256", - name: "max", - type: "uint256", - }, - { - internalType: "uint256", - name: "min", - type: "uint256", - }, - { - internalType: "uint256", - name: "defaultSplit", - type: "uint256", + ], + internalType: "struct LocalRegistrarLib.AngelProtocolParams", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddr", + type: "address", + }, + ], + name: "getGasByToken", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "getRebalanceParams", + outputs: [ + { + components: [ + { + internalType: "bool", + name: "rebalanceLiquidProfits", + type: "bool", + }, + { + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", + }, + { + internalType: "uint32", + name: "interestDistribution", + type: "uint32", + }, + { + internalType: "bool", + name: "lockedPrincipleToLiquid", + type: "bool", + }, + { + internalType: "uint32", + name: "principleDistribution", + type: "uint32", + }, + { + internalType: "uint32", + name: "basis", + type: "uint32", + }, + ], + internalType: "struct LocalRegistrarLib.RebalanceParams", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "_strategyId", + type: "bytes4", + }, + ], + name: "getStrategyApprovalState", + outputs: [ + { + internalType: "enum LocalRegistrarLib.StrategyApprovalState", + name: "", + type: "uint8", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "_strategyId", + type: "bytes4", + }, + ], + name: "getStrategyParamsById", + outputs: [ + { + components: [ + { + internalType: "enum LocalRegistrarLib.StrategyApprovalState", + name: "approvalState", + type: "uint8", + }, + { + components: [ + { + internalType: "enum IVault.VaultType", + name: "Type", + type: "uint8", + }, + { + internalType: "address", + name: "vaultAddr", + type: "address", }, ], - internalType: "struct AngelCoreStruct.SplitDetails", - name: "splitToLiquid", + internalType: "struct LocalRegistrarLib.VaultParams", + name: "Locked", type: "tuple", }, { components: [ { - internalType: "address[]", - name: "cw20", - type: "address[]", + internalType: "enum IVault.VaultType", + name: "Type", + type: "uint8", + }, + { + internalType: "address", + name: "vaultAddr", + type: "address", }, ], - internalType: "struct AngelCoreStruct.AcceptedTokens", - name: "acceptedTokens", + internalType: "struct LocalRegistrarLib.VaultParams", + name: "Liquid", + type: "tuple", + }, + ], + internalType: "struct LocalRegistrarLib.StrategyParams", + name: "", + type: "tuple", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + components: [ + { + internalType: "address", + name: "treasury", + type: "address", + }, + { + components: [ + { + internalType: "uint256", + name: "max", + type: "uint256", + }, + { + internalType: "uint256", + name: "min", + type: "uint256", + }, + { + internalType: "uint256", + name: "defaultSplit", + type: "uint256", + }, + ], + internalType: "struct AngelCoreStruct.SplitDetails", + name: "splitToLiquid", type: "tuple", }, { @@ -539,12 +782,17 @@ const _abi = [ }, { internalType: "address", - name: "axelerGateway", + name: "axelarGateway", + type: "address", + }, + { + internalType: "address", + name: "axelarGasRecv", type: "address", }, ], internalType: "struct RegistrarMessages.InstantiateRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -553,17 +801,64 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, + { + inputs: [], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "_tokenAddr", + type: "address", + }, + ], + name: "isTokenAccepted", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "queryAllStrategies", + outputs: [ + { + internalType: "bytes4[]", + name: "allStrategies", + type: "bytes4[]", + }, + ], + stateMutability: "view", + type: "function", + }, { inputs: [], name: "queryConfig", outputs: [ { components: [ - { - internalType: "address", - name: "owner", - type: "address", - }, { internalType: "address", name: "applicationsReview", @@ -586,27 +881,27 @@ const _abi = [ }, { internalType: "address", - name: "subdaoGovCode", + name: "subdaoGovContract", type: "address", }, { internalType: "address", - name: "subdaoCw20TokenCode", + name: "subdaoTokenContract", type: "address", }, { internalType: "address", - name: "subdaoBondingTokenCode", + name: "subdaoBondingTokenContract", type: "address", }, { internalType: "address", - name: "subdaoCw900Code", + name: "subdaoCw900Contract", type: "address", }, { internalType: "address", - name: "subdaoDistributorCode", + name: "subdaoDistributorContract", type: "address", }, { @@ -616,7 +911,7 @@ const _abi = [ }, { internalType: "address", - name: "donationMatchCode", + name: "donationMatchContract", type: "address", }, { @@ -666,11 +961,6 @@ const _abi = [ name: "govContract", type: "address", }, - { - internalType: "address", - name: "collectorAddr", - type: "address", - }, { internalType: "uint256", name: "collectorShare", @@ -681,55 +971,11 @@ const _abi = [ name: "charitySharesContract", type: "address", }, - { - components: [ - { - internalType: "address[]", - name: "cw20", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.AcceptedTokens", - name: "acceptedTokens", - type: "tuple", - }, { internalType: "address", name: "fundraisingContract", type: "address", }, - { - components: [ - { - internalType: "bool", - name: "rebalanceLiquidInvestedProfits", - type: "bool", - }, - { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", - }, - { - internalType: "bool", - name: "lockedPrincipleToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.RebalanceDetails", - name: "rebalance", - type: "tuple", - }, { internalType: "address", name: "swapsRouter", @@ -832,7 +1078,7 @@ const _abi = [ }, { internalType: "address", - name: "axelerGateway", + name: "axelarGateway", type: "address", }, { @@ -864,247 +1110,236 @@ const _abi = [ stateMutability: "view", type: "function", }, + { + inputs: [], + name: "renounceOwnership", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + components: [ + { + components: [ + { + internalType: "uint256", + name: "allowedSlippage", + type: "uint256", + }, + ], + internalType: "struct APGoldfinchConfigLib.CRVParams", + name: "crvParams", + type: "tuple", + }, + ], + internalType: "struct APGoldfinchConfigLib.APGoldfinchConfig", + name: "_apGoldfinch", + type: "tuple", + }, + ], + name: "setAPGoldfinchParams", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, { inputs: [ { internalType: "string", - name: "_stratagyName", + name: "_chainName", + type: "string", + }, + { + internalType: "string", + name: "_accountsContractAddress", type: "string", }, ], - name: "queryVaultDetails", - outputs: [ + name: "setAccountsContractAddressByChain", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ { components: [ { - internalType: "string", - name: "addr", - type: "string", + internalType: "uint32", + name: "protocolTaxRate", + type: "uint32", }, { - internalType: "uint256", - name: "network", - type: "uint256", + internalType: "uint32", + name: "protocolTaxBasis", + type: "uint32", }, { internalType: "address", - name: "inputDenom", + name: "protocolTaxCollector", type: "address", }, { internalType: "address", - name: "yieldToken", + name: "routerAddr", type: "address", }, { - internalType: "bool", - name: "approved", - type: "bool", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType[]", - name: "restrictedFrom", - type: "uint8[]", - }, - { - internalType: "enum AngelCoreStruct.AccountType", - name: "acctType", - type: "uint8", - }, - { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "uint8", + internalType: "address", + name: "refundAddr", + type: "address", }, ], - internalType: "struct AngelCoreStruct.YieldVault", - name: "response", + internalType: "struct LocalRegistrarLib.AngelProtocolParams", + name: "_angelProtocolParams", type: "tuple", }, ], - stateMutability: "view", + name: "setAngelProtocolParams", + outputs: [], + stateMutability: "nonpayable", type: "function", }, { inputs: [ { - internalType: "uint256", - name: "network", - type: "uint256", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endowmentType", - type: "uint8", - }, - { - internalType: "enum AngelCoreStruct.AccountType", - name: "accountType", - type: "uint8", - }, - { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "uint8", - }, - { - internalType: "enum AngelCoreStruct.BoolOptional", - name: "approved", - type: "uint8", - }, - { - internalType: "uint256", - name: "startAfter", - type: "uint256", + internalType: "address", + name: "_tokenAddr", + type: "address", }, { internalType: "uint256", - name: "limit", + name: "_gasFee", type: "uint256", }, ], - name: "queryVaultList", - outputs: [ + name: "setGasByToken", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ { components: [ { - internalType: "string", - name: "addr", - type: "string", - }, - { - internalType: "uint256", - name: "network", - type: "uint256", + internalType: "bool", + name: "rebalanceLiquidProfits", + type: "bool", }, { - internalType: "address", - name: "inputDenom", - type: "address", + internalType: "uint32", + name: "lockedRebalanceToLiquid", + type: "uint32", }, { - internalType: "address", - name: "yieldToken", - type: "address", + internalType: "uint32", + name: "interestDistribution", + type: "uint32", }, { internalType: "bool", - name: "approved", + name: "lockedPrincipleToLiquid", type: "bool", }, { - internalType: "enum AngelCoreStruct.EndowmentType[]", - name: "restrictedFrom", - type: "uint8[]", - }, - { - internalType: "enum AngelCoreStruct.AccountType", - name: "acctType", - type: "uint8", + internalType: "uint32", + name: "principleDistribution", + type: "uint32", }, { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "uint8", + internalType: "uint32", + name: "basis", + type: "uint32", }, ], - internalType: "struct AngelCoreStruct.YieldVault[]", - name: "", - type: "tuple[]", + internalType: "struct LocalRegistrarLib.RebalanceParams", + name: "_rebalanceParams", + type: "tuple", }, ], - stateMutability: "view", + name: "setRebalanceParams", + outputs: [], + stateMutability: "nonpayable", type: "function", }, { inputs: [ { - internalType: "uint256", - name: "network", - type: "uint256", + internalType: "bytes4", + name: "_strategyId", + type: "bytes4", }, { - internalType: "enum AngelCoreStruct.EndowmentType", - name: "endowmentType", + internalType: "enum LocalRegistrarLib.StrategyApprovalState", + name: "_approvalState", type: "uint8", }, + ], + name: "setStrategyApprovalState", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "_strategyId", + type: "bytes4", + }, { - internalType: "enum AngelCoreStruct.AccountType", - name: "accountType", - type: "uint8", + internalType: "address", + name: "_lockAddr", + type: "address", }, { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "uint8", + internalType: "address", + name: "_liqAddr", + type: "address", }, { - internalType: "enum AngelCoreStruct.BoolOptional", - name: "approved", + internalType: "enum LocalRegistrarLib.StrategyApprovalState", + name: "_approvalState", type: "uint8", }, + ], + name: "setStrategyParams", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ { - internalType: "uint256", - name: "startAfter", - type: "uint256", + internalType: "address", + name: "_tokenAddr", + type: "address", }, { - internalType: "uint256", - name: "limit", - type: "uint256", + internalType: "bool", + name: "_isAccepted", + type: "bool", }, ], - name: "queryVaultListDep", - outputs: [ + name: "setTokenAccepted", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ { - components: [ - { - internalType: "string", - name: "addr", - type: "string", - }, - { - internalType: "uint256", - name: "network", - type: "uint256", - }, - { - internalType: "address", - name: "inputDenom", - type: "address", - }, - { - internalType: "address", - name: "yieldToken", - type: "address", - }, - { - internalType: "bool", - name: "approved", - type: "bool", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType[]", - name: "restrictedFrom", - type: "uint8[]", - }, - { - internalType: "enum AngelCoreStruct.AccountType", - name: "acctType", - type: "uint8", - }, - { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "uint8", - }, - ], - internalType: "struct AngelCoreStruct.YieldVault[]", - name: "", - type: "tuple[]", + internalType: "address", + name: "newOwner", + type: "address", }, ], - stateMutability: "view", + name: "transferOwnership", + outputs: [], + stateMutability: "nonpayable", type: "function", }, { @@ -1116,43 +1351,6 @@ const _abi = [ name: "accountsContract", type: "address", }, - { - internalType: "uint256", - name: "taxRate", - type: "uint256", - }, - { - components: [ - { - internalType: "bool", - name: "rebalanceLiquidInvestedProfits", - type: "bool", - }, - { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", - }, - { - internalType: "bool", - name: "lockedPrincipleToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.RebalanceDetails", - name: "rebalance", - type: "tuple", - }, { internalType: "string[]", name: "approved_charities", @@ -1178,141 +1376,129 @@ const _abi = [ name: "collectorShare", type: "uint256", }, - { - components: [ - { - internalType: "address[]", - name: "cw20", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.AcceptedTokens", - name: "acceptedTokens", - type: "tuple", - }, { internalType: "address", - name: "subdaoGovCode", + name: "indexFundContract", type: "address", }, { internalType: "address", - name: "subdaoCw20TokenCode", + name: "govContract", type: "address", }, { internalType: "address", - name: "subdaoBondingTokenCode", + name: "treasury", type: "address", }, { internalType: "address", - name: "subdaoCw900Code", + name: "donationMatchCharitesContract", type: "address", }, { internalType: "address", - name: "subdaoDistributorCode", + name: "donationMatchEmitter", type: "address", }, { internalType: "address", - name: "subdaoEmitter", + name: "haloToken", type: "address", }, { internalType: "address", - name: "donationMatchCode", + name: "haloTokenLpContract", type: "address", }, { internalType: "address", - name: "indexFundContract", + name: "charitySharesContract", type: "address", }, { internalType: "address", - name: "govContract", + name: "fundraisingContract", type: "address", }, { internalType: "address", - name: "treasury", + name: "applicationsReview", type: "address", }, { internalType: "address", - name: "donationMatchCharitesContract", + name: "swapsRouter", type: "address", }, { internalType: "address", - name: "donationMatchEmitter", + name: "multisigFactory", type: "address", }, { internalType: "address", - name: "haloToken", + name: "multisigEmitter", type: "address", }, { internalType: "address", - name: "haloTokenLpContract", + name: "charityProposal", type: "address", }, { internalType: "address", - name: "charitySharesContract", + name: "lockedWithdrawal", type: "address", }, { internalType: "address", - name: "fundraisingContract", + name: "proxyAdmin", type: "address", }, { internalType: "address", - name: "applicationsReview", + name: "usdcAddress", type: "address", }, { internalType: "address", - name: "swapsRouter", + name: "wethAddress", type: "address", }, { internalType: "address", - name: "multisigFactory", + name: "subdaoGovContract", type: "address", }, { internalType: "address", - name: "multisigEmitter", + name: "subdaoTokenContract", type: "address", }, { internalType: "address", - name: "charityProposal", + name: "subdaoBondingTokenContract", type: "address", }, { internalType: "address", - name: "lockedWithdrawal", + name: "subdaoCw900Contract", type: "address", }, { internalType: "address", - name: "proxyAdmin", + name: "subdaoDistributorContract", type: "address", }, { internalType: "address", - name: "usdcAddress", + name: "subdaoEmitter", type: "address", }, { internalType: "address", - name: "wethAddress", + name: "donationMatchContract", type: "address", }, { @@ -1322,7 +1508,7 @@ const _abi = [ }, ], internalType: "struct RegistrarMessages.UpdateConfigRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -1347,7 +1533,7 @@ const _abi = [ }, ], internalType: "struct RegistrarMessages.UpdateFeeRequest", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -1377,7 +1563,7 @@ const _abi = [ }, { internalType: "address", - name: "axelerGateway", + name: "axelarGateway", type: "address", }, { @@ -1416,160 +1602,28 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, - { - inputs: [ - { - internalType: "address", - name: "newOwner", - type: "address", - }, - ], - name: "updateOwner", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint256", - name: "network", - type: "uint256", - }, - { - internalType: "string", - name: "stratagyName", - type: "string", - }, - { - internalType: "address", - name: "inputDenom", - type: "address", - }, - { - internalType: "address", - name: "yieldToken", - type: "address", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType[]", - name: "restrictedFrom", - type: "uint8[]", - }, - { - internalType: "enum AngelCoreStruct.AccountType", - name: "acctType", - type: "uint8", - }, - { - internalType: "enum AngelCoreStruct.VaultType", - name: "vaultType", - type: "uint8", - }, - ], - internalType: "struct RegistrarMessages.VaultAddRequest", - name: "curDetails", - type: "tuple", - }, - ], - name: "vaultAdd", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "string", - name: "_stratagyName", - type: "string", - }, - ], - name: "vaultRemove", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "string", - name: "_stratagyName", - type: "string", - }, - { - internalType: "bool", - name: "curApproved", - type: "bool", - }, - { - internalType: "enum AngelCoreStruct.EndowmentType[]", - name: "curRestrictedfrom", - type: "uint8[]", - }, - ], - name: "vaultUpdate", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, ] as const; const _bytecode = - "0x608080604052346100255760ff19602a5416602a556001602b55615341908161002b8239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816305b5f13114612f785750806309025fd414612e1a5780631cf5f9ad14612a23578063513904241461272f5780636389ed1f14611dbf5780637d2d1bbe14611b7f578063820d0f1514611a805780638729b08f14610e40578063880cdc3114610d78578063977f39f414610d1c5780639a9ab03f14610b16578063b2a0c4b214610a06578063d903bb1a146106fa5763e68f909d146100b957600080fd5b346106f55760003660031901126106f55760006104006040516100db81613481565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e08201528261010082015282610120820152826101408201528261016082015282610180820152826101a082015260405161013e81613466565b8381528360208201528360408201526101c0820152826101e08201528261020082015282610220820152826102408201528261026082015282610280820152604051610189816134b8565b606081526102a0820152826102c08201526040516101a6816134d3565b8381528360208201528360408201528360608201528360808201526102e08201528261030082015282610320820152826103408201528261036082015282610380820152826103a0820152826103c0820152826103e0820152015260405161020d81613481565b6000546001600160a01b0390811682526001548116602083015260025481166040808401919091526003548216606084015260045482166080840152600554821660a0840152600654821660c0840152600754821660e084015260085482166101008401526009548216610120840152600a548216610140840152600b548216610160840152600c548216610180840152600d549091166101a0830152516102b481613466565b600e548152600f5460208201526010546040808301919091526101c08301919091526011546001600160a01b039081166101e08401526012548116610200840152601354811661022084015260145481166102408401526015546102608401526016541661028083015251610328816134b8565b60405180816020601754928381520160176000526000805160206152ec8339815191529260005b8181106106d3575050610364925003826134ee565b81526102a08201526018546001600160a01b03166102c082015260405161038a816134d3565b60195460ff8181161515835260089190911c81161515602080840191909152601a54604080850191909152601b549092161515606080850191909152601c546080808601919091526102e086810195909552601d546001600160a01b0390811661030080890191909152601e548216610320890152601f54821661034089015284548216610360890152602154821661038089015260225482166103a089015260235482166103c089015260245482166103e089015260255482166104008901528551858152885183168187015288860151831681880152888701518316818601529388015182168484015291870151811660a084810191909152870151811660c080850191909152870151811660e08085019190915287015181166101008085019190915287015181166101208085019190915287015181166101408085019190915287015181166101608085019190915287015181166101808085019190915287015181166101a08085019190915287015181166101c08085019190915287015180516101e08086019190915281860151610200808701919091529190960151610220808601919091529588015182166102408086019190915290880151821661026080860191909152958801518216610280808601919091529088015182166102a080860191909152958801516102c08501528701511694820194909452918401516104e093830193909352915161050082018390528051610520830181905260009492936105408501939201905b8086106106b05750506102c08101516001600160a01b03908116610320858101919091526102e0830151805115156103408088019190915260208201511515610360808901919091526040830151610380808a0191909152606084015115156103a0808b01919091526080909401516103c0808b019190915261030088015187166103e0808c0191909152958801518716610400808c01919091529388015187166104208b01529187015186166104408a015286015185166104608901529185015184166104808801529084015183166104a08701529083015182166104c086015290910151166104e08301528190039150f35b81516001600160a01b0316845260019590950194602093840193909101906105bc565b84546001600160a01b031683526001948501948694506020909301920161034f565b600080fd5b346106f5576003196040368201126106f5576004356001600160401b03918282116106f5576101009082360301126106f5576040516107388161344a565b81600401358381116106f557610754906004369185010161352a565b8152602091828201936024820135855261077060448301613571565b6040840190815261078360648401613571565b6060850190815260848401358381116106f5576107a6906004369187010161352a565b6080860190815260a48501358481116106f5576107c9906004369188010161352a565b9060a087019182526107dd60c48701613571565b9460c0880195865260e460e0890197013587526024359081116106f55761080890369060040161352a565b92610811613f3d565b6000546001600160a01b03949061082b9086163314613f02565b61085060405161083a8161349d565b60048152631c1bdcdd60e21b8c82015282614890565b156109205750936007936108eb61091598946108e18d99958c997f7c12821b273676cb850b9cef8196a8c54dcf6789078c6aa5dc7a3c0d652e6b589f8f60289151600052526108a560406000209b518c613d07565b8b5160018c01558560028c01975116966001600160601b0360a01b97888254161790558560038c01915116878254161790555160048a01613d07565b5160058801613d07565b600686019251169082541617905551910155519160408051948594855284015260408301906138c6565b0390a15b6001602b55005b965050505050505061095191506040519061093a8261349d565b600682526564656c65746560d01b84830152614890565b156109d157817f5420ccbc4de19a27bab83245950c1e88d67c9944a7f030f01ec78c3c27a960da92516000526028825260006007604082206109928161483a565b8260018201558260028201558260038201556109b06004820161483a565b6109bc6005820161483a565b826006820155015551604051908152a1610919565b6064906040519062461bcd60e51b82526004820152600e60248201526d496e76616c696420696e7075747360901b6044820152fd5b346106f5576020806003193601126106f5576004356001600160401b0381116106f55781610a3b610a5792369060040161352a565b610a436148e5565b508160405193828580945193849201613651565b8101602681520301902090610afe60ff600560405194610a768661344a565b604051610a8e81610a878185613e0b565b03826134ee565b86526001810154858701528260018060a01b038060028401541660408901526003830154908116606089015260a01c1615156080870152604051610ad981610a878160048601614075565b60a08701520154818116610aec81613699565b60c086015260081c1660e08401613fde565b610b126040519282849384528301906136b0565b0390f35b346106f557602060031981813601126106f557600435906001600160401b03908183116106f55760409083360301126106f55760405190610b568261349d565b82600401358181116106f557610b729060043691860101613946565b8252602492838101359182116106f55701366023820112156106f5576004810135610b9c81613585565b91610baa60405193846134ee565b818352848684019260051b820101913683116106f55785879201905b838210610d0d575050830191825250610bdd613f3d565b610bf260018060a01b03600054163314613f02565b81515181515103610cd95760005b825151811015610ca957606480610c18838551613c10565b511015610c68575080610c2f610c63928451613c10565b51610c5387610c3f848851613c10565b518160405193828580945193849201613651565b8101602981520301902055613f93565b610c00565b60405162461bcd60e51b8152600481018790526018818701527f696e76616c69642070657263656e746167652076616c756500000000000000006044820152fd5b6040517f1d5d5a6aeda19185043499093fee83fda5f443876a815bdd5dfb5e4bb18576c390806109158682613c24565b60405162461bcd60e51b815260048101859052600d818501526c125b9d985b1a59081a5b9c1d5d609a1b6044820152606490fd5b81358152908201908201610bc6565b346106f55760203660031901126106f5576004356001600160401b0381116106f557610d656020610d528193369060040161352a565b8160405193828580945193849201613651565b8101602981520301902054604051908152f35b346106f55760203660031901126106f5576004356001600160a01b03818116918281036106f557610dc090610dab613f3d565b610dbb6000549384163314613f02565b613ea1565b15610e07576001600160a01b03191681176000556040519081527fd55dc5f60ad530b205bb98271b741a75d4192a9e0feb84edecf0e7eeea20f63b90602090a16001602b55005b60405162461bcd60e51b815260206004820152601160248201527024b73b30b634b2102732bb9027bbb732b960791b6044820152606490fd5b346106f5576003196020368201126106f5576001600160401b03600435116106f5576104e090600435360301126106f55760405161046081018181106001600160401b038211176118a757604052610e9c600435600401613571565b8152602460043501356020820152610eb9366044600435016137da565b604082015260e460043501356001600160401b0381116106f557610ee4906004369181350101613946565b6060820152600435610104810135608083015261012481013560a083015261014481013560c083015261016481013560e083015261018401356001600160401b0381116106f557610f3c906004369181350101613835565b610100820152610f516101a460043501613571565b610120820152610f666101c460043501613571565b610140820152610f7b6101e460043501613571565b610160820152610f9061020460043501613571565b610180820152610fa561022460043501613571565b6101a0820152610fba61024460043501613571565b6101c0820152610fcf61026460043501613571565b6101e0820152610fe461028460043501613571565b610200820152610ff96102a460043501613571565b61022082015261100e6102c460043501613571565b6102408201526110236102e460043501613571565b61026082015261103861030460043501613571565b61028082015261104d61032460043501613571565b6102a082015261106261034460043501613571565b6102c082015261107761036460043501613571565b6102e082015261108c61038460043501613571565b6103008201526110a16103a460043501613571565b6103208201526110b66103c460043501613571565b6103408201526110cb6103e460043501613571565b6103608201526110e061040460043501613571565b6103808201526110f561042460043501613571565b6103a082015261110a61044460043501613571565b6103c082015261111f61046460043501613571565b6103e082015261113461048460043501613571565b6104008201526111496104a460043501613571565b61042082015261115e6104c460043501613571565b61044082015261117960018060a01b03600054163314613f02565b611181613f3d565b6103208101516001600160a01b031661119981613ea1565b611a5b575b5080516001600160a01b03166111b381613ea1565b611a42575b506103408101516001600160a01b03166111d181613ea1565b611a1d575b506102e08101516001600160a01b03166111ef81613ea1565b611a04575b506102008101516001600160a01b031661120d81613ea1565b6119eb575b506102408101516001600160a01b031661122b81613ea1565b6119c6575b50606460208201511161199b576080604082015161125d8151151560ff8019601954169115151617601955565b6020810151151561ff006019549160081b169061ff001916176019556040810151601a5561129d6060820151151560ff8019601b54169115151617601b55565b0151601c55606460808201511161197057606460a0820151101561194557606460c08201511161191a57608081015160a082015160c083015190604051926112e484613466565b8352602083015260408201526112f981613eb9565b156118ef578051600e556020810151600f55604001516010556102608101516001600160a01b031661132a81613ea1565b6118d6575b506102808101516001600160a01b031661134881613ea1565b6118bd575b50610100810151518051906001600160401b0382116118a757600160401b82116118a75760209060175483601755808410611883575b5001601760005260005b8281106118585761030084015184906001600160a01b03166113ae81613ea1565b611833575b5060e08101518061182a575b506102208101516001600160a01b03166113d881613ea1565b611811575b506101208101516001600160a01b03166113f681613ea1565b6117f8575b506101608101516001600160a01b031661141481613ea1565b6117df575b506101408101516001600160a01b031661143281613ea1565b6117c6575b506101808101516001600160a01b031661145081613ea1565b6117ad575b506101a08101516001600160a01b031661146e81613ea1565b611794575b506101c08101516001600160a01b031661148c81613ea1565b61177b575b506101e08101516001600160a01b03166114aa81613ea1565b611762575b506102a08101516001600160a01b03166114c881613ea1565b611749575b506102c08101516001600160a01b03166114e681613ea1565b611730575b506103808101516001600160a01b031661150481613ea1565b61170b575b506103608101516001600160a01b031661152281613ea1565b6116e6575b506103a08101516001600160a01b031661154081613ea1565b6116c1575b506103c08101516001600160a01b031661155e81613ea1565b61169c575b506103e08101516001600160a01b031661157c81613ea1565b611677575b506104008101516001600160a01b031661159a81613ea1565b611652575b506104208101516001600160a01b03166115b881613ea1565b61162d575b5061044001516001600160a01b03166115d581613ea1565b611608575b7f89cde5a76c5006132366331fdbb5a86401340c508029df5ad27029625b35486c60405180610915816139dd565b602580546001600160a01b0319166001600160a01b03909216919091179055806115da565b602480546001600160a01b0319166001600160a01b03909216919091179055816115bd565b602380546001600160a01b0319166001600160a01b039092169190911790558161159f565b602280546001600160a01b0319166001600160a01b0390921691909117905581611581565b602180546001600160a01b0319166001600160a01b0390921691909117905581611563565b602080546001600160a01b0319166001600160a01b0390921691909117905581611545565b601e80546001600160a01b0319166001600160a01b0390921691909117905581611527565b601f80546001600160a01b0319166001600160a01b0390921691909117905581611509565b6001600160601b0360a01b6012541617601255816114eb565b6001600160601b0360a01b6011541617601155816114cd565b6001600160601b0360a01b600b541617600b55816114af565b6001600160601b0360a01b600a541617600a5581611491565b6001600160601b0360a01b600954161760095581611473565b6001600160601b0360a01b600854161760085581611455565b6001600160601b0360a01b600654161760065581611437565b6001600160601b0360a01b600754161760075581611419565b6001600160601b0360a01b6005541617600555816113fb565b6001600160601b0360a01b6013541617601355816113dd565b601555816113bf565b601880546001600160a01b0319166001600160a01b03909216919091179055816113b3565b81516001600160a01b03166000805160206152ec83398151915282015560209091019060010161138d565b6118a190846000805160206152ec83398151915291820191016139c6565b84611383565b634e487b7160e01b600052604160045260246000fd5b6001600160601b0360a01b600d541617600d558161134d565b6001600160601b0360a01b600c541617600c558161132f565b60405162461bcd60e51b815260206004820152600360248201526206531360ec1b6044820152606490fd5b60405162461bcd60e51b815260206004820152600360248201526245303960e81b6044820152606490fd5b60405162461bcd60e51b815260206004820152600360248201526208a60760eb1b6044820152606490fd5b60405162461bcd60e51b815260206004820152600360248201526245303760e81b6044820152606490fd5b60405162461bcd60e51b815260206004820152600360248201526222981b60e91b6044820152606490fd5b600480546001600160a01b0319166001600160a01b0390921691909117905581611230565b6001600160601b0360a01b600254161760025581611212565b6001600160601b0360a01b6016541617601655816111f4565b601d80546001600160a01b0319166001600160a01b03909216919091179055816111d6565b6001600160601b0360a01b6003541617600355816111b8565b600180546001600160a01b0319166001600160a01b039092169190911790558161119e565b346106f5576020806003193601126106f557600060e0604051611aa28161344a565b60608152828482015282604082015282606082015260606080820152606060a08201528260c0820152015260043560005260288152604060002090600760405192611aec8461344a565b604051611afd81610a878185613e0b565b845260018101548385015260018060a01b03806002830154166040860152806003830154166060860152604051611b3b81610a878160048701613e0b565b6080860152604051611b5481610a878160058701613e0b565b60a086015260068201541660c0850152015460e0830152610b126040519282849384528301906138c6565b346106f55760603660031901126106f5576001600160401b036004358181116106f557611bb090369060040161352a565b602435908115158083036106f5576044358481116106f5576004611c55611bdc6003933690840161359c565b95611be5613f3d565b611bfa60018060a01b03600054163314613f02565b60405190611c4487519160209684888096818d0196611c1a81838a613651565b60269082019081520301902001805460ff60a01b191691151560a01b60ff60a01b16919091179055565b604051809381928951928391613651565b81016026815203019020019380519586116118a757611c748686613fea565b8181018095600052826000208760051c9060005b828110611d8757508495969798601f1981168082039103611d2e575b50505050611cc060409493945195606087526060870190613674565b92828601528483036040860152519182815201939160005b828110611d0c577fb9882473d401a9a51525cc8670f35d0cf286c98b8827cb9edc80f4782c0f8a6585870386a16001602b55005b9091929482806001928851611d2081613699565b815201960193929101611cd8565b9260009360005b818110611d4a57505050015586808080611ca4565b919596611d7760019294959684895191611d6383613699565b9060ff809160031b9316831b921b19161790565b9601910191879695949392611d35565b6000805b87808210611da157505082820155600101611c88565b611db6879383600194995191611d6383613699565b92019501611d8b565b346106f5576003196020368201126106f5576004356001600160401b0381116106f5576101a0813603928301126106f557606060405192611dff8461342f565b611e0b83600401613571565b845260248301356020850152611e2436604485016137da565b604085015260e31901126106f557604051611e3e81613466565b60e482013581526101048201356020820152610124820135604082015260608301526101448101356001600160401b0381116106f557611ea891611e8b6101849260043691840101613835565b6080850152611e9d6101648201613571565b60a085015201613571565b60c0820152602a5460ff81166127045760646020830151116126d957611ed16060830151613eb9565b156126ae5760ff1916600117602a5580516001600160a01b0316611ef481613ea1565b156126a6575b60408201519060406060840151612084608086015193835195611f1c87613481565b3387523360208801526000858801526000606088015260018060a01b0382166080880152600060a0880152600060c0880152600060e08801526000610100880152600061012088015260006101408801526000610160880152600061018088015260006101a0880152836101c088015260006101e088015260006102008801526000610220880152600061024088015260326102608801526000610280880152856102a088015260006102c08801526102e08701526000610300870152600061032087015260006103408701526000610360870152600061038087015260006103a087015260006103c087015260006103e08701526000610400870152336001600160601b0360a01b600054161760005561204e3360018060a01b03166001600160601b0360a01b6001541617600155565b600280546001600160a01b03199081169091556003805482169055600480549091166001600160a01b0392909216919091179055565b600580546001600160a01b03199081169091556006805482169055600780548216905560088054821690556009805482169055600a805482169055600b805482169055600c805482169055600d8054821690558151600e556020820151600f5591015160105560118054821690556012805482169055601380548216905560148054821690556032601555601680549091169055518051906001600160401b0382116118a757600160401b82116118a75760209060175483601755808410612682575b5001601760005260005b828110612657576102c0840151601880546001600160a01b0319166001600160a01b0392909216919091179055846122b68560806102e08201516121a48151151560ff8019601954169115151617601955565b6020810151151561ff006019549160081b169061ff001916176019556040810151601a556121e46060820151151560ff8019601b54169115151617601b55565b0151601c55610300810151601d80546001600160a01b03199081166001600160a01b0393841617909155610320830151601e80548316918416919091179055610340830151601f805483169184169190911790556103608301516020805483169184169190911790556103808301516021805483169184169190911790556103a08301516022805483169184169190911790556103c08301516023805483169184169190911790556103e083015160248054831691841691909117905561040090920151602580549093169116179055565b7f89cde5a76c5006132366331fdbb5a86401340c508029df5ad27029625b35486c604051806122e4816139dd565b0390a16020810151602d6040516c1d985d5b1d17da185c9d995cdd609a1b81526029600d820152205560026031604051706163636f756e74735f776974686472617760781b815260296011820152205560405161234081613466565b6002815260005b6040811061264657506124407f1d5d5a6aeda19185043499093fee83fda5f443876a815bdd5dfb5e4bb18576c3916040516123818161349d565b600d81526c1d985d5b1d17da185c9d995cdd609a1b60208201526123a482613bdd565b526123ae81613bdd565b506040516123bb8161349d565b60118152706163636f756e74735f776974686472617760781b60208201526123e282613c00565b526123ec81613c00565b506040516123f981613466565b600281526040366020830137602085015161241382613bdd565b52600261241f82613c00565b526040519161242d8361349d565b8252602082015260405191829182613c24565b0390a160a081015160c090910151604051916007916001600160a01b03908116911661246b8461344a565b6040516124778161349d565b838152662837b63cb3b7b760c91b6020820152845261254e602085019246845260408601928352606086019081526125446040516124b4816134b8565b6000815260808801908152604051926124cc846134b8565b6000845260a0890193845260c08901956000875260e08a01976000895246600052602860205261250260406000209b518c613d07565b5160018b01555160028a0180546001600160a01b03199081166001600160a01b0393841617909155915160038b01805490931691161790555160048801613d07565b5160058601613d07565b600684019060018060a01b039051166001600160601b0360a01b825416179055519101554660005260286020527f7c12821b273676cb850b9cef8196a8c54dcf6789078c6aa5dc7a3c0d652e6b586040600020604051809146825260406020830152610100604083015260076126246125cb610140850184613e0b565b6001840154606086015260028401546001600160a01b03908116608087015260038501541660a0860152848103603f1990810160c0870152906126119060048601613e0b565b908582030160e086015260058401613e0b565b60068301546001600160a01b03166101008501529101546101208301520390a1005b806060602080938501015201612347565b81516001600160a01b03166000805160206152ec833981519152820155602090910190600101612151565b6126a090846000805160206152ec83398151915291820191016139c6565b85612147565b506000611efa565b60405162461bcd60e51b815260206004820152600360248201526245303360e81b6044820152606490fd5b60405162461bcd60e51b815260206004820152600360248201526222981960e91b6044820152606490fd5b60405162461bcd60e51b815260206004820152600360248201526245303160e81b6044820152606490fd5b346106f55761273d36613603565b949592949193909290918015612a175761275690614925565b9160275494858510156129dc5760009461276f87613585565b9661277d60405198896134ee565b80885261278c601f1991613585565b0160005b8181106129cb5750505b60275481101561296657886020856127ba6127b485614050565b50614975565b6127db868d89604051978896879663c5795f9160e01b885260048801614a08565b038173__$f284c32d832c07e2014212a56f3cfbb80e$__5af490811561295a57600091612920575b50612817575b61281290613f93565b61279a565b946129186128129161282b6127b489614050565b6128cb6040519161283b8361344a565b60405161284c81610a878185613e0b565b835260018101546020840152600560018060a01b03918260028201541660408601526003810154928316606086015260ff928360a091821c1615156080870152604051906128a8826128a18160048701614075565b03836134ee565b86015201548181166128b981613699565b60c085015260081c1660e08301613fde565b6128d58989613c10565b526128e08888613c10565b50610a876128fd6128f08a614050565b5060405192838092613e0b565b612907828b613c10565b52612912818a613c10565b50613f93565b959050612809565b90506020813d602011612952575b8161293b602093836134ee565b810103126106f55761294c90614883565b8a612803565b3d915061292e565b6040513d6000823e3d90fd5b868661297181614925565b9160005b82811061298a5760405180610b12868261376b565b806129a161299b6129c69385613c10565b51613fb8565b6129b16040519161283b8361344a565b6129bb8287613c10565b526129128186613c10565b612975565b806060602080938c01015201612790565b60405162461bcd60e51b8152602060048201526013602482015272496e76616c69642073746172742076616c756560681b6044820152606490fd5b50612756602754614925565b346106f5576003196020368201126106f5576004356001600160401b0381116106f557612a5490369060040161352a565b90612a5d613f3d565b612a7260018060a01b03600054163314613f02565b600060056040516020818651612a8b8183858b01613651565b81016026815203019020612a9e8161483a565b82600182015582600282015582600382015560048101805484825580612dfb575b5050015573__$cdb3a974a6603f5f21ad73b7f4e0c6fc0b$__90604051906373b64e1560e01b8252816044810191604060048301526027548093526064820160648460051b8401019360276000526000805160206152cc833981519152916000905b828210612dcd5750505050612b43838392836040960301602484015287613674565b0381855af4801561295a57600091600091612d8d575b50612b98575b7fe32a4c2d651b9ed525fee9107375614fd62cece77c73592d4b8960018f64a96a61091584604051918291602083526020830190613674565b60009060446040518094819363645b587d60e11b83526027600484015260248301525af490811561295a57600091612c76575b50805190600160401b82116118a75760275482602755808310612c30575b5060200160276000526000805160206152cc8339815191526000915b838310612c13575050612b5f565b6001602082612c2483945186613d07565b01920192019190612c05565b60276000526000805160206152cc83398151915201826000805160206152cc833981519152015b818110612c645750612be9565b80612c7060019261483a565b01612c57565b3d9150816000823e612c8882826134ee565b60208183810103126106f55780516001600160401b0381116106f557828201601f8284010112156106f5578082015190612cc182613585565b93612ccf60405195866134ee565b828552602085019080850160208560051b8588010101116106f557602083860101915b60208560051b85880101018310612d0f5750505050505082612bcb565b82516001600160401b0381116106f557828701603f82878a01010112156106f557602081868901010151612d428161350f565b92612d5060405194856134ee565b818452848901604083858a8d01010101116106f55783612d80602095938b604088978c8980990193010101613651565b8152019301929050612cf2565b9150506040813d604011612dc5575b81612da9604093836134ee565b810103126106f557612dbf602082519201614883565b84612b59565b3d9150612d9c565b91939450919460206001612deb81936063198b820301865289613e0b565b9701920192018694939192612b21565b612e13918552601f602086209101841c8101906139c6565b8580612abf565b346106f557612e2836613603565b9095929490939092918415612f6d57612e4085614925565b9560279788548110156129dc575b8854811015612f5c5785602086612e676127b485614050565b612e8887878a604051978896879663c5795f9160e01b885260048801614a08565b038173__$f284c32d832c07e2014212a56f3cfbb80e$__5af490811561295a57600091612f22575b50612eeb575b86612eca575b612ec590613f93565b612e4e565b86885103612ebc5750505050505050610b1291505b6040519182918261376b565b612ef76127b482614050565b612f076040519161283b8361344a565b612f11828a613c10565b52612f1c8189613c10565b50612eb6565b90506020813d602011612f54575b81612f3d602093836134ee565b810103126106f557612f4e90614883565b8a612eb0565b3d9150612f30565b50505050505050610b129150612edf565b612e40602754614925565b346106f557600319906020368301126106f5576004356001600160401b03928382116106f55760e09082360301126106f557612fb38261342f565b8060040135825260248101358381116106f557612fd6906004369184010161352a565b6020830152612fe760448201613571565b9060408301918252612ffb60648201613571565b906060840191825260848101358581116106f55761301f906004369184010161359c565b916080850192835260a48201359160038310156106f55760a0860192835260c401359260048410156106f55760c0860193845261305a613f3d565b61306f60018060a01b03600054163314613f02565b855180613429575046935b825161308e906001600160a01b0316613ea1565b156133d557602087015195519251915193516001600160a01b039384169390921691906130ba82613699565b519260048410156133405761311761318194604051986130d98a61344a565b895260208901978852604089019283526060890194855260808901936001855260a08a0197885261310981613699565b60c08a015260e08901613fde565b6131246020890151613fb8565b95613130885188613d07565b516001870155516002860180546001600160a01b0319166001600160a01b03928316179055915160038601805492516001600160a81b0319909316919093161790151560a01b60ff60a01b16179055565b60048201905180519586116118a75760209061319d8784613fea565b0190600052602060002060005b8660051c811061339c5750601f198616860380613356575b50505060c082015192935060050191906131db82613699565b6131e482613699565b60e0835491015160048110156133405761ff0060ff9160081b1692169061ffff1916171790556020810151602754600160401b8110156118a75780600161322e9201602755614050565b91909161332a577f1c0630404592f1ad0e9237c8ae81a7e9a04807e69b961448e743135ec51333d89261326660209261329e94613d07565b0151604051602081835161327d8183858801613651565b81016026815203019020610915604051938493604085526040850190613674565b838103602085015260ff60e0600561330a6132c0610100808752860188613e0b565b6001880154602087015260028801546001600160a01b0390811660408801526003890154908116606088015260a090811c8616151560808801528682039087015260048801614075565b9501549282841661331a81613699565b60c0820152019160081c166136a3565b634e487b7160e01b600052600060045260246000fd5b634e487b7160e01b600052602160045260246000fd5b9160009260005b81811061337a575050506005939495841c015583929185806131c2565b909193602061339260019284885191611d6383613699565b950192910161335d565b6000805b602081106133b55750828201556001016131aa565b939060206133cc60019287855191611d6383613699565b920194016133a0565b60405162461bcd60e51b815260206004820152602660248201527f4661696c656420746f2076616c6964617465207969656c6420746f6b656e206160448201526564647265737360d01b6064820152608490fd5b9361307a565b60e081019081106001600160401b038211176118a757604052565b61010081019081106001600160401b038211176118a757604052565b606081019081106001600160401b038211176118a757604052565b61042081019081106001600160401b038211176118a757604052565b604081019081106001600160401b038211176118a757604052565b602081019081106001600160401b038211176118a757604052565b60a081019081106001600160401b038211176118a757604052565b90601f801991011681019081106001600160401b038211176118a757604052565b6001600160401b0381116118a757601f01601f191660200190565b81601f820112156106f5578035906135418261350f565b9261354f60405194856134ee565b828452602083830101116106f557816000926020809301838601378301015290565b35906001600160a01b03821682036106f557565b6001600160401b0381116118a75760051b60200190565b81601f820112156106f5578035916135b383613585565b926135c160405194856134ee565b808452602092838086019260051b8201019283116106f5578301905b8282106135eb575050505090565b813560038110156106f55781529083019083016135dd565b60e09060031901126106f5576004359060243560038110156106f5579060443560038110156106f5579060643560048110156106f5579060843560038110156106f5579060a4359060c43590565b60005b8381106136645750506000910152565b8181015183820152602001613654565b9060209161368d81518092818552858086019101613651565b601f01601f1916010190565b6003111561334057565b9060048210156133405752565b906136c48251610100808452830190613674565b916020808201518184015260018060a01b03806040840151166040850152606083015116606084015260808201511515608084015260a08201519383810360a085015281808651928381520195019160005b82811061374957505050509060e0808360c061374695015161373781613699565b60c085015201519101906136a3565b90565b909192958280600192895161375d81613699565b815201970193929101613716565b602080820190808352835180925260408301928160408460051b8301019501936000915b84831061379f5750505050505090565b90919293949584806137bd600193603f198682030187528a516136b0565b980193019301919493929061378f565b359081151582036106f557565b91908260a09103126106f5576040516137f2816134d3565b6080808294613800816137cd565b845261380e602082016137cd565b602085015260408101356040850152613829606082016137cd565b60608501520135910152565b9190602080848303126106f5576040519061384f826134b8565b81948035906001600160401b0382116106f557019280601f850112156106f557833561387a81613585565b9461388860405196876134ee565b818652838087019260051b8201019283116106f5578301905b8282106138af575050505052565b8380916138bb84613571565b8152019101906138a1565b9060e0806138dd8451610100808652850190613674565b936020810151602085015261393261392060018060a01b039687604085015116604088015287606085015116606088015260808401518782036080890152613674565b60a083015186820360a0880152613674565b9460c08201511660c0850152015191015290565b9080601f830112156106f55781359061395e82613585565b9261396c60405194856134ee565b828452602092838086019160051b830101928084116106f557848301915b84831061399a5750505050505090565b82356001600160401b0381116106f55786916139bb8484809489010161352a565b81520192019161398a565b8181106139d1575050565b600081556001016139c6565b60209081815260018060a01b03918260005416818301526001928084541660408401528060025416606084015280600354166080840152806004541660a0840152806005541660c0840152806006541660e084015280600754166101008401528060085416610120840152806009541661014084015280600a541661016084015280600b541661018084015280600c54166101a084015280600d54166101c0840152600e546101e0840152600f5461020084015260105461022084015280601154166102408401528060125416610260840152806013541661028084015280601454166102a08401526015546102c084015280601654166102e08401526104e0918261030085015261052084018161050086015260175480915261054085019560176000526000805160206152ec8339815191529160005b818110613bc857505050508190816018541661032086015260ff601954818116151561034088015260081c161515610360860152601a5461038086015260ff601b541615156103a0860152601c546103c086015281601d54166103e086015281601e541661040086015281601f541661042086015254166104408401528060215416610460840152806022541661048084015280602354166104a084015280602454166104c08401526025541691015290565b83548616895297840197928201928201613b15565b805115613bea5760200190565b634e487b7160e01b600052603260045260246000fd5b805160011015613bea5760400190565b8051821015613bea5760209160051b010190565b906020908183526060830190805191604084860152825180915260808501908460808260051b8801019401916000905b828210613ca05750505050820151926040601f198284030191015281808451928381520193019160005b828110613c8c575050505090565b835185529381019392810192600101613c7e565b90919295948580613cbd600193607f198c82030186528a51613674565b9798019493919091019101613c54565b90600182811c92168015613cfd575b6020831014613ce757565b634e487b7160e01b600052602260045260246000fd5b91607f1691613cdc565b91909182516001600160401b0381116118a757613d248254613ccd565b601f8111613dce575b50602080601f8311600114613d6a575081929394600092613d5f575b50508160011b916000199060031b1c1916179055565b015190503880613d49565b90601f198316958460005282600020926000905b888210613db657505083600195969710613d9d575b505050811b019055565b015160001960f88460031b161c19169055388080613d93565b80600185968294968601518155019501930190613d7e565b613dfb90836000526020600020601f840160051c81019160208510613e01575b601f0160051c01906139c6565b38613d2d565b9091508190613dee565b9060009291805491613e1c83613ccd565b918282526001938481169081600014613e7e5750600114613e3e575b50505050565b90919394506000526020928360002092846000945b838610613e6a575050505001019038808080613e38565b805485870183015294019385908201613e53565b9294505050602093945060ff191683830152151560051b01019038808080613e38565b6001600160a01b031615613eb457600190565b600090565b805190602081015190818310159283613ef3575b5082613ee4575b5050613edf57600090565b600190565b60400151101590503880613ed4565b60408201511115925038613ecd565b15613f0957565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b6002602b5414613f4e576002602b55565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b6000198114613fa25760010190565b634e487b7160e01b600052601160045260246000fd5b6020613fd1918160405193828580945193849201613651565b8101602681520301902090565b60048210156133405752565b90600160401b81116118a757815481835580821061400757505050565b61403392600052601f6020600020918180850160051c8401941680614035575b500160051c01906139c6565b565b600019908186019182549160200360031b1c16905538614027565b602754811015613bea5760276000526000805160206152cc8339815191520190600090565b805480835260208093019160005282600020906000915b8482601f8501106145735750549184828210614557575b828210614538575b828210614519575b8282106144fa575b8282106144dc575b8282106144bd575b82821061449e575b82821061447f575b828210614460575b828210614441575b828210614422575b828210614403575b8282106143e4575b8282106143c5575b8282106143a6575b828210614387575b828210614368575b828210614349575b82821061432a575b82821061430b575b8282106142ec575b8282106142cd575b8282106142ae575b82821061428f575b828210614270575b828210614251575b828210614232575b828210614213575b8282106141f4575b8282106141d5575b8282106141b6575b50106141a0575b50905090565b60f81c6141ac81613699565b815201803861419a565b6001919460ff8560f01c166141ca81613699565b815201930184614193565b6001919460ff8560e81c166141e981613699565b81520193018461418b565b6001919460ff8560e01c1661420881613699565b815201930184614183565b6001919460ff8560d81c1661422781613699565b81520193018461417b565b6001919460ff8560d01c1661424681613699565b815201930184614173565b6001919460ff8560c81c1661426581613699565b81520193018461416b565b6001919460ff8560c01c1661428481613699565b815201930184614163565b6001919460ff8560b81c166142a381613699565b81520193018461415b565b6001919460ff8560b01c166142c281613699565b815201930184614153565b6001919460ff8560a81c166142e181613699565b81520193018461414b565b6001919460ff8560a01c1661430081613699565b815201930184614143565b6001919460ff8560981c1661431f81613699565b81520193018461413b565b6001919460ff8560901c1661433e81613699565b815201930184614133565b6001919460ff8560881c1661435d81613699565b81520193018461412b565b6001919460ff8560801c1661437c81613699565b815201930184614123565b6001919460ff8560781c1661439b81613699565b81520193018461411b565b6001919460ff8560701c166143ba81613699565b815201930184614113565b6001919460ff8560681c166143d981613699565b81520193018461410b565b6001919460ff8560601c166143f881613699565b815201930184614103565b6001919460ff8560581c1661441781613699565b8152019301846140fb565b6001919460ff8560501c1661443681613699565b8152019301846140f3565b6001919460ff8560481c1661445581613699565b8152019301846140eb565b6001919460ff8560401c1661447481613699565b8152019301846140e3565b6001919460ff8560381c1661449381613699565b8152019301846140db565b6001919460ff8560301c166144b281613699565b8152019301846140d3565b6001919460ff8560281c166144d181613699565b8152019301846140cb565b6001919460ff85831c166144ef81613699565b8152019301846140c3565b6001919460ff8560181c1661450e81613699565b8152019301846140bb565b6001919460ff8560101c1661452d81613699565b8152019301846140b3565b6001919460ff8560081c1661454c81613699565b8152019301846140ab565b6001919460ff851661456881613699565b8152019301846140a3565b9093610400600191865460ff811661458a81613699565b825260ff8160081c1661459c81613699565b8583015260ff8160101c166145b081613699565b604083015260ff8160181c166145c581613699565b606083015260ff81861c166145d981613699565b608083015260ff8160281c166145ee81613699565b60a083015260ff8160301c1661460381613699565b60c083015261461760ff8260381c16613699565b60ff8160381c1660e083015260ff8160401c1661463381613699565b61010083015260ff8160481c1661464981613699565b61012083015260ff8160501c1661465f81613699565b61014083015260ff8160581c1661467581613699565b61016083015260ff8160601c1661468b81613699565b61018083015260ff8160681c166146a181613699565b6101a083015260ff8160701c166146b781613699565b6101c083015260ff8160781c166146cd81613699565b6101e083015260ff8160801c166146e381613699565b61020083015260ff8160881c166146f981613699565b61022083015260ff8160901c1661470f81613699565b61024083015260ff8160981c1661472581613699565b61026083015260ff8160a01c1661473b81613699565b61028083015260ff8160a81c1661475181613699565b6102a083015260ff8160b01c1661476781613699565b6102c083015260ff8160b81c1661477d81613699565b6102e083015260ff8160c01c1661479381613699565b61030083015260ff8160c81c166147a981613699565b61032083015260ff8160d01c166147bf81613699565b61034083015260ff8160d81c166147d581613699565b61036083015260ff8160e01c166147eb81613699565b61038083015260ff8160e81c1661480181613699565b6103a083015260ff8160f01c1661481781613699565b6103c083015260f81c61482981613699565b6103e082015201940192019161408c565b6148448154613ccd565b908161484e575050565b81601f60009311600114614860575055565b90808391825261487f601f60208420940160051c8401600185016139c6565b5555565b519081151582036106f557565b90604051916020926148be8482816148b18183019687815193849201613651565b81010380845201826134ee565b519020916148de6040519182816148b18183019687815193849201613651565b5190201490565b604051906148f28261344a565b816060815260e0600091826020820152826040820152826060820152826080820152606060a08201528260c08201520152565b9061492f82613585565b61493c60405191826134ee565b828152809261494d601f1991613585565b019060005b82811061495e57505050565b6020906149696148e5565b82828501015201614952565b60405190816000825461498781613ccd565b936001918083169081156149ec57506001146149af575b505060209250602681520301902090565b90915060005260209081600020906000915b8583106149d857505050506020918101388061499e565b8054878401528694509183019181016149c1565b92505050602093915060ff19168252801515028101388061499e565b9391969594929060c0855261010060c0860152614a296101c0860182613e0b565b600182015460e087015260028201546001600160a01b03908116610100880152600383015490811661012088015260a01c60ff16151561014087015285810360bf190161016087015260048201805480835260009182526020808320930193925b81601f840110615004579160a09897959391614bfb9795935491818110614fe7575b818110614fc7575b818110614fa7575b818110614f87575b818110614f68575b818110614f48575b818110614f28575b818110614f08575b818110614ee8575b818110614ec8575b818110614ea8575b818110614e88575b818110614e68575b818110614e48575b818110614e28575b818110614e08575b818110614de8575b818110614dc8575b818110614da8575b818110614d88575b818110614d69575b818110614d49575b818110614d29575b818110614d09575b818110614ce9575b818110614cc9575b818110614ca9575b818110614c89575b818110614c69575b818110614c49575b818110614c29575b10614c08575b506005614bcf91015460ff8116614bb881613699565b61018089015260ff6101a089019160081c166136a3565b986020860152614bde81613699565b6040850152614bec81613699565b606084015260808301906136a3565b614c0483613699565b0152565b6020614bcf929360059260f81c614c1e81613699565b815201929150614ba2565b93602060019160ff8560f01c16614c3f81613699565b8152019401614b9c565b93602060019160ff8560e81c16614c5f81613699565b8152019401614b94565b93602060019160ff8560e01c16614c7f81613699565b8152019401614b8c565b93602060019160ff8560d81c16614c9f81613699565b8152019401614b84565b93602060019160ff8560d01c16614cbf81613699565b8152019401614b7c565b93602060019160ff8560c81c16614cdf81613699565b8152019401614b74565b93602060019160ff8560c01c16614cff81613699565b8152019401614b6c565b93602060019160ff8560b81c16614d1f81613699565b8152019401614b64565b93602060019160ff8560b01c16614d3f81613699565b8152019401614b5c565b93602060019160ff8560a81c16614d5f81613699565b8152019401614b54565b93602060019160ff858e1c16614d7e81613699565b8152019401614b4c565b93602060019160ff8560981c16614d9e81613699565b8152019401614b44565b93602060019160ff8560901c16614dbe81613699565b8152019401614b3c565b93602060019160ff8560881c16614dde81613699565b8152019401614b34565b93602060019160ff8560801c16614dfe81613699565b8152019401614b2c565b93602060019160ff8560781c16614e1e81613699565b8152019401614b24565b93602060019160ff8560701c16614e3e81613699565b8152019401614b1c565b93602060019160ff8560681c16614e5e81613699565b8152019401614b14565b93602060019160ff8560601c16614e7e81613699565b8152019401614b0c565b93602060019160ff8560581c16614e9e81613699565b8152019401614b04565b93602060019160ff8560501c16614ebe81613699565b8152019401614afc565b93602060019160ff8560481c16614ede81613699565b8152019401614af4565b93602060019160ff8560401c16614efe81613699565b8152019401614aec565b93602060019160ff8560381c16614f1e81613699565b8152019401614ae4565b93602060019160ff8560301c16614f3e81613699565b8152019401614adc565b93602060019160ff8560281c16614f5e81613699565b8152019401614ad4565b93602060019160ff85831c16614f7d81613699565b8152019401614acc565b93602060019160ff8560181c16614f9d81613699565b8152019401614ac4565b93602060019160ff8560101c16614fbd81613699565b8152019401614abc565b93602060019160ff8560081c16614fdd81613699565b8152019401614ab4565b93602060019160ff8516614ffa81613699565b8152019401614aac565b936001610400602092875460ff811661501c81613699565b825260ff8160081c1661502e81613699565b8583015260ff8160101c1661504281613699565b604083015260ff8160181c1661505781613699565b606083015261506a60ff82871c16613699565b60ff81861c16608083015260ff8160281c1661508581613699565b60a083015260ff8160301c1661509a81613699565b60c083015260ff8160381c166150af81613699565b60e083015260ff8160401c166150c481613699565b61010083015260ff8160481c166150da81613699565b61012083015260ff8160501c166150f081613699565b61014083015260ff8160581c1661510681613699565b61016083015260ff8160601c1661511c81613699565b61018083015260ff8160681c1661513281613699565b6101a083015260ff8160701c1661514881613699565b6101c083015260ff8160781c1661515e81613699565b6101e083015260ff8160801c1661517481613699565b61020083015260ff8160881c1661518a81613699565b61022083015260ff8160901c166151a081613699565b61024083015260ff8160981c166151b681613699565b61026083015260ff8160a01c166151cc81613699565b61028083015260ff8160a81c166151e281613699565b6102a083015260ff8160b01c166151f881613699565b6102c083015260ff8160b81c1661520e81613699565b6102e083015260ff8160c01c1661522481613699565b61030083015260ff8160c81c1661523a81613699565b61032083015260ff8160d01c1661525081613699565b61034083015260ff8160d81c1661526681613699565b61036083015260ff8160e01c1661527c81613699565b61038083015260ff8160e81c1661529281613699565b6103a083015260ff8160f01c166152a881613699565b6103c083015260f81c6152ba81613699565b6103e0820152019501920191614a8a56fe98a476f1687bc3d60a2da2adbcba2c46958e61fa2fb4042cd7bc5816a710195bc624b66cc0138b8fabc209247f72d758e1cf3343756d543badbf24212bed8c15a2646970667358221220bb83b582481c723a816a1c8533d4953848aa960f729c6968ff605117720acd9d64736f6c63430008120033"; + "0x60806040523462000033576200001462000038565b60016087556200002362000038565b604051613f0b9081620000e28239f35b600080fd5b60005460ff8160081c166200008c5760ff80821610620000555750565b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a1565b60405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fdfe6080604052600436101561001257600080fd5b60003560e01c80630560bd96146132fa5780630dcfe5fa14613281578063296b5cc8146130365780632e36091414612f0957806342b8c5e914612e1c5780634349597a14612d725780634df988ae14612d205780635a0d50dc1461241e5780636f2da65714612393578063715018a61461233657806372b1df29146122fe5780637d251776146121c05780638129fc1c14611fe8578063820d0f1514611ee95780638da5cb5b14611ec0578063977f39f414611e645780639a9ab03f14611bd2578063a133eb271461126b578063afd44bcc1461120b578063b8efa48e1461112e578063bb39200214611080578063c149243914610ee6578063d903bb1a14610925578063e5bde02914610884578063e68f909d14610395578063edbcc599146102b8578063f2fde38b146102295763fb8a7add1461015057600080fd5b346102245760003660031901126102245760845461018661017082613608565b9161017e60405193846134bb565b808352613608565b60209180830191601f190136833760005b81518110156101d857806101ad6101d392613cf7565b9054906101ba8386613ccd565b9163ffffffff60e01b9160031b1c60e01b169052613ca8565b610197565b5090604051928392818401908285525180915260408401929160005b82811061020357505050500390f35b83516001600160e01b031916855286955093810193928101926001016101f4565b600080fd5b346102245760203660031901126102245761024261335f565b61024a6136cc565b6001600160a01b038116156102645761026290613724565b005b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b3461022457600036600319011261022457600060a06040516102d981613468565b828152826020820152826040820152826060820152826080820152015260c060405161030481613468565b600080516020613e96833981519152549060ff82161515918282526020820163ffffffff928391828460081c1681528260408301818660281c16815281606085019360ff8860481c16151585528160a06080880197828b60501c168952019860701c168852604051998a525116602089015251166040870152511515606086015251166080840152511660a0820152f35b346102245760003660031901126102245760006103806040516103b781613483565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e0820152826101008201528261012082015282610140820152826101608201528261018082015260405161041381613432565b8381528360208201528360408201526101a0820152826101c0820152826101e08201528261020082015282610220820152826102408201528261026082015282610280820152826102a0820152826102c0820152826102e08201528261030082015282610320820152826103408201528261036082015201526103e060405161049b81613483565b6065546001600160a01b0390811682526066548116602083015260675481166040808401919091526068548216606084015260695482166080840152606a54821660a0840152606b54821660c0840152606c54821660e0840152606d548216610100840152606e548216610120840152606f54821661014084015260705482166101608401526071549091166101808301525161053781613432565b6072548152607354602082015260745460408201526101a082015260018060a01b03607554166101c082015260018060a01b03607654166101e082015260018060a01b036077541661020082015260785461022082015260018060a01b036079541661024082015260018060a01b03607a541661026082015260018060a01b03607b541661028082015260018060a01b03607c54166102a082015260018060a01b03607d54166102c082015260018060a01b03607e54166102e082015260018060a01b03607f541661030082015260018060a01b036080541661032082015260018060a01b036081541661034082015260018060a01b036082541661036082015260018060a01b03608354166103808201526040519060018060a01b03815116825260018060a01b03602082015116602083015260018060a01b03604082015116604083015260018060a01b03606082015116606083015260018060a01b03608082015116608083015260018060a01b0360a08201511660a083015260018060a01b0360c08201511660c083015260018060a01b0360e08201511660e083015260018060a01b036101008201511661010083015260018060a01b036101208201511661012083015260018060a01b036101408201511661014083015260018060a01b036101608201511661016083015260018060a01b036101808201511661018083015260406101a082015180516101a085015260208101516101c085015201516101e083015260018060a01b036101c08201511661020083015260018060a01b036101e08201511661022083015260018060a01b036102008201511661024083015261022081015161026083015260018060a01b036102408201511661028083015260018060a01b03610260820151166102a083015260018060a01b03610280820151166102c083015260018060a01b036102a0820151166102e083015260018060a01b036102c08201511661030083015260018060a01b036102e08201511661032083015260018060a01b036103008201511661034083015260018060a01b036103208201511661036083015260018060a01b036103408201511661038083015260018060a01b03610360820151166103a083015261038060018060a01b03910151166103c0820152f35b34610224576020366003190112610224576004356001600160401b038111610224576108b76108be91369060040161369f565b36916135a4565b602081519101206000527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285860205261092161090661090d60406000206040519283809261386a565b03826134bb565b6040519182916020835260208301906134ff565b0390f35b346102245760031960403682011261022457600435906001600160401b0382116102245761010090823603011261022457604051906109638261349f565b80600401356001600160401b0381116102245761098690600436918401016135ea565b82526024810135602083015261099e604482016133a1565b60408301526109af606482016133a1565b606083015260848101356001600160401b038111610224576109d790600436918401016135ea565b608083015260a4810135906001600160401b03821161022457610a0260e492600436918401016135ea565b60a0840152610a1360c482016133a1565b60c0840152013560e08201526024356001600160401b03811161022457610a3e9036906004016135ea565b610a46613b19565b610a4e6136cc565b610a74604051610a5d81613417565b60048152631c1bdcdd60e21b602082015282613c53565b15610e0257506020810151600052608660205260406000209080519182516001600160401b038111610d0057610ab481610aae8454613830565b8461397f565b6020601f8211600114610d9a5781929394600092610d8f575b50508160011b916000199060031b1c19161781555b6020820151600182015560408201516002820180546001600160a01b039283166001600160a01b0319918216179091556060840151600384018054919093169116179055608082015180519092906001600160401b038111610d0057610b5881610b4f6004860154613830565b6004860161397f565b6020601f8211600114610d215781929394600092610d16575b50508160011b916000199060031b1c19161760048301555b60a0810151918251926001600160401b038411610d0057610bba84610bb16005850154613830565b6005850161397f565b602090601f8511600114610c6f577f7c12821b273676cb850b9cef8196a8c54dcf6789078c6aa5dc7a3c0d652e6b58949160009183610c64575b50508160011b916000199060031b1c19161760058201555b6006810160018060a01b0360c0840151166001600160601b0360a01b825416179055600760e08301519101556020810151610c596040519283928352604060208401526040830190613524565b0390a15b6001608755005b015190508580610bf4565b906005830160005260206000209160005b601f1987168110610ce857509185916001937f7c12821b273676cb850b9cef8196a8c54dcf6789078c6aa5dc7a3c0d652e6b5897601f19811610610ccf575b505050811b016005820155610c0c565b015160001960f88460031b161c19169055858080610cbf565b91926020600181928685015181550194019201610c80565b634e487b7160e01b600052604160045260246000fd5b015190508480610b71565b6004840160005260206000209060005b601f1984168110610d775750600193949583601f19811610610d5e575b505050811b016004830155610b89565b015160001960f88460031b161c19169055848080610d4e565b9091602060018192858a015181550193019101610d31565b015190508480610acd565b8260005260206000209060005b601f1984168110610dea5750600193949583601f19811610610dd1575b505050811b018155610ae2565b015160001960f88460031b161c19169055848080610dc4565b9091602060018192858a015181550193019101610da7565b604051610e2a91610e1282613417565b600682526564656c65746560d01b6020830152613c53565b15610eb05760208082817f5420ccbc4de19a27bab83245950c1e88d67c9944a7f030f01ec78c3c27a960da940151600052608682526000600760408220610e7081613c0a565b826001820155826002820155826003820155610e8e60048201613c0a565b610e9a60058201613c0a565b82600682015501550151604051908152a1610c5d565b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c696420696e7075747360901b6044820152606490fd5b34610224576040366003190112610224576001600160401b0360043581811161022457610f1790369060040161369f565b60243583811161022457610f2f90369060040161369f565b929093610f3a6136cc565b610f453684846135a4565b80516020809201206000527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285881526040600020918511610d00578490610f9582610f8f8554613830565b8561397f565b600090601f8311600114611018575060009161100d575b508460011b906000198660031b1c19161790555b81604051928392833781016000815203902091816040519283928337810160008152039020907fbe341763477f316002d91bd656ce6600451213c169ee5883903f4f60426ff6df600080a3005b905085013586610fac565b91601f1981168460005283600020936000905b82821061106357505010611049575b5050600184811b019055610fc0565b860135600019600387901b60f8161c19169055858061103a565b80929350600185968293968d01358155019501930188929161102b565b34610224576040366003190112610224576110996133b5565b6024359060048210156102245760207fc29dfab8aee1ae5a857c884f518353e5f8a0d8e0649c8708f6b21bc92f4209ca916110d26136cc565b60038414611120575b6110e36136cc565b63ffffffff60e01b169283600052600080516020613eb68339815191528252611110816040600020613d37565b61111d60405180926133cc565ba2005b61112981613d4f565b6110db565b34610224576000366003190112610224576000608060405161114f8161344d565b828152826020820152826040820152826060820152015260a06040516111748161344d565b600080516020613e568339815191525463ffffffff918282169283825260208201818460201c1681526040830193600180881b0394859384809360401c16825282600080516020613e3683398151915254169360608701948552608084600080516020613e768339815191525416970196875260405198895251166020880152511660408601525116606084015251166080820152f35b3461022457602036600319011261022457602061126261122961335f565b6001600160a01b031660009081527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285b6020526040902090565b54604051908152f35b3461022457600319602036820112610224576001600160401b038060043511610224576104008092600435360301126102245760405191820182811082821117610d00576040526112c06004356004016133a1565b825260246004350135908111610224576112e190600436918135010161361f565b602082015260043560448101356040830152606481013560608301526084810135608083015260a481013560a083015261131d9060c4016133a1565b60c082015261133060e4600435016133a1565b60e0820152611344610104600435016133a1565b610100820152611359610124600435016133a1565b61012082015261136e610144600435016133a1565b610140820152611383610164600435016133a1565b610160820152611398610184600435016133a1565b6101808201526113ad6101a4600435016133a1565b6101a08201526113c26101c4600435016133a1565b6101c08201526113d76101e4600435016133a1565b6101e08201526113ec610204600435016133a1565b610200820152611401610224600435016133a1565b610220820152611416610244600435016133a1565b61024082015261142b610264600435016133a1565b610260820152611440610284600435016133a1565b6102808201526114556102a4600435016133a1565b6102a082015261146a6102c4600435016133a1565b6102c082015261147f6102e4600435016133a1565b6102e0820152611494610304600435016133a1565b6103008201526114a9610324600435016133a1565b6103208201526114be610344600435016133a1565b6103408201526114d3610364600435016133a1565b6103608201526114e8610384600435016133a1565b6103808201526114fd6103a4600435016133a1565b6103a08201526115126103c4600435016133a1565b6103c08201526115276103e4600435016133a1565b6103e08201526115356136cc565b61153d613b19565b6101e08101516001600160a01b031661155581613b6f565b611bb9575b5080516001600160a01b031661156f81613b6f565b611ba0575b506102008101516001600160a01b031661158d81613b6f565b611b87575b506101a08101516001600160a01b03166115ab81613b6f565b611b6e575b5060c08101516001600160a01b03166115c881613b6f565b611b55575b506101008101516001600160a01b03166115e681613b6f565b611b30575b50604081015160608201516080830151906040519261160984613432565b83526020830152604082015261161e81613b87565b15611afa5780516072556020810151607355604001516074556101208101516001600160a01b031661164f81613b6f565b611ae1575b506101408101516001600160a01b031661166d81613b6f565b611ac8575b506101c08101516001600160a01b031661168b81613b6f565b611aaf575b5060a081015180611aa6575b5060e08101516001600160a01b03166116b481613b6f565b611a8d575b506103008101516001600160a01b03166116d281613b6f565b611a74575b506103408101516001600160a01b03166116f081613b6f565b611a5b575b506103208101516001600160a01b031661170e81613b6f565b611a42575b506103608101516001600160a01b031661172c81613b6f565b611a29575b506103808101516001600160a01b031661174a81613b6f565b611a10575b506103a08101516001600160a01b031661176881613b6f565b6119f7575b506103c08101516001600160a01b031661178681613b6f565b6119de575b506101608101516001600160a01b03166117a481613b6f565b6119c5575b506101808101516001600160a01b03166117c281613b6f565b6119ac575b506102408101516001600160a01b03166117e081613b6f565b611993575b506102208101516001600160a01b03166117fe81613b6f565b61197a575b506102608101516001600160a01b031661181c81613b6f565b611961575b506102808101516001600160a01b031661183a81613b6f565b611948575b506102a08101516001600160a01b031661185881613b6f565b61192f575b506102c08101516001600160a01b031661187681613b6f565b611916575b506102e08101516001600160a01b031661189481613b6f565b6118fd575b506103e001516001600160a01b03166118b181613b6f565b6118e4575b7fb92061daa118e95e1aa6a46fa5276d6baae95eba5e758ad0887f3ef78adace6060405180610c59816139c6565b6001600160601b0360a01b6083541617608355806118b6565b6001600160601b0360a01b608254161760825581611899565b6001600160601b0360a01b60815416176081558161187b565b6001600160601b0360a01b60805416176080558161185d565b6001600160601b0360a01b607f541617607f558161183f565b6001600160601b0360a01b607e541617607e5581611821565b6001600160601b0360a01b607c541617607c5581611803565b6001600160601b0360a01b607d541617607d55816117e5565b6001600160601b0360a01b6076541617607655816117c7565b6001600160601b0360a01b6075541617607555816117a9565b6001600160601b0360a01b606f541617606f558161178b565b6001600160601b0360a01b606e541617606e558161176d565b6001600160601b0360a01b606d541617606d558161174f565b6001600160601b0360a01b606c541617606c5581611731565b6001600160601b0360a01b606a541617606a5581611713565b6001600160601b0360a01b606b541617606b55816116f5565b6001600160601b0360a01b6069541617606955816116d7565b6001600160601b0360a01b6077541617607755816116b9565b6078558161169c565b6001600160601b0360a01b607a541617607a5581611690565b6001600160601b0360a01b607154161760715581611672565b6001600160601b0360a01b607054161760705581611654565b60405162461bcd60e51b815260206004820152600e60248201526d496e76616c69642053706c69747360901b6044820152606490fd5b606880546001600160a01b0319166001600160a01b03909216919091179055816115eb565b6001600160601b0360a01b6066541617606655816115cd565b6001600160601b0360a01b6079541617607955816115b0565b6001600160601b0360a01b607b541617607b5581611592565b6001600160601b0360a01b606754161760675581611574565b6001600160601b0360a01b60655416176065558161155a565b34610224576003196020368201811361022457600435916001600160401b03908184116102245760409084360301126102245760405190611c1282613417565b836004013581811161022457611c2e906004369187010161361f565b8252602493848101359182116102245701913660238401121561022457600483013592611c5a84613608565b93611c6860405195866134bb565b808552858386019160051b830101913683116102245786849101915b838310611e5457509150508201928352611c9c613b19565b611ca46136cc565b81515183515103611e215760005b825151811015611d51576103e8611cca828651613ccd565b511015611d195780611ce0611d14928651613ccd565b51611d0484611cf0848851613ccd565b5181604051938285809451938492016134dc565b8101608581520301902055613ca8565b611cb2565b60405162461bcd60e51b81526004810183905260118187015270696e76616c6964206665652076616c756560781b6044820152606490fd5b509092506040519181835260608301935193604083850152845180915260808401908360808260051b8701019601916000905b828210611df457505050505192601f1983820301604084015281808551928381520194019160005b828110611de0577f1d5d5a6aeda19185043499093fee83fda5f443876a815bdd5dfb5e4bb18576c385870386a16001608755005b835186529481019492810192600101611dac565b90919294968780611e11600193607f198b820301865289516134ff565b9997019493919091019101611d84565b606490600d856040519262461bcd60e51b845260048401528201526c125b9d985b1a59081a5b9c1d5d609a1b6044820152fd5b8235815291810191849101611c84565b34610224576020366003190112610224576004356001600160401b03811161022457611ead6020611e9a819336906004016135ea565b81604051938285809451938492016134dc565b8101608581520301902054604051908152f35b34610224576000366003190112610224576033546040516001600160a01b039091168152602090f35b346102245760208060031936011261022457600060e0604051611f0b8161349f565b60608152828482015282604082015282606082015260606080820152606060a08201528260c0820152015260043560005260868152604060002090600760405192611f558461349f565b604051611f6681610906818561386a565b845260018101548385015260018060a01b03806002830154166040860152806003830154166060860152604051611fa481610906816004870161386a565b6080860152604051611fbd81610906816005870161386a565b60a086015260068201541660c0850152015460e0830152610921604051928284938452830190613524565b346102245760003660031901126102245760005460ff8160081c1615908180926121b3575b801561219c575b61201d9061376d565b60ff1981166001176000558161218a575b5061205260ff60005460081c16612044816137d0565b61204d816137d0565b6137d0565b61205b33613724565b6000549061206e60ff8360081c166137d0565b606460a060405161207e81613468565b60008152604b60208201526014604082015260006060820152600060808201520152600080516020613e968339815191526e640000000000000000140000004b006001600160901b0319825416179055600060806040516120de8161344d565b60028152606460208201528260408201528260608201520152600080516020613e5683398151915264640000000263ffffffff60e01b8254161790556001600160601b0360a01b600080516020613e36833981519152818154169055600080516020613e7683398151915290815416905561215557005b61ff0019166000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff1916610101176000558161202e565b50303b158015612014575060ff8116600114612014565b50600160ff82161061200d565b346102245760a0366003190112610224576121d96136cc565b60043563ffffffff80821680920361022457600080516020613e5683398151915291825492612206613942565b6001600160a01b0394906044358681168103610224578467ffffffff0000000091600160401b600160e01b039060401b169363ffffffff60e01b16179160201b161717905560643592808416809403610224576001600160601b0360a01b93600080516020613e36833981519152818682541617905560843593828516809503610224577f386dbf58efc832f07658bc89d0b1552d3a11a7cc20e3953cf7bd8796ccc1f8969560a095600080516020613e76833981519152918254161790556040519384526122d3613955565b166020840152816122e2613375565b16604084015260608301526122f561338b565b166080820152a1005b34610224576020366003190112610224576004357f9adeaf5f56ed44c39532f4e17724750ace61a4efefd70bdb78bd8d52f859eedb55005b346102245760003660031901126102245761234f6136cc565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b34610224576040366003190112610224576123ac61335f565b7f0fc88453320e48dee70566020e32b04f9c148fdf565be3b7d7d9c2838a06d7336020602435926123db6136cc565b6001600160a01b031660008181527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285b6020526040908190208590555193845292a2005b346102245760e03660031901126102245760405161243b8161344d565b61244361335f565b815260603660231901126102245760405161245d81613432565b602435815260443560208201526064356040820152602082015261247f61338b565b604082015260a4356001600160a01b038116810361022457606082015260c4356001600160a01b03811690036102245760c43560808201526000549060ff8260081c161591828093612d13575b8015612cfc575b6124dc9061376d565b60ff19811660011760005582612cea575b5061250360ff60005460081c16612044816137d0565b61250c33613724565b61251d60ff60005460081c166137d0565b606460a060405161252d81613468565b60008152604b60208201526014604082015260006060820152600060808201520152600080516020613e968339815191526e640000000000000000140000004b006001600160901b03198254161790556000608060405161258d8161344d565b60028152606460208201528260408201528260608201520152600080516020613e5683398151915264640000000263ffffffff60e01b825416179055600080516020613e368339815191526001600160601b0360a01b8154169055600080516020613e768339815191526001600160601b0360a01b8154169055604060018060a01b0382511661273c6020840151916000610380855161262c81613483565b33815282602082015282878201528360608201528260808201528260a08201528260c08201528260e08201528261010082015282610120820152826101408201528261016082015282610180820152856101a0820152826101c0820152826101e0820152826102008201526032610220820152826102408201528261026082015282610280820152826102a0820152826102c0820152826102e0820152826103008201528261032082015282610340820152826103608201520152336001600160601b0360a01b60655416176065556001600160601b0360a01b606654166066556001600160601b0360a01b6067541660675560018060a01b03166001600160601b0360a01b6068541617606855565b606980546001600160a01b0319908116909155606a805482169055606b805482169055606c805482169055606d805482169055606e805482169055606f805482169055607080548216905560718054821690558151607255602082015160735591015160745560758054821690556076805482169055607780548216905560326078556079805482169055607a805482169055607b805482169055607c805482169055607d805482169055607e805482169055607f8054821690556080805482169055608180548216905560828054821690556083805490911690556040517fb92061daa118e95e1aa6a46fa5276d6baae95eba5e758ad0887f3ef78adace609080612847816139c6565b0390a160808101516040808301516060909301519051926001600160a01b039283169291821691166128788461349f565b60405161288481613417565b60078152662837b63cb3b7b760c91b60208201528452466020850152604084015260608301526040516128b6816133fc565b6000815260808301526040516128cb816133fc565b6000815260a083015260c0820152600060e082015246600052608660205260406000209181519283516001600160401b038111610d005761291081610aae8454613830565b6020601f8211600114612c81578192939495600092612c76575b50508160011b916000199060031b1c19161781555b6020830151600182015560408301516002820180546001600160a01b039283166001600160a01b0319918216179091556060850151600384018054919093169116179055608083015180519093906001600160401b038111610d00576129ac81610b4f6004860154613830565b6020601f8211600114612c07578192939495600092612bfc575b50508160011b916000199060031b1c19161760048301555b60a08101518051906001600160401b038211610d0057612a0e82612a056005870154613830565b6005870161397f565b602090601f8311600114612b875791806007949260e094600092612b7c575b50508160011b916000199060031b1c19161760058501555b6006840160018060a01b0360c0830151166001600160601b0360a01b82541617905501519101554660005260866020527f7c12821b273676cb850b9cef8196a8c54dcf6789078c6aa5dc7a3c0d652e6b58604060002060405180914682526040602083015261010060408301526007612b1e612ac561014085018461386a565b6001840154606086015260028401546001600160a01b03908116608087015260038501541660a0860152848103603f1990810160c087015290612b0b906004860161386a565b908582030160e08601526005840161386a565b60068301546001600160a01b03166101008501529101546101208301520390a1612b4457005b61ff0019600054166000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b015190508780612a2d565b906005850160005260206000209160005b601f1985168110612be45750926007949260019260e09583601f19811610612bcb575b505050811b016005850155612a45565b015160001960f88460031b161c19169055878080612bbb565b91926020600181928685015181550194019201612b98565b0151905085806129c6565b6004840160005260206000209060005b601f1984168110612c5e575060019394959683601f19811610612c45575b505050811b0160048301556129de565b015160001960f88460031b161c19169055858080612c35565b9091602060018192858b015181550193019101612c17565b01519050858061292a565b8260005260206000209060005b601f1984168110612cd2575060019394959683601f19811610612cb9575b505050811b01815561293f565b015160001960f88460031b161c19169055858080612cac565b9091602060018192858b015181550193019101612c8e565b61ffff191661010117600055826124ed565b50303b1580156124d3575060ff81166001146124d3565b50600160ff8216106124cc565b34610224576020366003190112610224576001600160e01b0319612d426133b5565b16600052600080516020613eb6833981519152602052602060ff60406000205416612d7060405180926133cc565bf35b3461022457604036600319011261022457612d8b61335f565b602435908115158092036102245760207f1527477b814a609b77a3a52f49fae682370acb615a0212d9e5229186cd66e94d91612dc56136cc565b6001600160a01b03811660009081527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285a60205260409020805460ff191660ff86161790556040519384526001600160a01b031692a2005b34610224576020806003193601126102245760a090612e396133b5565b604051612e4581613432565b60008152604051612e5581613417565b60008152600084820152838201526040805191612e7183613417565b60008352600085840152015263ffffffff60e01b16600052600080516020613eb68339815191528152612d706040600020612efe60405193612eb285613432565b612ec060ff84541686613900565b612ede6002612ed16001860161390c565b948388019586520161390c565b9260408601938452612ef46040518097516133cc565b51908501906133d9565b5160608301906133d9565b346102245760c036600319011261022457612f226136cc565b60043580151580910361022457600080516020613e968339815191529081549064ffffffff00612f50613942565b60081b16916044359063ffffffff8083168084036102245760643591821515809303610224576084359781891694858a036102245760a43599838b1697888c036102245768ffffffff000000000060c09b7f9ba2671e8e8451ccaa99b5ba3b232e5a1b174450f12aa494675d0941fa4c17f99d63ffffffff60701b9060701b169460ff8d16906001600160901b03191617179160281b161769ff0000000000000000008760481b16179063ffffffff60501b9060501b1617179055604051958652613019613955565b16602086015260408501526060840152608083015260a0820152a1005b346102245760803660031901126102245761304f6133b5565b6001600160a01b039060243582811691908290036102245761306f613375565b926064356004811015610224576130846136cc565b60038181036131df575061309783613d4f565b61309f6136cc565b604051906130ac82613417565b600082526020928584840152604051966130c588613417565b6001885216958684820152604051946130dd86613432565b6130e78387613900565b8486019384526040860191825263ffffffff60e01b169485600052600080516020613eb683398151915285526040600020905160048110156131c95761312d9082613d37565b92518051600185019460028210156131c95785600292889754610100600160a81b03998a96015160ff6affffffffffffffffffffff60a81b97889260081b16931691161717905501915180519160028310156131c95760ff7ffa06e62a5e92c6354ccefe5daec331c8025e54e73ab99084cc91cb5dca242f2a9787865494015160081b1693169116171790556131c660405180926133cc565ba4005b634e487b7160e01b600052602160045260246000fd5b608454906000906001600160e01b031986811690835b85811061324f57505050501561320c575b50613097565b600160401b811015610d00578361322c8260016132499401608455613cf7565b90919063ffffffff83549160031b9260e01c831b921b1916179055565b85613206565b828261325a83613cf7565b905490871b1c60e01b1614613278575b61327390613ca8565b6131f5565b6001945061326a565b346102245760003660031901126102245760405161329e816133fc565b604051906132ab826133fc565b600082525260206040516132be816133fc565b60405180916132cc826133fc565b7f9adeaf5f56ed44c39532f4e17724750ace61a4efefd70bdb78bd8d52f859eedb5482525260405190518152f35b3461022457602036600319011261022457602060ff61335361331a61335f565b6001600160a01b031660009081527fdebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df2230285a6020526040902090565b54166040519015158152f35b600435906001600160a01b038216820361022457565b604435906001600160a01b038216820361022457565b608435906001600160a01b038216820361022457565b35906001600160a01b038216820361022457565b600435906001600160e01b03198216820361022457565b9060048210156131c95752565b80519060028210156131c9579082526020908101516001600160a01b0316910152565b602081019081106001600160401b03821117610d0057604052565b604081019081106001600160401b03821117610d0057604052565b606081019081106001600160401b03821117610d0057604052565b60a081019081106001600160401b03821117610d0057604052565b60c081019081106001600160401b03821117610d0057604052565b6103a081019081106001600160401b03821117610d0057604052565b61010081019081106001600160401b03821117610d0057604052565b90601f801991011681019081106001600160401b03821117610d0057604052565b60005b8381106134ef5750506000910152565b81810151838201526020016134df565b90602091613518815180928185528580860191016134dc565b601f01601f1916010190565b9060e08061353b84516101008086528501906134ff565b936020810151602085015261359061357e60018060a01b0396876040850151166040880152876060850151166060880152608084015187820360808901526134ff565b60a083015186820360a08801526134ff565b9460c08201511660c0850152015191015290565b9291926001600160401b038211610d0057604051916135cd601f8201601f1916602001846134bb565b829481845281830111610224578281602093846000960137010152565b9080601f8301121561022457816020613605933591016135a4565b90565b6001600160401b038111610d005760051b60200190565b9080601f830112156102245781359061363782613608565b9261364560405194856134bb565b828452602092838086019160051b8301019280841161022457848301915b8483106136735750505050505090565b82356001600160401b038111610224578691613694848480948901016135ea565b815201920191613663565b9181601f84011215610224578235916001600160401b038311610224576020838186019501011161022457565b6033546001600160a01b031633036136e057565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b1561377457565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b156137d757565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b90600182811c92168015613860575b602083101461384a57565b634e487b7160e01b600052602260045260246000fd5b91607f169161383f565b906000929180549161387b83613830565b9182825260019384811690816000146138dd575060011461389d575b50505050565b90919394506000526020928360002092846000945b8386106138c9575050505001019038808080613897565b8054858701830152940193859082016138b2565b9294505050602093945060ff191683830152151560051b01019038808080613897565b60048210156131c95752565b9060405161391981613417565b80925460ff81169060028210156131c95790825260081c6001600160a01b031660209190910152565b60243563ffffffff811681036102245790565b6024359063ffffffff8216820361022457565b818110613973575050565b60008155600101613968565b9190601f811161398e57505050565b6139ba926000526020600020906020601f840160051c830193106139bc575b601f0160051c0190613968565b565b90915081906139ad565b6065546001600160a01b0390811682526066548116602083015260675481166040830152606854811660608301526069548116608080840191909152606a54821660a0840152606b54821660c0840152606c54821660e0840152606d548216610100840152606e548216610120840152606f548216610140840152607054821661016084015260715482166101808401526072546101a08401526073546101c08401526074546101e08401526075548216610200840152607654821661022084015260775482166102408401526078546102608401526079548216610280840152607a5482166102a0840152607b5482166102c0840152607c5482166102e0840152607d548216610300840152607e548216610320840152607f548216610340840152548116610360830152608154811661038083015260825481166103a0830152608354166103c08201526103e00190565b600260875414613b2a576002608755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b6001600160a01b031615613b8257600190565b600090565b805190606482118015613bfc575b8015613bee575b15613ba8575050600090565b602081015190818310159283613bdf575b5082613bd0575b5050613bcb57600090565b600190565b60400151101590503880613bc0565b60408201511115925038613bb9565b506064604082015111613b9c565b506064602082015111613b95565b613c148154613830565b9081613c1e575050565b81601f60009311600114613c30575055565b908083918252613c4f601f60208420940160051c840160018501613968565b5555565b9060405191602092613c81848281613c7481830196878151938492016134dc565b81010380845201826134bb565b51902091613ca1604051918281613c7481830196878151938492016134dc565b5190201490565b6000198114613cb75760010190565b634e487b7160e01b600052601160045260246000fd5b8051821015613ce15760209160051b010190565b634e487b7160e01b600052603260045260246000fd5b90608454821015613ce1576084600052601c8260031c7f50250e93f8c73d2c1be015ec28e8cd2feb871efa71e955ad24477aafb09484fa019260021b1690565b9060048110156131c95760ff80198354169116179055565b6000808192608454935b848110613df5575b5050613d6b575050565b60001991808301908111613cb757613db791613d89613d9292613cf7565b92905491613cf7565b91909260031b1c60e01b9063ffffffff83549160031b9260e01c831b921b1916179055565b6084548015613ddf5701613dca81613cf7565b63ffffffff82549160031b1b19169055608455565b634e487b7160e01b600052603160045260246000fd5b613dfe81613cf7565b905463ffffffff60e01b908185169260031b1c60e01b1614613e2857613e2390613ca8565b613d59565b9250505060013880613d6156fedebda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302856debda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302855debda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302857debda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302854debda8d00e660e70f0186e78ec1bf4113321596136d08a9edd0344df22302859a2646970667358221220737facf0ab8353173974ee200f0b13c5b3efbc7fbcc3d7c957b933873b1ac49464736f6c63430008120033"; type RegistrarConstructorParams = - | [linkLibraryAddresses: RegistrarLibraryAddresses, signer?: Signer] + | [signer?: Signer] | ConstructorParameters; const isSuperArgs = ( xs: RegistrarConstructorParams -): xs is ConstructorParameters => { - return ( - typeof xs[0] === "string" || - (Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) || - "_isInterface" in xs[0] - ); -}; +): xs is ConstructorParameters => xs.length > 1; export class Registrar__factory extends ContractFactory { constructor(...args: RegistrarConstructorParams) { if (isSuperArgs(args)) { super(...args); } else { - const [linkLibraryAddresses, signer] = args; - super( - _abi, - Registrar__factory.linkBytecode(linkLibraryAddresses), - signer - ); + super(_abi, _bytecode, args[0]); } } - static linkBytecode(linkLibraryAddresses: RegistrarLibraryAddresses): string { - let linkedBytecode = _bytecode; - - linkedBytecode = linkedBytecode.replace( - new RegExp("__\\$f284c32d832c07e2014212a56f3cfbb80e\\$__", "g"), - linkLibraryAddresses[ - "contracts/core/registrar/registrar.sol:RegistrarLib" - ] - .replace(/^0x/, "") - .toLowerCase() - ); - - linkedBytecode = linkedBytecode.replace( - new RegExp("__\\$cdb3a974a6603f5f21ad73b7f4e0c6fc0b\\$__", "g"), - linkLibraryAddresses["contracts/lib/Strings/string.sol:StringArray"] - .replace(/^0x/, "") - .toLowerCase() - ); - - return linkedBytecode; - } - override deploy( overrides?: Overrides & { from?: PromiseOrValue } ): Promise { @@ -1599,8 +1653,3 @@ export class Registrar__factory extends ContractFactory { return new Contract(address, _abi, signerOrProvider) as Registrar; } } - -export interface RegistrarLibraryAddresses { - ["contracts/core/registrar/registrar.sol:RegistrarLib"]: string; - ["contracts/lib/Strings/string.sol:StringArray"]: string; -} diff --git a/typechain-types/factories/contracts/core/registrar/registrar.sol/index.ts b/typechain-types/factories/contracts/core/registrar/registrar.sol/index.ts index 5e8dc6aea..29a299f25 100644 --- a/typechain-types/factories/contracts/core/registrar/registrar.sol/index.ts +++ b/typechain-types/factories/contracts/core/registrar/registrar.sol/index.ts @@ -2,4 +2,3 @@ /* tslint:disable */ /* eslint-disable */ export { Registrar__factory } from "./Registrar__factory"; -export { RegistrarLib__factory } from "./RegistrarLib__factory"; diff --git a/typechain-types/factories/contracts/core/router/IRouter__factory.ts b/typechain-types/factories/contracts/core/router/IRouter__factory.ts index 2e062bf92..e2bfbd38f 100644 --- a/typechain-types/factories/contracts/core/router/IRouter__factory.ts +++ b/typechain-types/factories/contracts/core/router/IRouter__factory.ts @@ -60,6 +60,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], indexed: false, internalType: "struct IRouter.VaultActionData", @@ -110,6 +115,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], indexed: false, internalType: "struct IRouter.VaultActionData", @@ -166,6 +176,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], indexed: false, internalType: "struct IRouter.VaultActionData", @@ -216,6 +231,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], indexed: false, internalType: "struct IRouter.VaultActionData", @@ -272,6 +292,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], indexed: false, internalType: "struct IRouter.VaultActionData", @@ -328,6 +353,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], indexed: false, internalType: "struct IRouter.VaultActionData", @@ -384,6 +414,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], indexed: false, internalType: "struct IRouter.VaultActionData", @@ -485,6 +520,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], internalType: "struct IRouter.VaultActionData", name: "", @@ -599,6 +639,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], internalType: "struct IRouter.VaultActionData", name: "", diff --git a/typechain-types/factories/contracts/core/router/Router__factory.ts b/typechain-types/factories/contracts/core/router/Router__factory.ts index 1f06b228d..b01a30f6d 100644 --- a/typechain-types/factories/contracts/core/router/Router__factory.ts +++ b/typechain-types/factories/contracts/core/router/Router__factory.ts @@ -65,6 +65,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], indexed: false, internalType: "struct IRouter.VaultActionData", @@ -115,6 +120,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], indexed: false, internalType: "struct IRouter.VaultActionData", @@ -171,6 +181,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], indexed: false, internalType: "struct IRouter.VaultActionData", @@ -234,6 +249,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], indexed: false, internalType: "struct IRouter.VaultActionData", @@ -290,6 +310,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], indexed: false, internalType: "struct IRouter.VaultActionData", @@ -365,6 +390,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], indexed: false, internalType: "struct IRouter.VaultActionData", @@ -421,6 +451,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], indexed: false, internalType: "struct IRouter.VaultActionData", @@ -489,6 +524,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], internalType: "struct IRouter.VaultActionData", name: "action", @@ -595,6 +635,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], internalType: "struct IRouter.VaultActionData", name: "", @@ -709,6 +754,11 @@ const _abi = [ name: "liqAmt", type: "uint256", }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, ], internalType: "struct IRouter.VaultActionData", name: "", @@ -864,7 +914,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60808060405234610016576136b3908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c9081630423bde4146112f657508063116191b6146112cd5780631a98b2e01461116e5780632b20e397146111455780634916065814610e095780635d9c828814610cfa578063715018a614610c9c5780637e5c78b41461093a57806380d14b4a146109115780638136367b146104eb5780638da5cb5b146104c2578063c763e5a11461047f578063f2fde38b146103ec5763f34822b4146100bb57600080fd5b346103e95760803660031901126103e9576001600160401b036004358181116103e5576100ec903690600401611b04565b9091906001600160a01b039060243582811691908290036103e057604435908382168092036103e0576064359384168094036103e05786549560ff8760081c1615958680976103d3575b80156103bc575b1561036057600197878960ff198316178b5561034f575b50821161033b578190610168606654611c19565b601f81116102cb575b508890601f831160011461024c578992610241575b5050600019600383901b1c191690861b176066555b6bffffffffffffffffffffffff60a01b9283606754161760675582606854161760685560ff855460081c16906101d082611dd1565b801561022f576101e7926065541617606555611dd1565b6101f033611d4f565b6101f8575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff00198454168455604051908152a180f35b60405163e6c4247b60e01b8152600490fd5b013590503880610186565b60668a528893507f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e9435491601f1984168b5b8181106102b357508411610299575b505050811b0160665561019b565b0135600019600384901b60f8161c1916905538808061028b565b8284013585558b96909401936020928301920161027c565b909150606689527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e94354601f840160051c81019160208510610331575b84939291601f8b920160051c01915b828110610323575050610171565b8b81558594508a9101610315565b9091508190610306565b634e487b7160e01b88526041600452602488fd5b61ffff191661010117895538610154565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561013d5750600160ff89161461013d565b50600160ff891610610136565b600080fd5b8280fd5b80fd5b50346103e95760203660031901126103e9576004356001600160a01b0381168082036103e05761041a611cf7565b1561042b5761042890611d4f565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b50346103e957806003193601126103e9576104be6040516104aa816104a381611c53565b0382611a47565b604051918291602083526020830190611b54565b0390f35b50346103e957806003193601126103e9576033546040516001600160a01b039091168152602090f35b50346103e95760031960e03682011261090d576001600160401b03906004358281116109095761051f903690600401611aba565b9160243581811161090557610538903690600401611aba565b604435828111610901573660238201121561090157610561903690602481600401359101611a83565b916064359081116109015761057a903690600401611aba565b936084359360a4359560018060a01b038088168098036103e057889760c435303303610857576065546040516349ad89fb60e11b8152602060048201819052918516908281806105cd602482018b611b54565b0381855afa80156108b0578387918f8f9080926108bb575b60405163095ea7b360e01b8082526001600160a01b039098166004820152602481019290925290945091928492839182604481015b0393165af19081156108b0578d91610893575b50156108185760685460405191825285166001600160a01b031660048201526024810183905281816044818f885af1918215610888578c9261085b575b5050156108575760049060a0846067541660405193848092635c77d24760e11b82525afa91821561084c578b9261081c575b5083604081606854169301511691803b1561081857888c898d82968e968c998c6040519b8c9a8b998a9863edb6b3a560e01b8a523060048b015260248a0161012090526101248a016106ed91611b54565b838a82030160448b015261070091611b54565b828982030160648a015261071391611b54565b9087820301608488015261072691611b54565b9360a486015260c485015260e484015261010483015203925af190811561080d5789916107f9575b50506065541692833b156107f5576107a4966107c3610794948a98946107b48a966040519c8d9b8c9a8b99632d505c2160e21b8b5260a060048c015260a48b0190611b54565b90868a83030160248b0152611b54565b9084888303016044890152611b54565b91858303016064860152611b54565b90608483015203925af180156107ea576107da5750f35b6107e390611a34565b6103e95780f35b6040513d84823e3d90fd5b8780fd5b61080290611a34565b6107f557873861074e565b6040513d8b823e3d90fd5b8b80fd5b61083e91925060a03d8111610845575b6108368183611a47565b8101906120d5565b903861069c565b503d61082c565b6040513d8d823e3d90fd5b8980fd5b61087a9250803d10610881575b6108728183611a47565b810190611d98565b388061066a565b503d610868565b6040513d8e823e3d90fd5b6108aa9150833d8511610881576108728183611a47565b3861062d565b6040513d8f823e3d90fd5b505050905081813d83116108fa575b6108d48183611a47565b810103126108f6578261061a8e8e6108ec8a95611e7d565b91859493506105e5565b8c80fd5b503d6108ca565b8580fd5b8480fd5b8380fd5b5080fd5b50346103e957806003193601126103e9576068546040516001600160a01b039091168152602090f35b50346103e95760603660031901126103e9576001600160401b036004358181116103e55761096c903690600401611b04565b919060243582811161090557610986903690600401611b04565b926044359081116109015761099f903690600401611b04565b9190926109aa611fd9565b5060675460405163e5bde02960e01b8152602060048201526001600160a01b0390911696908881806109de60248201611c53565b03818b5afa90811561080d57610a096000949392610a19928c610a459c9d92610c81575b50506134d3565b6001600160a01b03163314612078565b610a21611fd9565b5060405163e5bde02960e01b81526020600482015297889283926024840191611db0565b0381895afa938415610c0557610aa4610a9f610aac93610a8f610ab398610ab89a600091610c60575b50610a7a368785611a83565b60208151910120906020815191012014612150565b6001600160a01b03933691611a83565b6134d3565b161515612150565b3691611a83565b612493565b6020810180516040516342b8c5e960e01b81526001600160e01b03199182166004820152909390919060a083602481845afa928315610c0557600093610c30575b50610b02611fd9565b9480835116906040516326fcc45760e11b928382526004820152602081602481875afa908115610c0557600091610c11575b506004811015610bbe57600114938415610b74575b6104be610b6088888b610b5b8a611ecc565b612d81565b604051918291602083526020830190611b79565b5160405192835216600482015293929150602090849060249082905afa928315610c0557600093610bd4575b506004831015610bbe57909160021483610b5b610b606104be610b49565b634e487b7160e01b600052602160045260246000fd5b610bf791935060203d602011610bfe575b610bef8183611a47565b810190611eb4565b9138610ba0565b503d610be5565b6040513d6000823e3d90fd5b610c2a915060203d602011610bfe57610bef8183611a47565b38610b34565b610c5291935060a03d8111610c59575b610c4a8183611a47565b810190611f5b565b9138610af9565b503d610c40565b610c7b913d8091833e610c738183611a47565b810190612053565b38610a6e565b610c9592503d8091833e610c738183611a47565b3880610a02565b50346103e957806003193601126103e957610cb5611cf7565b603380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346103e95760a03660031901126103e9576001600160401b036004358181116103e557610d2c903690600401611b04565b60249291923582811161090557610d47903690600401611b04565b9092604435818111610e0557610d61903690600401611b04565b9290916064359081116107f557610d7c903690600401611b04565b959094610d87611fd9565b5060675460405163e5bde02960e01b8152602060048201526001600160a01b03918b90829084168180610dbc60248201611c53565b03915afa90811561084c5791610dec610df492610b609c9b9a9998979695948e6104be9f92610c815750506134d3565b163314612078565b60843597610e00611fd9565b612190565b8680fd5b50346103e957600319906080368301126103e95760246001600160401b03813581811161090957610e3e903690600401611b04565b9160443581811161090157610e57903690600401611b04565b9091606435908111610e0557610e71903690600401611b04565b9091610e7e368385611a83565b98818a519a8760209c8d80930120938a8d8d600160a01b60019003978c896065541695604051998a9889978896635f6970c360e01b885260043560048901528701608090526084870190610ed192611db0565b91858303016044860152610ee492611db0565b90606483015203925af190811561113a578a9161111d575b501561110b57610f0a611fd9565b5060008160675416978b610f37604051998a93849363e5bde02960e01b855260048501528d840191611db0565b03818a5afa8015610c0557610a9f610ab396610aac94610aac8e610aa495610f7f9c6000916110f2575b50610f6d368587611a83565b82815191012091815191012014612150565b918483019463ffffffff60e01b918287511693604051946342b8c5e960e01b8652600486015260a0858381845afa948515610c05576000956110d2575b50610fc5611fd9565b9380895116906040516326fcc45760e11b92838252600482015285818681875afa908115610c05576000916110b5575b5060048110156110a057600114998a1561101f575b508861101b898989610b5b8f611ecc565b5080f35b859a509084959394915116916040519485938492835260048301525afa968715610c0557600097611081575b5050600486101561106d5750610b5b600261101b95961495943880808061100a565b634e487b7160e01b60009081526021600452fd5b611098929750803d10610bfe57610bef8183611a47565b94388061104b565b84634e487b7160e01b60005260216004526000fd5b6110cc9150863d8811610bfe57610bef8183611a47565b38610ff5565b6110eb91955060a03d8111610c5957610c4a8183611a47565b9338610fbc565b611105913d8091833e610c738183611a47565b38610f61565b604051631403112d60e21b8152600490fd5b61113491508b3d8d11610881576108728183611a47565b38610efc565b6040513d8c823e3d90fd5b50346103e957806003193601126103e9576067546040516001600160a01b039091168152602090f35b50346103e95760031960c03682011261090d576001600160401b0390602435828111610909576111a2903690600401611b04565b929091604435828111610901576111bd903690600401611b04565b90926064358181116107f5576111d7903690600401611b04565b9290916084359081116112c9576111f2903690600401611b04565b959094611200368686611a83565b8051602090910120606554604051631876eed960e01b8152600480359082015260c06024820152926001600160a01b0390911691839182919061124760c484018f8f611db0565b8184820301604485015261125c908989611db0565b916064840152828203016084830152611276908b8b611db0565b60a43560a483015203818d5a94602095f190811561113a578a916112ab575b501561110b5761101b9760a43597610e00611fd9565b6112c3915060203d8111610881576108728183611a47565b38611295565b8880fd5b50346103e957806003193601126103e9576065546040516001600160a01b039091168152602090f35b82346103e9576003199160603684011261090d57600435926001600160401b03908185116109095760e09085360301126103e55761133382611a03565b83600401358181116109095761134f9060043691870101611aba565b825261135d60248501611ad8565b602083015261136e60448501611ad8565b604083019081526064850135828111610905578501913660238401121561090557600483013561139d81611aed565b936113ab6040519586611a47565b8185526024602086019260051b820101903682116107f557602401915b8183106119e6575050506060840183905260848601356001600160a01b038116810361090157608085015260c460a085019660a48101358852013560c085015260243590811161090557611420903690600401611b04565b919092303303610901576001611437915114611e31565b516001600160e01b03191663df2326f560e01b016119a1576065546040516349ad89fb60e11b81526020600482018190529093909284926001600160a01b0316918391829161148a916024840191611db0565b03915afa9081156117c9578391611967575b5060808201516001600160a01b0391821691168103611931576114c560c0830151855190611e91565b604435036118fa578351158015906118ed575b156118a8576067546040516302b05ecb60e11b815260048101929092526001600160a01b031690602081602481855afa9081156116c6578491611889575b501561184f576020828101516040516326fcc45760e11b81526001600160e01b031990911660048201529081602481855afa9081156116c6578491611830575b50600481101561181c57600161156c9114611ecc565b60a063ffffffff60e01b6020840151166024604051809481936342b8c5e960e01b835260048301525afa9081156117c95783916117fe575b508351806116d1575b5082935060c0820151806115c057505050f35b608083015160409283018051602090810151945163a9059cbb60e01b81526001600160a01b039586166004820152602481019490945290939091839160449183918991165af19081156116c65784916116a7575b50156116a357602060018060a01b03915101511663ffffffff61163a6060840151611fb6565b51169060c060018060a01b0360808501511693015190803b15610905576040516320dcd90b60e01b815263ffffffff90931660048401526001600160a01b039093166024830152604482015290829082908183816064810103925af180156107ea576107da5750f35b5050fd5b6116c0915060203d602011610881576108728183611a47565b85611614565b6040513d86823e3d90fd5b60808301516020838101805182015160405163a9059cbb60e01b81526001600160a01b0391821660048201526024810195909552909392839160449183918a91165af19081156117f35785916117d4575b501561090957602060018060a01b03915101511663ffffffff6117486060850151611fb6565b5160808501519651966001600160a01b03169116823b15610901576040516320dcd90b60e01b815263ffffffff90911660048201526001600160a01b0390911660248201526044810195909552839085908183816064810103925af180156117c9576117b5575b836115ad565b9190926117c190611a34565b9082906117af565b6040513d85823e3d90fd5b6117ed915060203d602011610881576108728183611a47565b86611722565b6040513d87823e3d90fd5b611816915060a03d8111610c5957610c4a8183611a47565b846115a4565b634e487b7160e01b84526021600452602484fd5b611849915060203d602011610bfe57610bef8183611a47565b85611556565b60405162461bcd60e51b8152602060048201526012602482015271151bdad95b881b9bdd081858d8d95c1d195960721b6044820152606490fd5b6118a2915060203d602011610881576108728183611a47565b85611516565b60405162461bcd60e51b815260206004820152601a60248201527f4e6f207661756c74206465706f736974207370656369666965640000000000006044820152606490fd5b5060c082015115156114d8565b60405162461bcd60e51b815260206004820152600f60248201526e082dadeeadce840dad2e6dac2e8c6d608b1b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d0a8ded6cadc40dad2e6dac2e8c6d60931b6044820152606490fd5b90506020813d602011611999575b8161198260209383611a47565b810103126103e55761199390611e7d565b8461149c565b3d9150611975565b60405162461bcd60e51b815260206004820152601b60248201527f4f6e6c79206465706f736974206163636570747320746f6b656e7300000000006044820152606490fd5b823563ffffffff811681036112c9578152602092830192016113c8565b60e081019081106001600160401b03821117611a1e57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b038111611a1e57604052565b90601f801991011681019081106001600160401b03821117611a1e57604052565b6001600160401b038111611a1e57601f01601f191660200190565b929192611a8f82611a68565b91611a9d6040519384611a47565b8294818452818301116103e0578281602093846000960137010152565b9080601f830112156103e057816020611ad593359101611a83565b90565b35906001600160e01b0319821682036103e057565b6001600160401b038111611a1e5760051b60200190565b9181601f840112156103e0578235916001600160401b0383116103e057602083818601950101116103e057565b60005b838110611b445750506000910152565b8181015183820152602001611b34565b90602091611b6d81518092818552858086019101611b31565b601f01601f1916010190565b90611b8d825160e0835260e0830190611b54565b9163ffffffff60e01b602090808284015116828501526040830151166040840152606082015193838103606085015281808651928381520195019160005b828110611bff575050506080808301516001600160a01b0316908401525060a0808201519083015260c09081015191015290565b835163ffffffff1687529581019592810192600101611bcb565b90600182811c92168015611c49575b6020831014611c3357565b634e487b7160e01b600052602260045260246000fd5b91607f1691611c28565b60665460009291611c6382611c19565b80825291600190818116908115611cda5750600114611c8157505050565b9192935060666000527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e94354916000925b848410611cc257505060209250010190565b80546020858501810191909152909301928101611cb0565b915050602093945060ff929192191683830152151560051b010190565b6033546001600160a01b03163303611d0b57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b908160209103126103e0575180151581036103e05790565b908060209392818452848401376000828201840152601f01601f1916010190565b15611dd857565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b15611e3857565b60405162461bcd60e51b815260206004820152601860248201527f4f6e6c79206f6e65206163636f756e7420616c6c6f77656400000000000000006044820152606490fd5b51906001600160a01b03821682036103e057565b91908201809211611e9e57565b634e487b7160e01b600052601160045260246000fd5b908160209103126103e0575160048110156103e05790565b15611ed357565b60405162461bcd60e51b815260206004820152601560248201527414dd1c985d1959de481b9bdd08185c1c1c9bdd9959605a1b6044820152606490fd5b91908260409103126103e057604051604081018181106001600160401b03821117611a1e57604052809280519060028210156103e0576020611f56918193855201611e7d565b910152565b60a0818303126103e05760405191606083018381106001600160401b03821117611a1e57604052815160048110156103e057611fae926060918552611fa38360208301611f10565b602086015201611f10565b604082015290565b805115611fc35760200190565b634e487b7160e01b600052603260045260246000fd5b60405190611fe682611a03565b600060c083606081528260208201528260408201526060808201528260808201528260a08201520152565b81601f820112156103e057805161202781611a68565b926120356040519485611a47565b818452602082840101116103e057611ad59160208085019101611b31565b906020828203126103e05781516001600160401b0381116103e057611ad59201612011565b1561207f57565b60405162461bcd60e51b815260206004820152601760248201527f556e617574686f72697a6564206c6f63616c2063616c6c0000000000000000006044820152606490fd5b519063ffffffff821682036103e057565b908160a09103126103e0576040519060a082018281106001600160401b03821117611a1e576121489160809160405261210d816120c4565b845261211b602082016120c4565b602085015261212c60408201611e7d565b604085015261213d60608201611e7d565b606085015201611e7d565b608082015290565b1561215757565b60405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5e99590810d85b1b607a1b6044820152606490fd5b60675460405163e5bde02960e01b815260206004820152949a9998979695919491936001600160a01b0393600092849290861691839182916121d6916024840191611db0565b03915afa8015610c0557611ad59a61220794610aac610a9f93610aa49560009161220c575b50610a7a368486611a83565b612306565b61221f913d8091833e610c738183611a47565b386121fb565b60009060033d1161223257565b905060046000803e60005160e01c90565b600060443d10611ad557604051600319913d83016004833e81516001600160401b03918282113d6024840111176122a0578184019485519384116122a8573d850101602084870101116122a05750611ad592910160200190611a47565b949350505050565b50949350505050565b90916122c8611ad593604084526040840190611b79565b916020818403910152611b54565b3d15612301573d906122e782611a68565b916122f56040519384611a47565b82523d6000602084013e565b606090565b61231991610ab391979695933691611a83565b91303b156103e05760405191630108ef7960e21b8352828061235f60009485946060600485015261234d606485018a611b79565b84810360031901602486015291611db0565b876044830152038183305af1918261246f575b509061242e57600190612383612225565b6308c379a0146123de575b50612397575050565b611ad59293507f566d56bcb1ec9b3226e7634aedefcdb789822a3419f3e27d295d4b0fc3f60e516123d66123c96122d6565b60405191829185836122b1565b0390a16125bd565b6123e6612243565b90816123f2575061238e565b611ad59596507f7da351ee12f4c5f6e657f3b6b301dd44d8e49ec816a99ec389aee3fad9ea61b99250906123d6915060405191829185836122b1565b50919250507f3b99b43a0aa68343105cfe5dcff7440d9ff7a448ef9dbe61a4e351004061c7ed60405160208152806124696020820185611b79565b0390a190565b61247890611a34565b38612372565b51906001600160e01b0319821682036103e057565b61249b611fd9565b50805181019060209060e0818385019403126103e057818101516001600160401b03908181116103e05784846124d392850101612011565b9360406124e181850161247e565b6124ed6060860161247e565b9360808601519081116103e05785019280603f850112156103e0578684015161251581611aed565b9461252285519687611a47565b818652848987019260051b8201019283116103e05784899101915b8383106125a5575050505060a08501516001600160a01b03811694908590036103e05760e060c0870151960151968351986125778a611a03565b89526001600160e01b03199283169089015216908601526060850152608084015260a083015260c082015290565b81906125b0846120c4565b815201910190889061253d565b9190916125c8611fd9565b50805192600093602081519101206040516125e6816104a381611c53565b6020815191012014600014612738576125fd611fd9565b5061263460018060a01b03858160675416855190604051808096819463e5bde02960e01b8352602060048401526024830190611b54565b03915afa91821561272d57612697926020928592899261270d575b5061266090608088015116916134d3565b60405163a9059cbb60e01b81526001600160a01b039091166004820152602481019290925290928391908290899082906044820190565b03925af180156117f3577fc3c4bcd0d41d9e5d593b014e43d57d484dface98ab8cfee6483a1a9c36539fed939495506126ee575b506040518091604082526126e26040830186611b79565b9060208301520390a190565b6127069060203d602011610881576108728183611a47565b50386126cb565b612660919250612726903d808c833e610c738183611a47565b919061264f565b6040513d88823e3d90fd5b612740611fd9565b50606754604051635c77d24760e11b8152906001600160a01b031660a082600481845afa91821561272d578692612d1a575b506080840151604051632bf512f360e21b81526001600160a01b039091166004820152602081602481855afa908115612be4578791612ce8575b5080841115612ca3576127bf8185612d3a565b9160c086018051620f42409081810290808204831490151715612c7b578715612c8f57879004808502908582041485151715612c7b57888b93612877936128b193049061281761280f838a612d3a565b928251612d3a565b815261282860a08401928351612d3a565b80925282519163ffffffff60e01b90612895826020870151169260408701511692606087015196608060018060a01b0391015116945193604051998a9760e060208a0152610100890190611b54565b9160408801526060870152601f199687878303016080880152612d47565b9260a085015260c084015260e083015203908101835282611a47565b87519082604051809563e5bde02960e01b82526020600483015281806128da6024820188611b54565b03915afa9384156117c9578394612c5c575b5060808901516040516395d89b4160e01b81529495939493908590859060049082906001600160a01b03165afa9384156117f3578594612c40575b5060808a01516001600160a01b031691303b1561090157604051638136367b60e01b815260e0600482015296879586956129a39361299491612984906129719060e48b0190611b54565b60031995868b83030160248c0152611b54565b90848983030160448a0152611b54565b91868303016064870152611b54565b9187608485015260a484015260c4830152038183305af19081612c2d575b50612bef575060016129d1612225565b6308c379a014612aea575b6129e8575b5090925050565b602082612a6e927f566d56bcb1ec9b3226e7634aedefcdb789822a3419f3e27d295d4b0fc3f60e51612a28612a1b6122d6565b6040519182918a836122b1565b0390a160808681015191015160405163a9059cbb60e01b81526001600160a01b039182166004820152602481019390935291938492909116908290899082906044820190565b03925af180156117f3577f3eec2dad5936cf66d12659548c6140790a0da0d978cc0cdc602b9631d90d120293949550612acb575b50604051809160408252612ab96040830186611b79565b9060208301520390a1819038806129e1565b612ae39060203d602011610881576108728183611a47565b5038612aa2565b612af2612243565b80612afe575b506129dc565b90507f7da351ee12f4c5f6e657f3b6b301dd44d8e49ec816a99ec389aee3fad9ea61b9612b33879260405191829188836122b1565b0390a16080848101519083015160405163a9059cbb60e01b81526001600160a01b0391821660048201526024810186905291602091839160449183918c91165af18015612be457612bc5575b507f3eec2dad5936cf66d12659548c6140790a0da0d978cc0cdc602b9631d90d12026040516040815280612bb66040820188611b79565b8660208301520390a138612af8565b612bdd9060203d602011610881576108728183611a47565b5038612b7f565b6040513d89823e3d90fd5b9150507fc3c4bcd0d41d9e5d593b014e43d57d484dface98ab8cfee6483a1a9c36539fed919293506040518091604082526126e26040830186611b79565b612c3990979197611a34565b95386129c1565b612c559194503d8087833e610c738183611a47565b9238612927565b6004939450612c74903d8087833e610c738183611a47565b93926128ec565b634e487b7160e01b8b52601160045260248bfd5b634e487b7160e01b8b52601260045260248bfd5b60405162461bcd60e51b815260206004820152601e60248201527f53656e6420616d6f756e7420646f6573206e6f7420636f7665722067617300006044820152606490fd5b90506020813d602011612d12575b81612d0360209383611a47565b81010312610e055751386127ac565b3d9150612cf6565b612d3391925060a03d8111610845576108368183611a47565b9038612772565b91908203918211611e9e57565b90815180825260208080930193019160005b828110612d67575050505090565b835163ffffffff1685529381019392810192600101612d59565b5060408201519091906000906001600160e01b0319166326e11bb960e11b810361308c575090612e4791612db3611fd9565b50612dc5600160608401515114611e31565b602084810151810151604086015182015160608501516001600160a01b039182169793929091169063ffffffff90612dfc90611fb6565b51608087015160a08801516040516326e11bb960e11b81529390921663ffffffff1660048401526001600160a01b031660248301526044820152958691908290869082906064820190565b03925af19384156107ea578294613058575b5060808301516020828101518101516040516323b872dd60e01b8082526001600160a01b0392831660048301523060248301526044820189905293909291839160649183918991165af19081156116c6578491613039575b50156103e55790612f249291602063ffffffff612ed16060880151611fb6565b51608088015160c0890180516040516326e11bb960e11b81529490931663ffffffff1660048501526001600160a01b03909116602484015260448301919091529890958691908290879082906064820190565b03925af19384156117c9578394613002575b50608085015160409283015160209081015193519283526001600160a01b039384166004840152306024840152604483018690529192839160649183918791165af19081156107ea578291612fe3575b50156103e9575091612fcc9183612fbe7f58589d45f2c000395bc52ca543911061b55c2ebab3c83e87dba19cd22e52c6ba9584611e91565b95869360a0840152526125bd565b916040518091604082526126e26040830186611b79565b612ffc915060203d602011610881576108728183611a47565b38612f86565b909193506020813d602011613031575b8161301f60209383611a47565b810103126103e0575192906020612f36565b3d9150613012565b613052915060203d602011610881576108728183611a47565b38612eb1565b9093506020813d602011613084575b8161307460209383611a47565b810103126103e057519238612e59565b3d9150613067565b919290916361761df360e11b919082810361336e57506130aa611fd9565b506130bc600160608601515114611e31565b6020810160018060a01b03602082510151169260018060a01b03602060408501510151169185809560a0890190815161326b575b50509050508460c0870191825161313c575b50505050506131357f58589d45f2c000395bc52ca543911061b55c2ebab3c83e87dba19cd22e52c6ba92612fcc92611e91565b80936125bd565b6020919293949650602463ffffffff61315860608b0151611fb6565b511691846040519788948593845260048401525af192831561325e57819361322a575b50608086015160409586015160209081015196516323b872dd60e01b81526001600160a01b039788166004820152306024820152604481018690529496879592839160649183918791165af19081156107ea57829161320b575b50156103e957505261313582612fcc7f58589d45f2c000395bc52ca543911061b55c2ebab3c83e87dba19cd22e52c6ba38613102565b613224915060203d602011610881576108728183611a47565b386131d5565b9092506020813d602011613256575b8161324660209383611a47565b810103126103e05751913861317b565b3d9150613239565b50604051903d90823e3d90fd5b60209192939750602463ffffffff61328660608d0151611fb6565b5116604051958693849289845260048401525af1918215612be457879261333a575b50608088015195516020908101516040516323b872dd60e01b81526001600160a01b03918216600482015230602482015260448101859052939788949291839160649183918d91165af190811561332f578891613310575b5015610e055752388581806130f0565b613329915060203d602011610881576108728183611a47565b38613300565b6040513d8a823e3d90fd5b9091506020813d602011613366575b8161335660209383611a47565b810103126103e0575190386132a8565b3d9150613349565b909291506388bb447b60e01b90810361348357613389611fd9565b5060018060a01b03926020938480828160408601510151169301510151169060608601908151813b15610901576133d9869283926040519485809481938b83528d60048401526024830190612d47565b03925af180156117f357613470575b505191813b1561090957918391613415938360405180968195829483528a60048401526024830190612d47565b03925af180156107ea5761345c575b50506124697f999b68bed196a76d206811771e30b1ded65d9d1e6b29ba77765e64716680f5a791604051918183928352820185611b79565b6134668291611a34565b6103e95780613424565b61347c90949194611a34565b92386133e8565b60405162461bcd60e51b815260206004820152602260248201527f496e76616c69642066756e6374696f6e2073656c6563746f722070726f766964604482015261195960f21b6064820152608490fd5b600080918051602a9283821491821592613658575b50811561361b575b506135e85790600280925b828410613511575050505060018060a01b031690565b909192938151851015611fc3576020858301015160f81c606181101580613610575b1561357e5760ff90811660561901908111611e9e575b6029868103908111611e9e5760ff9190911690841b1b6001600160a01b031617936000198114611e9e576001019291906134fb565b604181101580613605575b156135b55760ff908116603619019081111561354957634e487b7160e01b600052601160045260246000fd5b6030811015806135fa575b156135e857602f190160ff81111561354957634e487b7160e01b600052601160045260246000fd5b604051636fa478cf60e11b8152600490fd5b5060398111156135c0565b506046811115613589565b506066811115613533565b9050815160011015613644575060218101516001600160f81b031916600f60fb1b1415386134f0565b634e487b7160e01b81526032600452602490fd5b909150156136445760208201516001600160f81b031916600360fc1b141590386134e856fea2646970667358221220de3e11c41c73e86e327c78f9a89c66e62c7b4b0c44b23e2e9e11cc6cb3def4d664736f6c63430008120033"; + "0x6080806040523461001657613854908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c908163116191b614611a41575080631a98b2e0146118d75780632b20e397146118ae578063491606581461158f5780635d9c828814611464578063715018a6146114075780637e5c78b4146110a457806380ab24451461093a57806380d14b4a146109115780638136367b146104eb5780638da5cb5b146104c2578063c763e5a11461047f578063f2fde38b146103ec5763f34822b4146100bb57600080fd5b346103e95760803660031901126103e9576001600160401b036004358181116103e5576100ec903690600401611a66565b9091906001600160a01b039060243582811691908290036103e057604435908382168092036103e0576064359384168094036103e05786549560ff8760081c1615958680976103d3575b80156103bc575b1561036057600197878960ff198316178b5561034f575b50821161033b578190610168606654611cca565b601f81116102cb575b508890601f831160011461024c578992610241575b5050600019600383901b1c191690861b176066555b6bffffffffffffffffffffffff60a01b9283606754161760675582606854161760685560ff855460081c16906101d082611e82565b801561022f576101e7926065541617606555611e82565b6101f033611e00565b6101f8575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff00198454168455604051908152a180f35b60405163e6c4247b60e01b8152600490fd5b013590503880610186565b60668a528893507f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e9435491601f1984168b5b8181106102b357508411610299575b505050811b0160665561019b565b0135600019600384901b60f8161c1916905538808061028b565b8284013585558b96909401936020928301920161027c565b909150606689527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e94354601f840160051c81019160208510610331575b84939291601f8b920160051c01915b828110610323575050610171565b8b81558594508a9101610315565b9091508190610306565b634e487b7160e01b88526041600452602488fd5b61ffff191661010117895538610154565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561013d5750600160ff89161461013d565b50600160ff891610610136565b600080fd5b8280fd5b80fd5b50346103e95760203660031901126103e9576004356001600160a01b0381168082036103e05761041a611da8565b1561042b5761042890611e00565b80f35b60405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b50346103e957806003193601126103e9576104be6040516104aa816104a381611d04565b0382611c10565b604051918291602083526020830190611ab6565b0390f35b50346103e957806003193601126103e9576033546040516001600160a01b039091168152602090f35b50346103e95760031960e03682011261090d576001600160401b03906004358281116109095761051f903690600401611c83565b9160243581811161090557610538903690600401611c83565b604435828111610901573660238201121561090157610561903690602481600401359101611c4c565b916064359081116109015761057a903690600401611c83565b936084359360a4359560018060a01b038088168098036103e057889760c435303303610857576065546040516349ad89fb60e11b8152602060048201819052918516908281806105cd602482018b611ab6565b0381855afa80156108b0578387918f8f9080926108bb575b60405163095ea7b360e01b8082526001600160a01b039098166004820152602481019290925290945091928492839182604481015b0393165af19081156108b0578d91610893575b50156108185760685460405191825285166001600160a01b031660048201526024810183905281816044818f885af1918215610888578c9261085b575b5050156108575760049060a0846067541660405193848092635c77d24760e11b82525afa91821561084c578b9261081c575b5083604081606854169301511691803b1561081857888c898d82968e968c998c6040519b8c9a8b998a9863edb6b3a560e01b8a523060048b015260248a0161012090526101248a016106ed91611ab6565b838a82030160448b015261070091611ab6565b828982030160648a015261071391611ab6565b9087820301608488015261072691611ab6565b9360a486015260c485015260e484015261010483015203925af190811561080d5789916107f9575b50506065541692833b156107f5576107a4966107c3610794948a98946107b48a966040519c8d9b8c9a8b99632d505c2160e21b8b5260a060048c015260a48b0190611ab6565b90868a83030160248b0152611ab6565b9084888303016044890152611ab6565b91858303016064860152611ab6565b90608483015203925af180156107ea576107da5750f35b6107e390611be2565b6103e95780f35b6040513d84823e3d90fd5b8780fd5b61080290611be2565b6107f557873861074e565b6040513d8b823e3d90fd5b8b80fd5b61083e91925060a03d8111610845575b6108368183611c10565b81019061217d565b903861069c565b503d61082c565b6040513d8d823e3d90fd5b8980fd5b61087a9250803d10610881575b6108728183611c10565b810190611e49565b388061066a565b503d610868565b6040513d8e823e3d90fd5b6108aa9150833d8511610881576108728183611c10565b3861062d565b6040513d8f823e3d90fd5b505050905081813d83116108fa575b6108d48183611c10565b810103126108f6578261061a8e8e6108ec8a95611f2e565b91859493506105e5565b8c80fd5b503d6108ca565b8580fd5b8480fd5b8380fd5b5080fd5b50346103e957806003193601126103e9576068546040516001600160a01b039091168152602090f35b50346103e95760031960603682011261090d576001600160401b036004351161090d5761010090600435360301126103e9576040519061097982611bb0565b600435600401356001600160401b03811161090d5761099f906004369181350101611c83565b82526109af602460043501611c9e565b60208301526109c2604460043501611c9e565b6040830152606460043501356001600160401b03811161090d5760043501913660238401121561090d5760048301356109fa81611cb3565b93610a086040519586611c10565b8185526024602086019260051b8201019036821161090557602401915b8183106110875750505060608101839052600435608401356001600160a01b03811681036103e557608082015260043560a481013560a083015260c481013560c083015260e4013560058110156103e55760e08201526024356001600160401b0381116103e557610a9a903690600401611a66565b9093303303610909576001610ab0915114611ee2565b60408201516001600160e01b03191663df2326f560e01b01611042576065546040516349ad89fb60e11b81526020600482018190529095909286926001600160a01b03169183918291610b07916024840191611e61565b03915afa9283156107ea578293611006575b5060808101516001600160a01b0393841693168303610fd057610b4560c082015160a083015190611f42565b60443503610f995760a081015115801590610f8c575b15610f47576067546040516302b05ecb60e11b815260048101949094526001600160a01b031692602081602481875afa908115610e51578391610f28575b5015610eee576020818101516040516326fcc45760e11b81526001600160e01b031990911660048201529081602481875afa908115610e51578391610ebf575b506004811015610eab576001610bef9114611f7d565b60a063ffffffff60e01b6020830151166024604051809681936342b8c5e960e01b835260048301525afa9283156107ea578293610e7b575b5060a081015180610d56575b50819260c082015180610c4557505050f35b608083015160409283018051602090810151945163a9059cbb60e01b81526001600160a01b039586166004820152602481019490945290939091839160449183918991165af1908115610d4b578491610d2c575b5015610d2857602060018060a01b03915101511663ffffffff610cbf6060840151612057565b51169060c060018060a01b0360808501511693015190803b15610905576040516320dcd90b60e01b815263ffffffff90931660048401526001600160a01b039093166024830152604482015290829082908183816064810103925af180156107ea576107da5750f35b5050fd5b610d45915060203d602011610881576108728183611c10565b38610c99565b6040513d86823e3d90fd5b60808201516020858101805182015160405163a9059cbb60e01b81526001600160a01b0391821660048201526024810195909552909392839160449183918991165af1908115610d4b578491610e5c575b50156103e557602060018060a01b0391510151169263ffffffff610dce6060840151612057565b51169360018060a01b0360808401511660a084015195823b15610901576040516320dcd90b60e01b815263ffffffff90911660048201526001600160a01b0390911660248201526044810195909552839085908183816064810103925af18015610e5157610e3d575b92610c33565b919092610e4990611be2565b908290610e37565b6040513d85823e3d90fd5b610e75915060203d602011610881576108728183611c10565b38610da7565b610e9d91935060a03d8111610ea4575b610e958183611c10565b810190611ffc565b9138610c27565b503d610e8b565b634e487b7160e01b83526021600452602483fd5b610ee1915060203d602011610ee7575b610ed98183611c10565b810190611f65565b38610bd9565b503d610ecf565b60405162461bcd60e51b8152602060048201526012602482015271151bdad95b881b9bdd081858d8d95c1d195960721b6044820152606490fd5b610f41915060203d602011610881576108728183611c10565b38610b99565b60405162461bcd60e51b815260206004820152601a60248201527f4e6f207661756c74206465706f736974207370656369666965640000000000006044820152606490fd5b5060c08101511515610b5b565b60405162461bcd60e51b815260206004820152600f60248201526e082dadeeadce840dad2e6dac2e8c6d608b1b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d0a8ded6cadc40dad2e6dac2e8c6d60931b6044820152606490fd5b9092506020813d60201161103a575b8161102260209383611c10565b8101031261090d5761103390611f2e565b9138610b19565b3d9150611015565b60405162461bcd60e51b815260206004820152601b60248201527f4f6e6c79206465706f736974206163636570747320746f6b656e7300000000006044820152606490fd5b823563ffffffff8116810361090157815260209283019201610a25565b50346103e95760603660031901126103e9576001600160401b039060043582811161090d576110d7903690600401611a66565b92602435818111610909576110f0903690600401611a66565b90916044359081116109055761110a903690600401611a66565b92909361111561207a565b5060675460405163e5bde02960e01b8152602060048201526001600160a01b03909116979087818061114960248201611d04565b03818c5afa9081156113fc57916111806111706111ac95938b9586916113e2575b50613674565b6001600160a01b03163314612120565b61118861207a565b5060405163e5bde02960e01b81526020600482015293849283926024840191611e61565b03818a5afa9081156113d7579261120d61120861121c96946111f8611215956112219a988c916113b5575b506111e3368785611c4c565b602081519101209060208151910120146121f8565b6001600160a01b03933691611c4c565b613674565b1615156121f8565b3691611c4c565b613534565b916020830163ffffffff60e01b918282511693604051946342b8c5e960e01b8652600486015260a085602481855afa948515611355578195611395575b5061126761207a565b9380845116906040516326fcc45760e11b928382526004820152602081602481885afa908115610d4b578491611376575b506004811015611362576001149485156112d8575b6104be6112c48a8a8a6112bf8b611f7d565b612cef565b604051918291602083526020830190611afe565b51604051928352166004820152925090602090839060249082905afa918215611355578192611334575b5060048210156113205750600214816112bf6112c46104be386112ad565b634e487b7160e01b81526021600452602490fd5b61134e91925060203d602011610ee757610ed98183611c10565b9038611302565b50604051903d90823e3d90fd5b634e487b7160e01b84526021600452602484fd5b61138f915060203d602011610ee757610ed98183611c10565b38611298565b6113ae91955060a03d8111610ea457610e958183611c10565b933861125e565b6113d191503d808e833e6113c98183611c10565b8101906120fb565b386111d7565b6040513d88823e3d90fd5b6113f691503d8088833e6113c98183611c10565b3861116a565b6040513d8a823e3d90fd5b50346103e957806003193601126103e957611420611da8565b603380546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b50346103e95760a03660031901126103e9576001600160401b036004358181116103e557611496903690600401611a66565b602492919235828111610905576114b1903690600401611a66565b909260443581811161158b576114cb903690600401611a66565b9290916064359081116107f5576114e6903690600401611a66565b9590946114f161207a565b5060675460405163e5bde02960e01b8152602060048201526001600160a01b03918b9082908416818061152660248201611d04565b03915afa90811561084c579161155761155f926112c49c9b9a9998979695948e6104be9f92611570575b5050613674565b163314612120565b6084359761156b61207a565b612238565b61158492503d8091833e6113c98183611c10565b3880611550565b8680fd5b50346103e957600319906080368301126103e9576001600160401b03916024358381116103e5576115c4903690600401611a66565b939091604435828111610905576115df903690600401611a66565b92606435908111610901576115f8903690600401611a66565b939094611664602061160b36888a611c4c565b8181519101209560018060a01b03966116538b8d8a606554169360405197889687958694635f6970c360e01b865260043560048701526080602487015260848601908d611e61565b908482030160448501528b8d611e61565b90606483015203925af19081156113fc57889161188f575b501561187d57866116b99161168f61207a565b50856067541699604051938492839263e5bde02960e01b8452602060048501526024840191611e61565b03818b5afa9081156118725761120861121c9694611215946112156116f19a989561120d958d91611858575b506111e3368486611c4c565b6020810180516040516342b8c5e960e01b81526001600160e01b03199182166004820152919460a083602481845afa92831561184d57859361182d575b5061173761207a565b9180875116906040516326fcc45760e11b928382526004820152602081602481875afa9081156113fc57889161180e575b5060048110156117fa57600114978815611792575b505050506112bf61178e9495611f7d565b5080f35b516040519283521660048201529550602090869060249082905afa948515610d4b5784956117d9575b506004851015611362576112bf600261178e9596149594388061177d565b6117f391955060203d602011610ee757610ed98183611c10565b93386117bb565b634e487b7160e01b88526021600452602488fd5b611827915060203d602011610ee757610ed98183611c10565b38611768565b61184691935060a03d8111610ea457610e958183611c10565b913861172e565b6040513d87823e3d90fd5b61186c91503d808f833e6113c98183611c10565b386116e5565b6040513d89823e3d90fd5b604051631403112d60e21b8152600490fd5b6118a8915060203d602011610881576108728183611c10565b3861167c565b50346103e957806003193601126103e9576067546040516001600160a01b039091168152602090f35b50346103e95760031960c03682011261090d576001600160401b03906024358281116109095761190b903690600401611a66565b92909160443582811161090157611926903690600401611a66565b90926064358181116107f557611940903690600401611a66565b929091608435908111611a3d5761195b903690600401611a66565b959094611969368686611c4c565b8051602090910120606554604051631876eed960e01b8152600480359082015260c06024820152926001600160a01b039091169183918291906119b060c484018f8f611e61565b818482030160448501526119c5908989611e61565b9160648401528282030160848301526119df908b8b611e61565b60a43560a483015203818d5a94602095f1908115611a32578a91611a14575b501561187d5761178e9760a4359761156b61207a565b611a2c915060203d8111610881576108728183611c10565b386119fe565b6040513d8c823e3d90fd5b8880fd5b90503461090d578160031936011261090d576065546001600160a01b03168152602090f35b9181601f840112156103e0578235916001600160401b0383116103e057602083818601950101116103e057565b60005b838110611aa65750506000910152565b8181015183820152602001611a96565b90602091611acf81518092818552858086019101611a93565b601f01601f1916010190565b906005821015611ae85752565b634e487b7160e01b600052602160045260246000fd5b90611b128251610100808452830190611ab6565b9163ffffffff60e01b602090808284015116828501526040830151166040840152606082015193838103606085015281808651928381520195019160005b828110611b9657505050509060e080611b939360018060a01b03608082015116608085015260a081015160a085015260c081015160c08501520151910190611adb565b90565b835163ffffffff1687529581019592810192600101611b50565b61010081019081106001600160401b03821117611bcc57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b038111611bcc57604052565b604081019081106001600160401b03821117611bcc57604052565b90601f801991011681019081106001600160401b03821117611bcc57604052565b6001600160401b038111611bcc57601f01601f191660200190565b929192611c5882611c31565b91611c666040519384611c10565b8294818452818301116103e0578281602093846000960137010152565b9080601f830112156103e057816020611b9393359101611c4c565b35906001600160e01b0319821682036103e057565b6001600160401b038111611bcc5760051b60200190565b90600182811c92168015611cfa575b6020831014611ce457565b634e487b7160e01b600052602260045260246000fd5b91607f1691611cd9565b60665460009291611d1482611cca565b80825291600190818116908115611d8b5750600114611d3257505050565b9192935060666000527f46501879b8ca8525e8c2fd519e2fbfcfa2ebea26501294aa02cbfcfb12e94354916000925b848410611d7357505060209250010190565b80546020858501810191909152909301928101611d61565b915050602093945060ff929192191683830152151560051b010190565b6033546001600160a01b03163303611dbc57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b603380546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b908160209103126103e0575180151581036103e05790565b908060209392818452848401376000828201840152601f01601f1916010190565b15611e8957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b15611ee957565b60405162461bcd60e51b815260206004820152601860248201527f4f6e6c79206f6e65206163636f756e7420616c6c6f77656400000000000000006044820152606490fd5b51906001600160a01b03821682036103e057565b91908201809211611f4f57565b634e487b7160e01b600052601160045260246000fd5b908160209103126103e0575160048110156103e05790565b15611f8457565b60405162461bcd60e51b815260206004820152601560248201527414dd1c985d1959de481b9bdd08185c1c1c9bdd9959605a1b6044820152606490fd5b91908260409103126103e057604051611fd981611bf5565b809280519060028210156103e0576020611ff7918193855201611f2e565b910152565b60a0818303126103e05760405191606083018381106001600160401b03821117611bcc57604052815160048110156103e05761204f9260609185526120448360208301611fc1565b602086015201611fc1565b604082015290565b8051156120645760200190565b634e487b7160e01b600052603260045260246000fd5b6040519061208782611bb0565b816060815260e06000918260208201528260408201526060808201528260808201528260a08201528260c08201520152565b81601f820112156103e05780516120cf81611c31565b926120dd6040519485611c10565b818452602082840101116103e057611b939160208085019101611a93565b906020828203126103e05781516001600160401b0381116103e057611b9392016120b9565b1561212757565b60405162461bcd60e51b815260206004820152601760248201527f556e617574686f72697a6564206c6f63616c2063616c6c0000000000000000006044820152606490fd5b519063ffffffff821682036103e057565b908160a09103126103e0576040519060a082018281106001600160401b03821117611bcc576121f0916080916040526121b58161216c565b84526121c36020820161216c565b60208501526121d460408201611f2e565b60408501526121e560608201611f2e565b606085015201611f2e565b608082015290565b156121ff57565b60405162461bcd60e51b8152602060048201526011602482015270155b985d5d1a1bdc9a5e99590810d85b1b607a1b6044820152606490fd5b60675460405163e5bde02960e01b815260206004820152949a9998979695919491936001600160a01b03936000928492908616918391829161227e916024840191611e61565b03915afa80156122c657611b939a6122ae946112156112089361120d956000916122b357506111e3368486611c4c565b6123b3565b61186c913d8091833e6113c98183611c10565b6040513d6000823e3d90fd5b60009060033d116122df57565b905060046000803e60005160e01c90565b600060443d10611b9357604051600319913d83016004833e81516001600160401b03918282113d60248401111761234d57818401948551938411612355573d8501016020848701011161234d5750611b9392910160200190611c10565b949350505050565b50949350505050565b9091612375611b9393604084526040840190611afe565b916020818403910152611ab6565b3d156123ae573d9061239482611c31565b916123a26040519384611c10565b82523d6000602084013e565b606090565b6123c69161121c91979695933691611c4c565b91303b156103e057604051916380ab244560e01b8352828061240c6000948594606060048501526123fa606485018a611afe565b84810360031901602486015291611e61565b876044830152038183305af1918261252a575b50906124e2576001906124306122d2565b6308c379a014612492575b50612444575050565b611b939293507f300a8c46fce7c80655649f75bd872a858c936ef75b856a284bb7ecf4775f5556612483612476612383565b604051918291858361235e565b0390a1600360e0820152612539565b61249a6122f0565b90816124a6575061243b565b611b939596507fc9f0d1fc4b81113d3f08dc1a64df0c6135c04e0c314befc2e9a873881728b04d9250906124839150604051918291858361235e565b50919250507f1cb369c14d28166088fe07e2fabc792521c8b68415839287dfc0d8d6f1379f6c604051602081528061251d6020820185611afe565b0390a1600160e082015290565b61253390611be2565b3861241f565b91909161254461207a565b5080519260009360208151910120604051612562816104a381611d04565b60208151910120146000146126a95761257961207a565b506125b060018060a01b03858160675416855190604051808096819463e5bde02960e01b8352602060048401526024830190611ab6565b03915afa9182156113d7576126139260209285928992612689575b506125dc9060808801511691613674565b60405163a9059cbb60e01b81526001600160a01b039091166004820152602481019290925290928391908290899082906044820190565b03925af1801561184d577ffa989b3a3f9181256dfc93a2b465238847d94090fe9251ba8d549af8900d10079394955061266a575b5060405180916040825261265e6040830186611afe565b9060208301520390a190565b6126829060203d602011610881576108728183611c10565b5038612647565b6125dc9192506126a2903d808c833e6113c98183611c10565b91906125cb565b6126b161207a565b50606754604051635c77d24760e11b8152906001600160a01b031660a082600481845afa9182156113d7578692612cc2575b506080840151604051632bf512f360e21b81526001600160a01b039091166004820152602081602481855afa908115611872578791612c90575b5080841115612c4b576127308185612ce2565b9160c086018051620f42409081810290808204831490151715612c23578715612c3757879004808502908582041485151715612c23570461277c6127748286612ce2565b918351612ce2565b825261278d60a08901918251612ce2565b80915287519063ffffffff60e01b928360208b0151169360408b0151169160608b01519360018060a01b0360808d015116925160e08d0151926005841015612c0e57928f9796949261283592612841979561281d6040519a8b986127ff610100968760208d01526101208c0190611ab6565b9160408b015260608a0152601f19998a8a83030160808b01526134e5565b9560a088015260c087015260e0860152840190611adb565b03908101835282611c10565b87519082604051809563e5bde02960e01b825260206004830152818061286a6024820188611ab6565b03915afa938415610e51578394612bef575b5060808901516040516395d89b4160e01b81529495939493908590859060049082906001600160a01b03165afa93841561184d578594612bd3575b5060808a01516001600160a01b031691303b1561090157604051638136367b60e01b815260e0600482015296879586956129339361292491612914906129019060e48b0190611ab6565b60031995868b83030160248c0152611ab6565b90848983030160448a0152611ab6565b91868303016064870152611ab6565b9187608485015260a484015260c4830152038183305af19081612bc0575b50612b82575060016129616122d2565b6308c379a014612a81575b612978575b5090925050565b6020826129fe927f300a8c46fce7c80655649f75bd872a858c936ef75b856a284bb7ecf4775f55566129b86129ab612383565b6040519182918a8361235e565b0390a160808681015191015160405163a9059cbb60e01b81526001600160a01b039182166004820152602481019390935291938492909116908290899082906044820190565b03925af1801561184d577fd58fc9d2b5fb8a6bdfa139645b7e66380d3b8039ed9a7b761da65005e480108793949550612a62575b50604051809160408252612a496040830186611afe565b9060208301520390a1600460e082015281903880612971565b612a7a9060203d602011610881576108728183611c10565b5038612a32565b612a896122f0565b80612a95575b5061296c565b90507fc9f0d1fc4b81113d3f08dc1a64df0c6135c04e0c314befc2e9a873881728b04d612aca8792604051918291888361235e565b0390a16080848101519083015160405163a9059cbb60e01b81526001600160a01b0391821660048201526024810186905291602091839160449183918c91165af1801561187257612b63575b507fd58fc9d2b5fb8a6bdfa139645b7e66380d3b8039ed9a7b761da65005e48010876040516040815280612b4d6040820188611afe565b8660208301520390a1600460e085015238612a8f565b612b7b9060203d602011610881576108728183611c10565b5038612b16565b9150507ffa989b3a3f9181256dfc93a2b465238847d94090fe9251ba8d549af8900d10079192935060405180916040825261265e6040830186611afe565b612bcc90979197611be2565b9538612951565b612be89194503d8087833e6113c98183611c10565b92386128b7565b6004939450612c07903d8087833e6113c98183611c10565b939261287c565b50634e487b7160e01b8f52602160045260248ffd5b634e487b7160e01b8b52601160045260248bfd5b634e487b7160e01b8b52601260045260248bfd5b60405162461bcd60e51b815260206004820152601e60248201527f53656e6420616d6f756e7420646f6573206e6f7420636f7665722067617300006044820152606490fd5b90506020813d602011612cba575b81612cab60209383611c10565b8101031261158b57513861271d565b3d9150612c9e565b612cdb91925060a03d8111610845576108368183611c10565b90386126e3565b91908203918211611f4f57565b506040820151909291906000906001600160e01b0319166326e11bb960e11b81036130575750612d1d61207a565b50612d2f600160608401515114611ee2565b612db260018060a01b0360208087015101511694604060018060a01b036020828401510151169663ffffffff612d686060880151612057565b51608088015160a089015185516326e11bb960e11b81529390921663ffffffff1660048401526001600160a01b031660248301526044820152938491908290879082906064820190565b03925af1918215610e51578392613036575b50608084015160208281015181015184516040516323b872dd60e01b81526001600160a01b039283166004820152306024820152604481019190915292839160649183918991165af1908115610d4b578491613017575b50156103e557604084959663ffffffff612e3b6060612e85980151612057565b51608089015160c08a015185516326e11bb960e11b81529390921663ffffffff1660048401526001600160a01b031660248301526044820152958691908290879082906064820190565b03925af1938415610e51578394612fdf575b506080850151604091820151602090810151865193516323b872dd60e01b81526001600160a01b03918216600482015230602482015260448101949094529091839116818681606481015b03925af1908115610e51578391612fc0575b501561090d57807fceb2375c7fe0f63a8aa66609591b5e0e35600c1721f6710d2adb59c9714131dc612f43612f2e60209451875190611f42565b8097845160a0820152875160c0820152612539565b95604051809160408252612f5a604083018a611afe565b90868301520390a101516005811015612fac576002149182612f92575b505015612f8857600260e082015290565b600160e082015290565b602001519150600582101561132057506002143880612f77565b634e487b7160e01b82526021600452602482fd5b612fd9915060203d602011610881576108728183611c10565b38612ef4565b612ee291945061300860209160403d604011613010575b6130008183611c10565b8101906134b4565b949150612e97565b503d612ff6565b613030915060203d602011610881576108728183611c10565b38612e1b565b61305091925060403d604011613010576130008183611c10565b9038612dc4565b9293919290916361761df360e11b91828103613349575061307661207a565b50613088600160608601515114611ee2565b6020810160018060a01b03602082510151169260018060a01b03602060408501510151169185809560a0890151613251575b509050508460c0870191825161312f575b50505050506130fe7fceb2375c7fe0f63a8aa66609591b5e0e35600c1721f6710d2adb59c9714131dc9261310592611f42565b8093612539565b9160405180916040825261311c6040830186611afe565b9060208301520390a1600260e082015290565b6020919293949650602463ffffffff61314b60608b0151612057565b511691846040519788948593845260048401525af192831561135557819361321d575b50608086015160409586015160209081015196516323b872dd60e01b81526001600160a01b039788166004820152306024820152604481018690529496879592839160649183918791165af19081156107ea5782916131fe575b50156103e95750526130fe826131057fceb2375c7fe0f63a8aa66609591b5e0e35600c1721f6710d2adb59c9714131dc386130cb565b613217915060203d602011610881576108728183611c10565b386131c8565b9092506020813d602011613249575b8161323960209383611c10565b810103126103e05751913861316e565b3d915061322c565b602091929650602463ffffffff61326b60608c0151612057565b5116604051948593849288845260048401525af19081156113d7578691613317575b50608087015194516020908101516040516323b872dd60e01b81526001600160a01b03918216600482015230602482015260448101849052929687939291839160649183918c91165af19081156118725787916132f8575b50156109015760a08701523885816130ba565b613311915060203d602011610881576108728183611c10565b386132e5565b90506020813d602011613341575b8161333260209383611c10565b810103126103e057513861328d565b3d9150613325565b909291506388bb447b60e01b9081036134645761336461207a565b5060018060a01b03926020938480828160408601510151169301510151169060608601908151813b15610901576133b4869283926040519485809481938b83528d600484015260248301906134e5565b03925af1801561184d57613451575b505191813b15610909579183916133f0938360405180968195829483528a600484015260248301906134e5565b03925af180156107ea5761343d575b50506134377f7d10b3e605dda0b9df7d50de42e4b96441f021dddb41aa57c811b1c5dd7b74bc91604051918183928352820185611afe565b0390a190565b6134478291611be2565b6103e957806133ff565b61345d90949194611be2565b92386133c3565b60405162461bcd60e51b815260206004820152602260248201527f496e76616c69642066756e6374696f6e2073656c6563746f722070726f766964604482015261195960f21b6064820152608490fd5b908160409103126103e0576020604051916134ce83611bf5565b80518352015160058110156103e057602082015290565b90815180825260208080930193019160005b828110613505575050505090565b835163ffffffff16855293810193928101926001016134f7565b51906001600160e01b0319821682036103e057565b61353c61207a565b508051810190602090808284019361010091829103126103e057828201516001600160401b03908181116103e0578585613578928601016120b9565b94604061358681860161351f565b6135926060870161351f565b9360808701519081116103e05786019280603f850112156103e057878401516135ba81611cb3565b946135c785519687611c10565b818652848a87019260051b8201019283116103e057848a9101915b83831061365c575050505060a08601516001600160a01b03811694908590036103e05760c08701519560e08801519701519760058910156103e0578351996136298b611bb0565b8a526001600160e01b0319928316908a015216908701526060860152608085015260a084015260c083015260e082015290565b81906136678461216c565b81520191019089906135e2565b600080918051602a92838214918215926137f9575b5081156137bc575b506137895790600280925b8284106136b2575050505060018060a01b031690565b909192938151851015612064576020858301015160f81c6061811015806137b1575b1561371f5760ff90811660561901908111611f4f575b6029868103908111611f4f5760ff9190911690841b1b6001600160a01b031617936000198114611f4f5760010192919061369c565b6041811015806137a6575b156137565760ff90811660361901908111156136ea57634e487b7160e01b600052601160045260246000fd5b60308110158061379b575b1561378957602f190160ff8111156136ea57634e487b7160e01b600052601160045260246000fd5b604051636fa478cf60e11b8152600490fd5b506039811115613761565b50604681111561372a565b5060668111156136d4565b90508151600110156137e5575060218101516001600160f81b031916600f60fb1b141538613691565b634e487b7160e01b81526032600452602490fd5b909150156137e55760208201516001600160f81b031916600360fc1b1415903861368956fea26469706673582212206d9a8aaccd73bcb69971fd90d8ee413963d170ae81743c7547e54b04ede9c5ee64736f6c63430008120033"; type RouterConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/core/struct.sol/AngelCoreStruct__factory.ts b/typechain-types/factories/contracts/core/struct.sol/AngelCoreStruct__factory.ts index efd9dd924..2d4b40733 100644 --- a/typechain-types/factories/contracts/core/struct.sol/AngelCoreStruct__factory.ts +++ b/typechain-types/factories/contracts/core/struct.sol/AngelCoreStruct__factory.ts @@ -45,69 +45,6 @@ const _abi = [ stateMutability: "pure", type: "function", }, - { - inputs: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "curTemp", - type: "tuple", - }, - { - internalType: "address", - name: "curTokenaddress", - type: "address", - }, - { - internalType: "uint256", - name: "curAmount", - type: "uint256", - }, - ], - name: "addTokenMem", - outputs: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "", - type: "tuple", - }, - ], - stateMutability: "pure", - type: "function", - }, { inputs: [], name: "beneficiaryDefault", @@ -116,9 +53,14 @@ const _abi = [ components: [ { components: [ + { + internalType: "uint32", + name: "endowId", + type: "uint32", + }, { internalType: "uint256", - name: "id", + name: "fundId", type: "uint256", }, { @@ -166,7 +108,7 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SplitDetails", - name: "registrarSplits", + name: "splits", type: "tuple", }, { @@ -204,56 +146,22 @@ const _abi = [ { inputs: [ { - internalType: "address[]", - name: "cw20", - type: "address[]", - }, - { - internalType: "address", - name: "token", - type: "address", - }, - ], - name: "cw20Valid", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "pure", - type: "function", - }, - { - inputs: [ - { - internalType: "address[]", - name: "curAddress", - type: "address[]", - }, - { - internalType: "uint256[]", - name: "curAmount", - type: "uint256[]", - }, - { - internalType: "address", - name: "curDeducttokenfor", - type: "address", + internalType: "uint256", + name: "amount", + type: "uint256", }, { internalType: "uint256", - name: "curDeductamount", + name: "deductamount", type: "uint256", }, ], name: "deductTokens", outputs: [ { - internalType: "uint256[]", + internalType: "uint256", name: "", - type: "uint256[]", + type: "uint256", }, ], stateMutability: "pure", @@ -284,51 +192,21 @@ const _abi = [ stateMutability: "pure", type: "function", }, - { - inputs: [], - name: "genericBalanceDefault", - outputs: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "", - type: "tuple", - }, - ], - stateMutability: "pure", - type: "function", - }, { inputs: [ { internalType: "address[]", - name: "curAddress", + name: "addresses", type: "address[]", }, { internalType: "uint256[]", - name: "curAmount", + name: "amounts", type: "uint256[]", }, { internalType: "address", - name: "curTokenaddress", + name: "token", type: "address", }, ], @@ -378,113 +256,10 @@ const _abi = [ stateMutability: "pure", type: "function", }, - { - inputs: [], - name: "rebalanceDetailsDefaut", - outputs: [ - { - components: [ - { - internalType: "bool", - name: "rebalanceLiquidInvestedProfits", - type: "bool", - }, - { - internalType: "bool", - name: "lockedInterestsToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "interest_distribution", - type: "uint256", - }, - { - internalType: "bool", - name: "lockedPrincipleToLiquid", - type: "bool", - }, - { - internalType: "uint256", - name: "principle_distribution", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.RebalanceDetails", - name: "", - type: "tuple", - }, - ], - stateMutability: "pure", - type: "function", - }, - { - inputs: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "curTemp", - type: "tuple", - }, - { - internalType: "address", - name: "curTokenaddress", - type: "address", - }, - { - internalType: "uint256", - name: "curAmount", - type: "uint256", - }, - ], - name: "subTokenMem", - outputs: [ - { - components: [ - { - internalType: "uint256", - name: "coinNativeAmount", - type: "uint256", - }, - { - internalType: "uint256[]", - name: "Cw20CoinVerified_amount", - type: "uint256[]", - }, - { - internalType: "address[]", - name: "Cw20CoinVerified_addr", - type: "address[]", - }, - ], - internalType: "struct AngelCoreStruct.GenericBalance", - name: "", - type: "tuple", - }, - ], - stateMutability: "pure", - type: "function", - }, ] as const; const _bytecode = - "0x6080806040523461001c5761249f90816100228239308160080152f35b600080fdfe604060808152307f0000000000000000000000000000000000000000000000000000000000000000146004908136101561003857600080fd5b600092833560e01c90816312f1ee09146112385781631f2c2609146111f85781632a0bc0601461088d5781632b15f3cc1461116b578163370419131461114357816340b185af1461102c578163564343ff14610f3f57816367efb78614610ebb578163692cb37014610ea55781636f331a1414610df2578163855762df14610bdc57816390aac6e114610baf578163973d5ef514610acc5781639d965a9b146109e6578163a16acfee146109a457848263aa061d00146108c257508163ad60ed5a1461088d578163b8108b2c146107f0578163b9fb75c514610790578163cc48fc961461070d578163e2aaa7f8146105ce578163e84b82f71461041c578163e9f4742714610369578163ee138400146102da578163eed0c426146102b9575063f362d2d41461016657600080fd5b6102b55760803660031901126102b5573590602435916044359260643591845494815495855b60ff8281831610156102b1576001908888878983898f5b878716106102075750505050505050906101c0916101c557611a6c565b61018c565b6102026101ed6101d583876117bc565b905460039291831b1c6001600160a01b031688611ac6565b6101f7838a6117bc565b9054911b1c87611a7d565b611a6c565b90856102206102178b80956117bc565b929054966117bc565b9560018060a01b03809254600398891b1c1692871b1c1614610256575b505050505061024b90611a6c565b8887898c898f6101a3565b8594975061028061024b966102746102a596959461028e949b6117bc565b905490861b1c936117bc565b929093838554911b1c611ab9565b825460001960039390931b92831b1916911b179055565b9050883889868d61023d565b8780f35b5080fd5b6020906102d16102c836611752565b93929092611da7565b90519015158152f35b83858260031936011261036657813580549392602480359291906102fd87611b35565b94841593815b60ff81168a811015610355578661031a83856117bc565b905491610343578961033e9493926103389260031b1c04918b611b21565b52611a6c565b610303565b634e487b7160e01b8652601288528686fd5b8951806103628b82611681565b0390f35b80fd5b84849160606003193601126102b5576001600160401b0392803584811161041857610397903690830161138c565b93602435908111610418576103ae91369101611519565b906103b7611376565b6001600160a01b0390811690845b865160ff82169081101561040e5783836103df838b611b21565b5116146103f6575b506103f190611a6c565b6103c5565b6103f19196506104069086611b21565b5195906103e7565b6020878651908152f35b8380fd5b929190506105ca57816003193601126105ca57803560249182356001600160401b0381116105c65761045190369083016116fc565b938594602091828201965b855460001981019081116105b457808210156105a65761047c82886117bc565b50835161049e816104908982018095611824565b03601f198101835282611323565b5190206104bd8a6104ca88875180938282019586918c519283916113fa565b8101038084520182611323565b519020146104e157506104dc90611797565b61045c565b866105099596979899506104fb92945061050393506117bc565b5091866117bc565b906119e3565b8254801561059457600019019361052085856117bc565b93909361058457505090849161053682546117ea565b9081610545575b505050505580f35b8390601f831160011461056057505050555b8238808061053d565b838252812092909161057d90601f0160051c8401600185016118a7565b5555610557565b634e487b7160e01b875286905285fd5b634e487b7160e01b8652603183528486fd5b505050509091929350610509565b634e487b7160e01b8a5260118652878afd5b8580fd5b8280fd5b838584610366576080366003190112610366578135602435604435936064356001600160401b0381116107095761060791369101611519565b938054835495855b60ff8082169084821015610705576001908a858a8a8d8b81955b8787161061068d575050505050505090610649929161064e575b50611a6c565b61060f565b6106806106879161067a610662858a6117bc565b905460039190911b1c6001600160a01b03168b611ac6565b85611b21565b5187611a7d565b89610643565b908561069d6102178c8c956117bc565b9560018060a01b03809254600398891b1c1692871b1c16146106d4575b50505050506106c890611a6c565b858a8a8d8f8c90610629565b859497506102806106c8966106f26106f996959461028e949b611b21565b51936117bc565b9050858d8a868e6106ba565b8880f35b8480fd5b8490816003193601126102b557908181608060a0945161072c81611308565b82815282602082015282848201528260608201520152805161074d81611308565b8281526020810191838352808201601481526080606084019386855201938585528251958652511515602086015251908401525115156060830152516080820152f35b849084366003190160c08112610418576060136105ca578151906107b3826112ed565b35815260243560208201526044358282015260a43590811515820361041857906107e4916084359060643590611d03565b82519182526020820152f35b8390858060031936011261036657806020835161080c816112bc565b8451610817816112bc565b83815283838201528152015281519161082f836112bc565b8183526020830182815260208251610846816112bc565b8581526003910190815282519451855290516001600160a01b0316602085015251918483101561087a575060609350820152f35b634e487b7160e01b815260218552602490fd5b8490816003193601126102b557610362906108a6611a2b565b506108af611a2b565b90519182916020835260208301906114c2565b8091846109a1576108d236611752565b6001600160a01b0392831683851690811494919285610995575b851561095c575b5050831561092a575b505050610907575050f35b610913600292516112bc565b6001810180546001600160a01b0319169055015580f35b9091925060018401928354161515928361094a575b5050508580806108fc565b6109549350611d57565b85808061093f565b8491929550168015159182610986575b8261097c575b50509288806108f3565b1490508880610972565b865460081c60ff16925061096c565b865460ff1695506108ec565b50fd5b8085859260031936011261036657602435906001600160401b03821161036657506020926109d86109df92369083016116fc565b9035611e61565b9051908152f35b929190506105ca5760c03660031901126105ca573590610a0461135b565b90610a0d611376565b6064356001600160a01b038181169291839003610ac85760843594818616809603610ac4578116911681149182610ab8575b8215610a84575b5050610a50578380f35b610a5a90516112bc565b60018201906bffffffffffffffffffffffff60a01b825416179055600260a4359101553880808380f35b80151592509082610aa9575b82610a9f575b50503880610a46565b1490503880610a96565b855460081c60ff169250610a90565b855460ff169250610a3f565b8780fd5b8680fd5b848361036657610adb366116bc565b829192935b8354851015610bab57600193835b8354811015610b7b57610b0187836117bc565b50835190610b4e610b5a60209284610b1c8582018093611824565b0394610b30601f1996878101835282611323565b51902093610b3e868a6117bc565b5093885193849182018096611824565b03908101835282611323565b51902014610b71575b610b6c90611797565b610aee565b9394508493610b63565b509394610b8c9195610b9257611797565b93610ae0565b610ba6610b9f82876117bc565b5084611a08565b611797565b8280f35b8490816003193601126102b55761036290610bc8611b01565b50610bd1611b01565b905191829182611611565b905083916102b55760603660031901126102b557823590602435906001600160401b036044358181116105c657610c1690369088016116fc565b9160018690865491602093848701915b8460ff821610610d9a57505050610c3b578680f35b600160401b9586821015610d875790610c59916001820181556117bc565b939093610d75578051928311610d6257908291610c8083610c7a87546117ea565b876118be565b81601f8411600114610cfc57508792610cf1575b50508160011b916000199060031b1c19161790555b805491821015610cde57610cc49293506001820181556117bc565b8154906000199060031b1b19169055808280808080808680f35b634e487b7160e01b835260418452602483fd5b015190508780610c94565b8589528089209350601f1985169089905b828210610d4a575050908460019594939210610d31575b505050811b019055610ca9565b015160001960f88460031b161c19169055878080610d24565b80600186978294978701518155019601940190610d0d565b634e487b7160e01b875260418852602487fd5b634e487b7160e01b8752868852602487fd5b634e487b7160e01b885260418952602488fd5b610da4818b6117bc565b508251610db8816104908a82018095611824565b519020825187810190610dd389828d516104bd81878c6113fa565b51902014610dea575b610de590611a6c565b610c26565b8a9350610ddc565b848361036657610e01366116d2565b9091600190818086815b610e38575b5050610e1a578480f35b610e2a610e309460028301611ac6565b01611a7d565b818080808480f35b60028401805460ff83161015610e9f5781610e52916117bc565b9054600391821b1c6001600160a01b0390811690891614610e7e575b50610e7890611a6c565b81610e0b565b9250610e7890610e9989948861028e61028085888b016117bc565b90610e6e565b50610e10565b61036290610bd1610eb536611577565b91611b67565b848361036657610eca366116d2565b9190835b6002830190815460ff82161015610f3b57610eec81610f0d936117bc565b9054600391821b1c6001600160a01b0390811690851614610f125750611a6c565b610ece565b610f35908661028e610f278560018a016117bc565b929093838554911b1c611a5f565b86610643565b8580f35b848361036657610f4e366116bc565b919081935b60029384830190815487101561102857600193855b8783018054821015610fe857610f7e8a866117bc565b50610b4e610fc98851610fb98660209583610f9c8882018093611824565b0393610fb0601f1995868101835282611323565b519020966117bc565b50938a5193849182018096611824565b51902014610fe0575b610fdb90611797565b610f68565b869550610fd2565b50509587926110019498929561100a575b505050611797565b93929092610f53565b61102092611017916117bc565b50908501611a08565b808780610ff9565b8480f35b848460803660031901126102b5576001600160401b039181358381116102b557611059903690840161138c565b9360249384359081116105ca576110739036908501611519565b9261107c611376565b6001600160a01b03956064803595909491928816905b895160ff82169081101561113657828a6110ac838e611b21565b5116146110c3575b506110be90611a6c565b611092565b876110ce828b611b21565b5111156110ff5790816110f86110f18a6110eb6110be968e611b21565b51611a5f565b918b611b21565b52906110b4565b505050906020601292519362461bcd60e51b855284015282015271496e73756666696369656e742046756e647360701b6044820152fd5b8351806103628b82611681565b839085606036600319011261036657506102d160209261116161135b565b6044359135611d57565b849061117636611577565b919093611181611b01565b505b8382015180519060ff8316918210156111eb576111c29291906001600160a01b039081906111b2908490611b21565b5116908816146111c75750611a6c565b611183565b6111e46020850151916111de876110eb8386611b21565b92611b21565b5286610643565b8551806103628682611611565b8480600319360112610366578060208351611212816112bc565b828152015260208251611224816112bc565b828152018181528251918252516020820152f35b8484826003193601126102b55780356001600160401b0381116105ca576112619136910161138c565b61126961135b565b6001600160a01b0390811691835b815160ff8216908110156112b05783611291869285611b21565b5116146112a7575b6112a290611a6c565b611277565b60019450611299565b60208688519015158152f35b604081019081106001600160401b038211176112d757604052565b634e487b7160e01b600052604160045260246000fd5b606081019081106001600160401b038211176112d757604052565b60a081019081106001600160401b038211176112d757604052565b90601f801991011681019081106001600160401b038211176112d757604052565b6001600160401b0381116112d75760051b60200190565b602435906001600160a01b038216820361137157565b600080fd5b604435906001600160a01b038216820361137157565b81601f82011215611371578035916113a383611344565b926113b16040519485611323565b808452602092838086019260051b820101928311611371578301905b8282106113db575050505090565b81356001600160a01b03811681036113715781529083019083016113cd565b60005b83811061140d5750506000910152565b81810151838201526020016113fd565b908082519081815260208091019281808460051b8301019501936000915b84831061144b5750505050505090565b909192939495848080600193601f1980878303018852601f8c5161147a815180928187528780880191016113fa565b01160101980193019301919493929061143b565b90815180825260208080930193019160005b8281106114ae575050505090565b8351855293810193928101926001016114a0565b6115169160606115056114f36114e1855160808652608086019061141d565b6020860151858203602087015261148e565b6040850151848203604086015261141d565b92015190606081840391015261148e565b90565b81601f820112156113715780359161153083611344565b9261153e6040519485611323565b808452602092838086019260051b820101928311611371578301905b828210611568575050505090565b8135815290830190830161155a565b60031960608282011261137157600435916001600160401b039182841161137157606090848303011261137157604051926115b1846112ed565b806004013584526024810135838111611371578260046115d392840101611519565b60208501526044810135928311611371576115f1920160040161138c565b6040820152906024356001600160a01b0381168103611371579060443590565b90602090818352805182840152604061163783830151606083870152608086019061148e565b910151926060601f198284030191015281808451928381520193019160005b828110611664575050505090565b83516001600160a01b031685529381019392810192600101611656565b6020908160408183019282815285518094520193019160005b8281106116a8575050505090565b83518552938101939281019260010161169a565b6040906003190112611371576004359060243590565b606090600319011261137157600435906024356001600160a01b0381168103611371579060443590565b81601f82011215611371578035906001600160401b0382116112d75760405192611730601f8401601f191660200185611323565b8284526020838301011161137157816000926020809301838601378301015290565b60a090600319011261137157600435906001600160a01b0360243581811681036113715791604435828116810361137157916064359081168103611371579060843590565b60001981146117a65760010190565b634e487b7160e01b600052601160045260246000fd5b80548210156117d45760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c9216801561181a575b602083101461180457565b634e487b7160e01b600052602260045260246000fd5b91607f16916117f9565b600092918154611833816117ea565b9260019180831690811561188c5750600114611850575b50505050565b90919293945060005260209081600020906000915b85831061187b575050505001903880808061184a565b805485840152918301918101611865565b60ff191684525050508115159091020191503880808061184a565b8181106118b2575050565b600081556001016118a7565b9190601f81116118cd57505050565b6118f9926000526020600020906020601f840160051c830193106118fb575b601f0160051c01906118a7565b565b90915081906118ec565b908082146119df5761191781546117ea565b906001600160401b0382116112d757819061193c8261193686546117ea565b866118be565b600090601f831160011461197357600092611968575b50508160011b916000199060031b1c1916179055565b015490503880611952565b81526020808220858352818320935090601f1985169083905b8282106119c65750509084600195949392106119ad575b505050811b019055565b015460001960f88460031b161c191690553880806119a3565b849581929585015481556001809101960194019061198c565b5050565b91906119f2576118f991611905565b634e487b7160e01b600052600060045260246000fd5b90815491600160401b8310156112d757826105039160016118f9950181556117bc565b60405190608082018281106001600160401b038211176112d757604052606080838181528160208201528160408201520152565b919082039182116117a657565b60ff1660ff81146117a65760010190565b90815491600160401b8310156112d75782611aa09160016118f9950181556117bc565b90919082549060031b91821b91600019901b1916179055565b919082018092116117a657565b8054600160401b8110156112d757611ae3916001820181556117bc565b819291549060031b9160018060a01b03809116831b921b1916179055565b60405190611b0e826112ed565b6060604083600081528260208201520152565b80518210156117d45760209160051b010190565b90611b3f82611344565b611b4c6040519182611323565b8281528092611b5d601f1991611344565b0190602036910137565b919091611b72611b01565b50600160005b604083015180519060ff831691821015611be9576001600160a01b03908190611ba2908490611b21565b511690871614611bbc575b50611bb790611a6c565b611b78565b9150611bb790600092611be26020860151916111de88611bdc8386611b21565b51611ab9565b5290611bad565b50929392505015611cfd5781516020830194855151600181018091116117a657611c14604091611b35565b94019182515193600185018095116117a657611c2f85611344565b94611c3d6040519687611323565b808652611c4c601f1991611344565b0136602087013760405191611c60836112ed565b8252602082019586526040820194855260005b84518051821015611cc757611cc291906001600160a01b0390611c97908390611b21565b5116611ca4828951611b21565b52611cb0818b51611b21565b51611cbc828a51611b21565b52611797565b611c73565b505094919692611ce290611cf9959792975190515190611b21565b6001600160a01b0390911690525190515190611b21565b5290565b50905090565b91939282518511908115611d49575b8115611d3c575b5015611d36575060400180516064908103935083116117a6575190565b90509190565b6001915015151438611d19565b602084015186109150611d12565b80546001600160a01b03928316921691909114919082611d83575b505015611d7e57600190565b600090565b6001015480159250908215611d9c575b50503880611d72565b111590503880611d93565b936001600160a01b039283168383169081149491929185611e55575b8515611e1c575b50508315611dea575b505050611de05750600090565b5460101c60ff1690565b90919250600184019283541615159283611e0a575b505050388080611dd3565b611e149350611d57565b388080611dff565b8491929550168015159182611e46575b82611e3c575b5050923880611dca565b1490503880611e32565b865460081c60ff169250611e2c565b865460ff169550611dc3565b9060408051602092838201815192611e838682818601966104bd81878a6113fa565b5190208351858101907232b73237bbb6b2b73a21b7b73a3937b63632b960691b825260138152611eb2816112bc565b51902003611ec1575050505090565b825184810190611ed9868285516104bd81878a6113fa565b519020835185810190701b585d1d5c9a5d1e55da1a5d195b1a5cdd607a1b825260118152611f06816112bc565b51902003611f185750505050600c0190565b825184810190611f30868285516104bd81878a6113fa565b5190208351858101906c1cdc1b1a5d151bd31a5c5d5a59609a1b8252600d8152611f59816112bc565b51902003611f6b575050505060300190565b825184810190611f83868285516104bd81878a6113fa565b5190208351858101906f69676e6f72655573657253706c69747360801b825260108152611faf816112bc565b51902003611fc1575050505060330190565b825184810190611fd9868285516104bd81878a6113fa565b519020835185810190697374726174656769657360b01b8252600a8152611fff816112bc565b51902003612011575050505060030190565b825184810190612029868285516104bd81878a6113fa565b5190208351858101907f77686974656c697374656442656e656669636961726965730000000000000000825260188152612062816112bc565b51902003612074575050505060060190565b82518481019061208c868285516104bd81878a6113fa565b5190208351858101907f77686974656c6973746564436f6e7472696275746f72730000000000000000008252601781526120c5816112bc565b519020036120d7575050505060090190565b8251848101906120ef868285516104bd81878a6113fa565b5190208351858101906b6d6174757269747954696d6560a01b8252600c8152612117816112bc565b519020036121295750505050600f0190565b825184810190612141868285516104bd81878a6113fa565b5190208351858101906670726f66696c6560c81b825260078152612164816112bc565b51902003612176575050505060120190565b82518481019061218e868285516104bd81878a6113fa565b5190208351858101906a6561726e696e677346656560a81b8252600b81526121b5816112bc565b519020036121c7575050505060150190565b8251848101906121df868285516104bd81878a6113fa565b5190208351858101906a776974686472617746656560a81b8252600b8152612206816112bc565b51902003612218575050505060180190565b825184810190612230868285516104bd81878a6113fa565b519020835185810190696465706f73697446656560b01b8252600a8152612256816112bc565b519020036122685750505050601b0190565b825184810190612280868285516104bd81878a6113fa565b5190208351858101906561756d46656560d01b8252600681526122a2816112bc565b519020036122b45750505050601e0190565b8251848101906122cc868285516104bd81878a6113fa565b5190208351858101906c6b7963446f6e6f72734f6e6c7960981b8252600d81526122f5816112bc565b51902003612307575050505060210190565b82518481019061231f868285516104bd81878a6113fa565b519020835185810190636e616d6560e01b82526004815261233f816112bc565b51902003612351575050505060240190565b825184810190612369868285516104bd81878a6113fa565b51902083518581019064696d61676560d81b82526005815261238a816112bc565b5190200361239c575050505060270190565b8251848101906123b4868285516104bd81878a6113fa565b519020835185810190636c6f676f60e01b8252600481526123d4816112bc565b519020036123e65750505050602a0190565b61240084845180936104bd838301968792519283916113fa565b5190208151838101906963617465676f7269657360b01b8252600a8152612426816112bc565b51902003612436575050602d0190565b60649250519062461bcd60e51b82526004820152600d60248201526c496e76616c6964496e7075747360981b6044820152fdfea264697066735822122057be8776d744fa0913d9ca157d362d65535bcaa77e36e387294ead17fee75a6164736f6c63430008120033"; + "0x6080806040523461001c5761148f908161002282393081600a0152f35b600080fdfe6080604090808252307f0000000000000000000000000000000000000000000000000000000000000000146004918236101561003a57600080fd5b600093843560e01c9182631f2c260914610d14575081632a0bc0601461085e5781633704191314610ce3578163564343ff14610bf657816367efb78614610bc65781636f331a1414610b91578163855762df1461097a578163973d5ef514610897578163ad60ed5a1461085e578163b8108b2c146107a9578163b9fb75c514610749578163bb37a283146106d3578163d0352ce81461066b578163e2aaa7f81461052b578163e84b82f71461037c578163e9f4742714610257575063f362d2d41461010457600080fd5b610253576080366003190112610253573590602435916044359260643591845494815495855b60ff82818316101561024f576001908888878983898f5b878716106101a557505050505050509061015e91610163576112f8565b61012a565b6101a061018b6101738387611046565b905460039291831b1c6001600160a01b031688611352565b610195838a611046565b9054911b1c87611309565b6112f8565b90856101be6101b58b8095611046565b92905496611046565b9560018060a01b03809254600398891b1c1692871b1c16146101f4575b50505050506101e9906112f8565b8887898c898f610141565b8594975061021e6101e99661021261024396959461022c949b611046565b905490861b1c93611046565b929093838554911b1c611345565b825460001960039390931b92831b1916911b179055565b9050883889868d6101db565b8780f35b5080fd5b838560603660031901126103795781359267ffffffffffffffff92838511610375573660238601121561037557848101359361029285610fab565b9561029f84519788610f32565b85875260209560248789019160051b8301019136831161037157602401905b82821061034e5750505060243590811161034a579293926102e191369101610fc3565b916102ea610e8e565b6001600160a01b0390811691855b875160ff821690811015610341578484610312838c61138d565b511614610329575b50610324906112f8565b6102f8565b610324919750610339908761138d565b51969061031a565b82888751908152f35b8380fd5b81356001600160a01b038116810361036d5781529087019087016102be565b8780fd5b8680fd5b8280fd5b80fd5b929190506103755781600319360112610375578035602491823567ffffffffffffffff8111610527576103b29036908301610f54565b938594602091828201965b855460001981019081116105155780821015610507576103dd8288611046565b5083516103ff816103f189820180956110ae565b03601f198101835282610f32565b51902061041e8a61042b88875180938282019586918c51928391610d54565b8101038084520182610f32565b51902014610442575061043d90611021565b6103bd565b8661046a95969798995061045c9294506104649350611046565b509186611046565b9061126e565b825480156104f55760001901936104818585611046565b9390936104e55750509084916104978254611074565b90816104a6575b505050505580f35b8390601f83116001146104c157505050555b8238808061049e565b83825281209290916104de90601f0160051c840160018501611131565b55556104b8565b634e487b7160e01b875286905285fd5b634e487b7160e01b8652603183528486fd5b50505050909192935061046a565b634e487b7160e01b8a5260118652878afd5b8580fd5b8385846103795760803660031901126103795781356024356044359360643567ffffffffffffffff81116106675761056591369101610fc3565b938054835495855b60ff8082169084821015610663576001908a858a8a8d8b81955b878716106105eb5750505050505050906105a792916105ac575b506112f8565b61056d565b6105de6105e5916105d86105c0858a611046565b905460039190911b1c6001600160a01b03168b611352565b8561138d565b5187611309565b896105a1565b90856105fb6101b58c8c95611046565b9560018060a01b03809254600398891b1c1692871b1c1614610632575b5050505050610626906112f8565b858a8a8d8f8c90610587565b8594975061021e6106269661065061065796959461022c949b61138d565b5193611046565b9050858d8a868e610618565b8880f35b8480fd5b83858260031936011261037957508035602435918282111561069b5760208461069485856112eb565b9051908152f35b606490602085519162461bcd60e51b83528201526012602482015271496e73756666696369656e742046756e647360701b6044820152fd5b8490846080366003190112610375576020925035906106f0610e73565b6106f8610e8e565b60ff8454161593841561072f575b508315610718575b5050519015158152f35b6001600160a01b039182169116149150838061070e565b610742919450826001606435920161140a565b9285610706565b849084366003190160c0811261034a576060136103755781519061076c82610f16565b35815260243560208201526044358282015260a43590811515820361034a579061079d9160843590606435906113a1565b82519182526020820152f35b839085806003193601126103795780602083516107c581610ee4565b84516107d081610f16565b83815283838201528386820152815201528151916107ed83610f16565b81835260208301908282528084018381526020825161080b81610ee4565b868152600391019081528251955163ffffffff16865292516020860152516001600160a01b03169084015251908382101561084b57608083836060820152f35b634e487b7160e01b815260218452602490fd5b84908160031936011261025357610893906108776112b6565b506108806112b6565b9051918291602083526020830190610e1c565b0390f35b8483610379576108a636610ea4565b829192935b835485101561097657600193835b8354811015610946576108cc8783611046565b50835190610919610925602092846108e785820180936110ae565b03946108fb601f1996878101835282610f32565b51902093610909868a611046565b50938851938491820180966110ae565b03908101835282610f32565b5190201461093c575b61093790611021565b6108b9565b939450849361092e565b509394610957919561095d57611021565b936108ab565b61097161096a8287611046565b5084611293565b611021565b8280f35b90508391610253576060366003190112610253578235906024359067ffffffffffffffff604435818111610527576109b59036908801610f54565b9160018690865491602093848701915b8460ff821610610b39575050506109da578680f35b600160401b9586821015610b2657906109f891600182018155611046565b939093610b14578051928311610b0157908291610a1f83610a198754611074565b87611148565b81601f8411600114610a9b57508792610a90575b50508160011b916000199060031b1c19161790555b805491821015610a7d57610a63929350600182018155611046565b8154906000199060031b1b19169055808280808080808680f35b634e487b7160e01b835260418452602483fd5b015190508780610a33565b8589528089209350601f1985169089905b828210610ae9575050908460019594939210610ad0575b505050811b019055610a48565b015160001960f88460031b161c19169055878080610ac3565b80600186978294978701518155019601940190610aac565b634e487b7160e01b875260418852602487fd5b634e487b7160e01b8752868852602487fd5b634e487b7160e01b885260418952602488fd5b610b43818b611046565b508251610b57816103f18a820180956110ae565b519020825187810190610b7289828d5161041e81878c610d54565b51902014610b89575b610b84906112f8565b6109c5565b8a9350610b7b565b92505061025357610bc1600191610ba736610eba565b949190828060a01b03168652016020528320918254611345565b905580f35b92505061025357610bc1600191610bdc36610eba565b949190828060a01b031686520160205283209182546112eb565b848361037957610c0536610ea4565b919081935b600293848301908154871015610cdf57600193855b8783018054821015610c9f57610c358a86611046565b50610919610c808851610c708660209583610c5388820180936110ae565b0393610c67601f1995868101835282610f32565b51902096611046565b50938a51938491820180966110ae565b51902014610c97575b610c9290611021565b610c1f565b869550610c89565b5050958792610cb894989295610cc1575b505050611021565b93929092610c0a565b610cd792610cce91611046565b50908501611293565b808780610cb0565b8480f35b83908560603660031901126103795750610d0b602092610d01610e73565b604435913561140a565b90519015158152f35b85908160031936011261025357602081610d2e8493610ee4565b828152015260208251610d4081610ee4565b828152018181528251918252516020820152f35b60005b838110610d675750506000910152565b8181015183820152602001610d57565b908082519081815260208091019281808460051b8301019501936000915b848310610da55750505050505090565b909192939495848080600193601f1980878303018852601f8c51610dd481518092818752878088019101610d54565b011601019801930193019194939290610d95565b90815180825260208080930193019160005b828110610e08575050505090565b835185529381019392810192600101610dfa565b610e70916060610e5f610e4d610e3b8551608086526080860190610d77565b60208601518582036020870152610de8565b60408501518482036040860152610d77565b920151906060818403910152610de8565b90565b602435906001600160a01b0382168203610e8957565b600080fd5b604435906001600160a01b0382168203610e8957565b6040906003190112610e89576004359060243590565b6060906003190112610e8957600435906024356001600160a01b0381168103610e89579060443590565b6040810190811067ffffffffffffffff821117610f0057604052565b634e487b7160e01b600052604160045260246000fd5b6060810190811067ffffffffffffffff821117610f0057604052565b90601f8019910116810190811067ffffffffffffffff821117610f0057604052565b81601f82011215610e895780359067ffffffffffffffff8211610f005760405192610f89601f8401601f191660200185610f32565b82845260208383010111610e8957816000926020809301838601378301015290565b67ffffffffffffffff8111610f005760051b60200190565b81601f82011215610e8957803591610fda83610fab565b92610fe86040519485610f32565b808452602092838086019260051b820101928311610e89578301905b828210611012575050505090565b81358152908301908301611004565b60001981146110305760010190565b634e487b7160e01b600052601160045260246000fd5b805482101561105e5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c921680156110a4575b602083101461108e57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611083565b6000929181546110bd81611074565b9260019180831690811561111657506001146110da575b50505050565b90919293945060005260209081600020906000915b85831061110557505050500190388080806110d4565b8054858401529183019181016110ef565b60ff19168452505050811515909102019150388080806110d4565b81811061113c575050565b60008155600101611131565b9190601f811161115757505050565b611183926000526020600020906020601f840160051c83019310611185575b601f0160051c0190611131565b565b9091508190611176565b9080821461126a576111a18154611074565b9067ffffffffffffffff8211610f005781906111c7826111c18654611074565b86611148565b600090601f83116001146111fe576000926111f3575b50508160011b916000199060031b1c1916179055565b0154905038806111dd565b81526020808220858352818320935090601f1985169083905b828210611251575050908460019594939210611238575b505050811b019055565b015460001960f88460031b161c1916905538808061122e565b8495819295850154815560018091019601940190611217565b5050565b919061127d576111839161118f565b634e487b7160e01b600052600060045260246000fd5b90815491600160401b831015610f00578261046491600161118395018155611046565b604051906080820182811067ffffffffffffffff821117610f0057604052606080838181528160208201528160408201520152565b9190820391821161103057565b60ff1660ff81146110305760010190565b90815491600160401b831015610f00578261132c91600161118395018155611046565b90919082549060031b91821b91600019901b1916179055565b9190820180921161103057565b8054600160401b811015610f005761136f91600182018155611046565b819291549060031b9160018060a01b03809116831b921b1916179055565b805182101561105e5760209160051b010190565b92156113bf5750506040019081516064039160648311611030575190565b82518211156113dd5750505190816064039160648311611030579190565b909291602001928351918282106000146114035750506064039160648311611030575190565b9350919050565b80546001600160a01b0390811680151594939091908561144d575b5050508261143257505090565b600101548015925090821561144657505090565b1115905090565b1614925038808061142556fea26469706673582212207574d8775ff19971d87a4c14e88a5ce21a000cb17399e66783905d9df9540a2364736f6c63430008120033"; type AngelCoreStructConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/core/swap-router/index.ts b/typechain-types/factories/contracts/core/swap-router/index.ts index c38b34aa1..b05c861c8 100644 --- a/typechain-types/factories/contracts/core/swap-router/index.ts +++ b/typechain-types/factories/contracts/core/swap-router/index.ts @@ -1,5 +1,5 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -export * as interface from "./Interface"; +export * as interfaces from "./interfaces"; export * as swappingSol from "./swapping.sol"; diff --git a/typechain-types/factories/contracts/core/swap-router/Interface/ISwappingV3__factory.ts b/typechain-types/factories/contracts/core/swap-router/interfaces/ISwappingV3__factory.ts similarity index 84% rename from typechain-types/factories/contracts/core/swap-router/Interface/ISwappingV3__factory.ts rename to typechain-types/factories/contracts/core/swap-router/interfaces/ISwappingV3__factory.ts index 60c8d91b8..c568cd419 100644 --- a/typechain-types/factories/contracts/core/swap-router/Interface/ISwappingV3__factory.ts +++ b/typechain-types/factories/contracts/core/swap-router/interfaces/ISwappingV3__factory.ts @@ -7,29 +7,29 @@ import type { Provider } from "@ethersproject/providers"; import type { ISwappingV3, ISwappingV3Interface, -} from "../../../../../contracts/core/swap-router/Interface/ISwappingV3"; +} from "../../../../../contracts/core/swap-router/interfaces/ISwappingV3"; const _abi = [ { inputs: [ { - internalType: "address[]", - name: "curTokenin", - type: "address[]", + internalType: "address", + name: "tokenIn", + type: "address", }, { internalType: "address", - name: "curTokenout", + name: "tokenOut", type: "address", }, { - internalType: "uint256[]", - name: "curAmountin", - type: "uint256[]", + internalType: "uint256", + name: "amountIn", + type: "uint256", }, { internalType: "uint256", - name: "curAmountout", + name: "amountOut", type: "uint256", }, ], @@ -80,12 +80,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curTokena", + name: "tokena", type: "address", }, { internalType: "uint256", - name: "curAmountin", + name: "amountin", type: "uint256", }, ], diff --git a/typechain-types/factories/contracts/core/swap-router/Interface/Ipool.sol/IPool__factory.ts b/typechain-types/factories/contracts/core/swap-router/interfaces/Ipool.sol/IPool__factory.ts similarity index 93% rename from typechain-types/factories/contracts/core/swap-router/Interface/Ipool.sol/IPool__factory.ts rename to typechain-types/factories/contracts/core/swap-router/interfaces/Ipool.sol/IPool__factory.ts index abbe5ba66..83d911f78 100644 --- a/typechain-types/factories/contracts/core/swap-router/Interface/Ipool.sol/IPool__factory.ts +++ b/typechain-types/factories/contracts/core/swap-router/interfaces/Ipool.sol/IPool__factory.ts @@ -7,7 +7,7 @@ import type { Provider } from "@ethersproject/providers"; import type { IPool, IPoolInterface, -} from "../../../../../../contracts/core/swap-router/Interface/Ipool.sol/IPool"; +} from "../../../../../../contracts/core/swap-router/interfaces/Ipool.sol/IPool"; const _abi = [ { diff --git a/typechain-types/factories/contracts/core/swap-router/Interface/Ipool.sol/index.ts b/typechain-types/factories/contracts/core/swap-router/interfaces/Ipool.sol/index.ts similarity index 100% rename from typechain-types/factories/contracts/core/swap-router/Interface/Ipool.sol/index.ts rename to typechain-types/factories/contracts/core/swap-router/interfaces/Ipool.sol/index.ts diff --git a/typechain-types/factories/contracts/core/swap-router/Interface/index.ts b/typechain-types/factories/contracts/core/swap-router/interfaces/index.ts similarity index 100% rename from typechain-types/factories/contracts/core/swap-router/Interface/index.ts rename to typechain-types/factories/contracts/core/swap-router/interfaces/index.ts diff --git a/typechain-types/factories/contracts/core/swap-router/swapping.sol/SwapRouter__factory.ts b/typechain-types/factories/contracts/core/swap-router/swapping.sol/SwapRouter__factory.ts index a22db2106..bcb613d08 100644 --- a/typechain-types/factories/contracts/core/swap-router/swapping.sol/SwapRouter__factory.ts +++ b/typechain-types/factories/contracts/core/swap-router/swapping.sol/SwapRouter__factory.ts @@ -13,23 +13,23 @@ const _abi = [ { inputs: [ { - internalType: "address[]", - name: "curTokenin", - type: "address[]", + internalType: "address", + name: "tokenIn", + type: "address", }, { internalType: "address", - name: "curTokenout", + name: "tokenOut", type: "address", }, { - internalType: "uint256[]", - name: "curAmountin", - type: "uint256[]", + internalType: "uint256", + name: "amountIn", + type: "uint256", }, { internalType: "uint256", - name: "curAmountout", + name: "amountOut", type: "uint256", }, ], @@ -70,7 +70,7 @@ const _abi = [ }, ], internalType: "struct SwapRouterMessages.InstantiateMsg", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -115,12 +115,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curTokena", + name: "tokena", type: "address", }, { internalType: "uint256", - name: "curAmountin", + name: "amountin", type: "uint256", }, ], @@ -138,7 +138,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60808060405234610016576113a3908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80632435e368146105d257806375477365146104bb57806375c9f3ac1461031f57806379470bc91461025e5763a470947a1461005757600080fd5b3461025a57608036600319011261025a578051906080820182811067ffffffffffffffff82111761024757815261008c610946565b825261009661092b565b60208301908152604435926001600160a01b03919082851685036102435783810194855260643590838216820361023f576060810191825286549460ff8660a01c16610208575090838080935116936bffffffffffffffffffffffff60a01b9485600154161760015551168360025416176002555116906003541617600355600160a01b925116906affffffffffffffffffffff60a81b161717815581546801000000000000000090818110156101f5578060016101569201855561095c565b929080549360031b62ffffff94856101f4831b921b19161790558354828110156101e2578060016101899201865561095c565b81549060031b9085610bb8831b921b19161790558354918210156101cf57508060016101b79201845561095c565b819291549060031b91612710831b921b191617905580f35b634e487b7160e01b845260419052602483fd5b634e487b7160e01b855260418252602485fd5b634e487b7160e01b845260418352602484fd5b5162461bcd60e51b81526020818901526012602482015271105b1c9958591e48125b9a5d1a5b1a5e995960721b6044820152606490fd5b8780fd5b8680fd5b634e487b7160e01b855260418452602485fd5b8280fd5b50903461025a578160031936011261025a57610278610946565b6001546001600160a01b03929190859084163381148015610312575b61029d90610f49565b855163e68f909d60e01b815293849182905afa91821561030857906102dc93929186602097936102e3575b505033926103c06024359301511690610a38565b9051908152f35b6103009293503d8091833e6102f881836108f1565b810190610f84565b9038806102c8565b84513d87823e3d90fd5b5060025485163314610294565b508290816003193601126104b7576001546001600160a01b039084908490831633811480156104aa575b61035290610f49565b61035d341515611330565b845163e68f909d60e01b815292839182905afa90811561049d578491610483575b506103e0810194828061039e6103c0828a51169501948286511690610cff565b9751169251169261025842018042116104705790610414949392918651936103c5856108be565b845262ffffff6020998a9687870152168785015233606085015260808401523460a08401528660c08401528660e08401526003541690855180958194829363414bf38960e01b845283016109d1565b039134905af1928315610465578093610430575b505051908152f35b909192508382813d831161045e575b61044981836108f1565b8101031261045b575051908380610428565b80fd5b503d61043f565b8251903d90823e3d90fd5b634e487b7160e01b875260118352602487fd5b61049791503d8086833e6102f881836108f1565b8561037e565b50505051903d90823e3d90fd5b5060025484163314610349565b5080fd5b5082906020928360031936011261025a576104d4610946565b906104e0341515611330565b600154835163e68f909d60e01b81526001600160a01b0391869082908590829086165afa9081156105c857906103e09187916105ae575b500192816105288282875116610cff565b9451169361025842019182421161059b579162ffffff849261041497958b97958a5197610554896108be565b88521687870152168785015233606085015260808401523460a08401528660c08401528660e08401526003541690855180958194829363414bf38960e01b845283016109d1565b634e487b7160e01b885260118552602488fd5b6105c291503d8089833e6102f881836108f1565b88610517565b85513d88823e3d90fd5b50823461045b57608036600319011261045b5767ffffffffffffffff92803584811161025a573660238201121561025a57808201359461061186610913565b61061d865191826108f1565b8681526020928382016024809960051b8301019136831161023f578901905b82821061089f5750505061064e61092b565b60443592831161089b573660238401121561089b57828501359261067184610913565b9361067e895195866108f1565b808552898686019160051b83010191368311610897578a879101915b83831061088757505050508151918215610845578694855b60ff87168581101561071a576106e9906001600160a01b036106d482876109b0565b5116866106e230938b6109b0565b5191610a38565b8101809111610708579560ff80911690811461070857600101956106b2565b634e487b7160e01b8952601188528a89fd5b5089888c8b8760643586106107f257845163a9059cbb60e01b815233858201908152602081018890529091889183919082908690829060400103926001600160a01b03165af19182156107e75780926107af575b50501561077d57505051908152f35b600f9085606494519362461bcd60e51b85528401528201526e151c985b9cd9995c8819985a5b1959608a1b6044820152fd5b9091508682813d83116107e0575b6107c781836108f1565b8101031261045b57506107d9906109c4565b868061076e565b503d6107bd565b8551903d90823e3d90fd5b845162461bcd60e51b81528085018890526028818501527f4f75747075742066756e6473206c657373207468616e20746865206d696e696d604482015267756d2066756e647360c01b6064820152608490fd5b875162461bcd60e51b81528087018690526018818b01527f496e76616c69642063616c6c546f6b656e206c656e67746800000000000000006044820152606490fd5b823581529181019187910161069a565b8880fd5b8580fd5b81356001600160a01b038116810361089757815290850190850161063c565b610100810190811067ffffffffffffffff8211176108db57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176108db57604052565b67ffffffffffffffff81116108db5760051b60200190565b602435906001600160a01b038216820361094157565b600080fd5b600435906001600160a01b038216820361094157565b9060005482101561099a57600080526003600a8084047f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630193060290565b634e487b7160e01b600052603260045260246000fd5b805182101561099a5760209160051b010190565b5190811515820361094157565b91909160e06101008201938160018060a01b039182815116855282602082015116602086015262ffffff60408201511660408601528260608201511660608601526080810151608086015260a081015160a086015260c081015160c0860152015116910152565b93929362ffffff610a498383610cff565b16908115610ca65760018060a01b03809116906040948551946323b872dd60e01b8652600498338a88015230602488015282604488015260209560009787816064818c8b5af1908115610c2e578991610c71575b5015610c3857600354895163095ea7b360e01b81529086166001600160a01b03168c82019081526020810186905288908290819060400103818c8b5af1908115610c2e578991610bf9575b5015610bc557610258420192834211610bb25794899a9b9492819492828a9998610b5d9d5199610b178b6108be565b8a5216898901528c880152166060860152608085015260a08401528560c08401528560e0840152600354169085885180988195829463414bf38960e01b845283016109d1565b03925af1938415610ba757508193610b76575b50505090565b9091809350813d8311610ba0575b610b8e81836108f1565b8101031261045b575051388080610b70565b503d610b84565b51913d9150823e3d90fd5b634e487b7160e01b895260118c52602489fd5b885162461bcd60e51b8152808c01889052600e60248201526d105c1c1c9bdd994819985a5b195960921b6044820152606490fd5b90508781813d8311610c27575b610c1081836108f1565b8101031261089757610c21906109c4565b38610ae8565b503d610c06565b8a513d8b823e3d90fd5b885162461bcd60e51b8152808c018890526013602482015272151c985b9cd9995c919c9bdb4819985a5b1959606a1b6044820152606490fd5b90508781813d8311610c9f575b610c8881836108f1565b8101031261089757610c99906109c4565b38610a9d565b503d610c7e565b60405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420546f6b656e2053656e6420746f20737761700000000000006044820152606490fd5b51906001600160a01b038216820361094157565b6001600160a01b039290838116908115610f12578484168015610edb57808314610e885785921015610e82575b168015610e3d576000809460049481865416965b600380821015610e3157610d538261095c565b919062ffffff9283915490831b1c16604090815190630b4c774160e11b8252898c83015287871660248301526044820152808c81606460209384935afa928315610e27575090879291600092610def575b505016610dd35750506000198114610dbe57600101610d40565b601187634e487b7160e01b6000525260246000fd5b969850965092505050610de6915061095c565b9054911b1c1690565b90809350813d8311610e20575b610e0681836108f1565b8101031261045b5750610e198691610ceb565b3880610da4565b503d610dfc565b513d6000823e3d90fd5b50505050925050915090565b60405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f4144445245535300006044820152606490fd5b92610d2c565b60405162461bcd60e51b815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f41444452604482015264455353455360d81b6064820152608490fd5b60405162461bcd60e51b815260206004820152600f60248201526e24b73b30b634b2102a37b5b2b7102160891b6044820152606490fd5b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c696420546f6b656e204160881b6044820152606490fd5b15610f5057565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b602090818184031261094157805167ffffffffffffffff91828211610941570190818403916104e083126109415760409283519561042091828801888110868211176108db578652610fd584610ceb565b8852610fe2878501610ceb565b87890152610ff1868501610ceb565b8689015261100160608501610ceb565b606089015261101260808501610ceb565b608089015261102360a08501610ceb565b60a089015261103460c08501610ceb565b60c089015261104560e08501610ceb565b60e0890152610100611058818601610ceb565b9089015261012061106a818601610ceb565b9089015261014061107c818601610ceb565b9089015261016061108e818601610ceb565b908901526101806110a0818601610ceb565b908901526101a06110b2818601610ceb565b9089015260606101bf198201126109415785519060608201828110878211176108db5787526101c0928386015183526101e092838701518a82015261020094858801518a8301528b01526102209261110b848801610ceb565b908b01526102409361111e858801610ceb565b908b015261026092611131848801610ceb565b908b015261028093611144858801610ceb565b908b01526102a09283870151908b01526102c093611163858801610ceb565b908b01526102e09283870151888111610941578701918a83820312610941578951928b84018481108b8211176108db578b528051908a821161094157019080601f830112156109415781516111b781610913565b926111c48d5194856108f1565b8184528d8085019260051b820101928311610941578d809101915b83831061131857505050908352508a01526103009260a09190611203878601610ceb565b908b015261031f19011261094157855160a08101958611818710176108db57866104c09661131198526112c36103209561123e8789016109c4565b84526103409a61124f8c8a016109c4565b908501526103609283890151908501526103809361126e858a016109c4565b60608201526103a095868a015160808301528d01526103c095611292878a01610ceb565b908d01526103e0966112a5888a01610ceb565b908d01526104009a6112b88c8a01610ceb565b908d01528701610ceb565b908a01526112d46104408601610ceb565b908901526112e56104608501610ceb565b908801526112f66104808401610ceb565b908701526113076104a08301610ceb565b9086015201610ceb565b9082015290565b819061132384610ceb565b8152019101908d906111df565b1561133757565b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b6044820152606490fdfea26469706673582212208d5b07d0a7f498f8038aa19580ef403fa3451a99c765c222ba05f0f625dc9d8e64736f6c63430008120033"; + "0x6080806040523461001657611089908161001c8239f35b600080fdfe60406080815260048036101561001457600080fd5b600091823560e01c80635bf1322a146105ec57806375477365146104cb57806375c9f3ac1461032d57806379470bc91461025e5763a470947a1461005757600080fd5b3461025a57608036600319011261025a578051906080820182811067ffffffffffffffff82111761024757815261008c61073f565b825261009661075a565b60208301908152604435926001600160a01b03919082851685036102435783810194855260643590838216820361023f576060810191825286549460ff8660a01c16610208575090838080935116936bffffffffffffffffffffffff60a01b9485600154161760015551168360025416176002555116906003541617600355600160a01b925116906affffffffffffffffffffff60a81b161717815581546801000000000000000090818110156101f557806001610156920185556107c5565b929080549360031b62ffffff94856101f4831b921b19161790558354828110156101e257806001610189920186556107c5565b81549060031b9085610bb8831b921b19161790558354918210156101cf57508060016101b7920184556107c5565b819291549060031b91612710831b921b191617905580f35b634e487b7160e01b845260419052602483fd5b634e487b7160e01b855260418252602485fd5b634e487b7160e01b845260418352602484fd5b5162461bcd60e51b81526020818901526012602482015271105b1c9958591e48125b9a5d1a5b1a5e995960721b6044820152606490fd5b8780fd5b8680fd5b634e487b7160e01b855260418452602485fd5b8280fd5b50903461025a578160031936011261025a5761027861073f565b6001546001600160a01b039290831691903383148015610320575b61029c90610d79565b84519283809263e68f909d60e01b82526103e09586935afa92831561031657906102e094939291602097936102e7575b505033926103406024359301511690610898565b9051908152f35b610307929350803d1061030f575b6102ff81836107a3565b810190610db4565b9038806102cc565b503d6102f5565b85513d88823e3d90fd5b5060025484163314610293565b508290816003193601126104c7576001546001600160a01b0390811633811480156104ba575b61035c90610d79565b610367341515611016565b8251809163e68f909d60e01b825281876103e09485935afa9182156104b0578592610493575b505061036081019482806103ae610340828a51169501948286511690610b2f565b9751169251169261025842018042116104805790610424949392918651936103d585610770565b845262ffffff6020998a9687870152168785015233606085015260808401523460a08401528660c08401528660e08401526003541690855180958194829363414bf38960e01b84528301610831565b039134905af1928315610475578093610440575b505051908152f35b909192508382813d831161046e575b61045981836107a3565b8101031261046b575051908380610438565b80fd5b503d61044f565b8251903d90823e3d90fd5b634e487b7160e01b875260118352602487fd5b6104a99250803d1061030f576102ff81836107a3565b858061038d565b84513d87823e3d90fd5b5060025482163314610353565b5080fd5b5082906020928360031936011261025a576104e461073f565b906104f0341515611016565b600154835163e68f909d60e01b81526001600160a01b03916103e09190829082908690829087165afa9182156105e25790610360929188926105c5575b505001928161053f8282875116610b2f565b945116936102584201918242116105b2579162ffffff849261042497958b97958a519761056b89610770565b88521687870152168785015233606085015260808401523460a08401528660c08401528660e08401526003541690855180958194829363414bf38960e01b84528301610831565b634e487b7160e01b885260118552602488fd5b6105db9250803d1061030f576102ff81836107a3565b888061052d565b86513d89823e3d90fd5b509190346104c75760803660031901126104c75761060861073f565b9161062161061461075a565b9330908560443591610898565b9260643584106106eb57845163a9059cbb60e01b81523384820190815260208181018790529192839182908690829060400103926001600160a01b03165af19182156106e057916106b2575b501561067d575060209151908152f35b606490602084519162461bcd60e51b8352820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152fd5b6106d3915060203d81116106d9575b6106cb81836107a3565b810190610819565b3861066d565b503d6106c1565b8551903d90823e3d90fd5b845162461bcd60e51b8152602081850152602860248201527f4f75747075742066756e6473206c657373207468616e20746865206d696e696d604482015267756d2066756e647360c01b6064820152608490fd5b600435906001600160a01b038216820361075557565b600080fd5b602435906001600160a01b038216820361075557565b610100810190811067ffffffffffffffff82111761078d57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761078d57604052565b9060005482101561080357600080526003600a8084047f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5630193060290565b634e487b7160e01b600052603260045260246000fd5b90816020910312610755575180151581036107555790565b91909160e06101008201938160018060a01b039182815116855282602082015116602086015262ffffff60408201511660408601528260608201511660608601526080810151608086015260a081015160a086015260c081015160c0860152015116910152565b93929362ffffff6108a98383610b2f565b16908115610ad65760018060a01b03809116906040948551946323b872dd60e01b8652600498338a88015230602488015282604488015260209560009787816064818c8b5af1908115610a76578991610ab9575b5015610a8057600354895163095ea7b360e01b81529086166001600160a01b03168c82019081526020810186905288908290819060400103818c8b5af1908115610a76578991610a59575b5015610a2557610258420192834211610a125794899a9b9492819492828a99986109bd9d51996109778b610770565b8a5216898901528c880152166060860152608085015260a08401528560c08401528560e0840152600354169085885180988195829463414bf38960e01b84528301610831565b03925af1938415610a07575081936109d6575b50505090565b9091809350813d8311610a00575b6109ee81836107a3565b8101031261046b5750513880806109d0565b503d6109e4565b51913d9150823e3d90fd5b634e487b7160e01b895260118c52602489fd5b885162461bcd60e51b8152808c01889052600e60248201526d105c1c1c9bdd994819985a5b195960921b6044820152606490fd5b610a709150883d8a116106d9576106cb81836107a3565b38610948565b8a513d8b823e3d90fd5b885162461bcd60e51b8152808c018890526013602482015272151c985b9cd9995c919c9bdb4819985a5b1959606a1b6044820152606490fd5b610ad09150883d8a116106d9576106cb81836107a3565b386108fd565b60405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420546f6b656e2053656e6420746f20737761700000000000006044820152606490fd5b51906001600160a01b038216820361075557565b6001600160a01b039290838116908115610d42578484168015610d0b57808314610cb85785921015610cb2575b168015610c6d576000809460049481865416965b600380821015610c6157610b83826107c5565b919062ffffff9283915490831b1c16604090815190630b4c774160e11b8252898c83015287871660248301526044820152808c81606460209384935afa928315610c57575090879291600092610c1f575b505016610c035750506000198114610bee57600101610b70565b601187634e487b7160e01b6000525260246000fd5b969850965092505050610c1691506107c5565b9054911b1c1690565b90809350813d8311610c50575b610c3681836107a3565b8101031261046b5750610c498691610b1b565b3880610bd4565b503d610c2c565b513d6000823e3d90fd5b50505050925050915090565b60405162461bcd60e51b815260206004820152601e60248201527f556e697377617056324c6962726172793a205a45524f5f4144445245535300006044820152606490fd5b92610b5c565b60405162461bcd60e51b815260206004820152602560248201527f556e697377617056324c6962726172793a204944454e544943414c5f41444452604482015264455353455360d81b6064820152608490fd5b60405162461bcd60e51b815260206004820152600f60248201526e24b73b30b634b2102a37b5b2b7102160891b6044820152606490fd5b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c696420546f6b656e204160881b6044820152606490fd5b15610d8057565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b8091036103e08112610755576040908151926103a09081850167ffffffffffffffff938682108583111761078d576060918652610df083610b1b565b8752610dfe60208401610b1b565b6020880152610e0e868401610b1b565b86880152610e1d828401610b1b565b82880152610e2d60808401610b1b565b6080880152610e3e60a08401610b1b565b60a0880152610e4f60c08401610b1b565b60c0880152610e6060e08401610b1b565b60e0880152610100610e73818501610b1b565b90880152610120610e85818501610b1b565b90880152610140610e97818501610b1b565b90880152610160610ea9818501610b1b565b90880152610180610ebb818501610b1b565b9088015261019f19011261075557835193606085019384118585101761078d576110056103c09361100f9583526101a0968785015181526101c0978886015160208301526101e094858701519083015289015261020096610f1d888601610b1b565b9089015261022092610f30848601610b1b565b9089015261024096610f43888601610b1b565b9089015261026092838501519089015261028096610f62888601610b1b565b908901526102a092610f75848601610b1b565b908901526102c096610f88888601610b1b565b908901526102e092610f9b848601610b1b565b9089015261030096610fae888601610b1b565b9089015261032092610fc1848601610b1b565b9089015261034096610fd4888601610b1b565b9089015261036092610fe7848601610b1b565b9089015261038096610ffa888601610b1b565b908901528301610b1b565b9086015201610b1b565b9082015290565b1561101d57565b60405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a5908105b5bdd5b9d60921b6044820152606490fdfea2646970667358221220aa3797b82ee22dbfdbce04444d914f8b4fbbceaa91a351cd8ba4b87544c93cf064736f6c63430008120033"; type SwapRouterConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/halo/airdrop/Airdrop__factory.ts b/typechain-types/factories/contracts/halo/airdrop/Airdrop__factory.ts index c665114f1..39bf7a27b 100644 --- a/typechain-types/factories/contracts/halo/airdrop/Airdrop__factory.ts +++ b/typechain-types/factories/contracts/halo/airdrop/Airdrop__factory.ts @@ -133,7 +133,7 @@ const _abi = [ }, ], internalType: "struct AirdropMessage.InstantiateMsg", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -264,7 +264,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001b57600160075561097190816100218239f35b600080fdfe60406080815260048036101561001457600080fd5b600090813560e01c9081632f52ebb71461053557816367b30b9b146105165781636b8432921461042e5781636cc919c81461033457816378d8cb37146102ed578163b6a597dd14610130578163d2065624146100d7575063e68f909d1461007a57600080fd5b346100d457806003193601126100d4578060208351610098816108b3565b82815201525460015482516001600160a01b0392831692918216906020906100bf816108b3565b84815201908152835192835251166020820152f35b80fd5b90503461012c57602036600319011261012c578290359180602083516100fc816108b3565b82815201528281526003602052205460208351610118816108b3565b838152019081528251918252516020820152f35b5080fd5b839150346102e957816003193601126102e957815161014e816108b3565b610156610882565b815261016061089d565b906020810191825260065460ff8160081c1615938480956102dc575b80156102c5575b1561026b57509184917f5203c1c326696b88016f85f70d939e46bc7411832e2b00669369d7f6beb22b619385600160ff19831617600655610259575b5060018060a01b03818180935116828551169081602088516101e0816108b3565b83815201526bffffffffffffffffffffffff60a01b90818c5416178b55600154161760015588600255511691511682519182526020820152a1610221575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff0019600654166006555160018152a180f35b61ffff191661010117600655876101bf565b608490602087519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156101835750600160ff831614610183565b50600160ff83161061017c565b8280fd5b839150346102e957816003193601126102e9578160209360ff9261030f61089d565b813583529086528282206001600160a01b039091168252855220549151911615158152f35b905082346102e95760203660031901126102e957610350610882565b6103586108e5565b8354906001600160a01b039033828416036103eb57169283156103b657506001600160a01b03191682178355519081527fcb6a9b753508c584d4d222096a1dddd092d9e2354a225a9946a17ecf94c794f490602090a1600160075580f35b606490602084519162461bcd60e51b8352820152600f60248201526e496e76616c6964206164647265737360881b6044820152fd5b835162461bcd60e51b8152602081870152601c60248201527f6f6e6c79206f776e65722063616e2075706461746520636f6e666967000000006044820152606490fd5b82843461012c57602036600319011261012c57823561044b6108e5565b82546001600160a01b031633036104c75760025483526003602052808284205560025490600182018083116104b4577ff09d829ca86b2f0f12b76897bb46dd08c42206d4be043927919272051c34366c94955060025582519182526020820152a1600160075580f35b634e487b7160e01b855260118652602485fd5b815162461bcd60e51b8152602081860152602360248201527f6f6e6c79206f776e65722063616e207265676973746572206d65726b6c6520726044820152621bdbdd60ea1b6064820152608490fd5b82843461012c578160031936011261012c576020906002549051908152f35b90503461012c578260031936011261012c57803560249182359267ffffffffffffffff8085116107635736602386011215610763578483013581811161087e57600590368482841b8901011161087a5761058d6108e5565b600254908189526020978689528a8a20338b52895260ff8b8b205416610846578a51898101903360601b8252896034820152603481526060810181811088821117610834578d5251902091600019848101858111610822578c5260038b528c8c205493928c9291905b8d8385106107d05750505050500361079d5787528386528787203388528652878720805460ff191660011790556002548752855286862080549068010000000000000000821015610767576001820180825582101561078b57875285872001336bffffffffffffffffffffffff60a01b825416179055858560018060a01b036001541660448a518094819363a9059cbb60e01b8352338a8401528a898401525af1918215610781578792610722575b5050156106ed57847f7aa9a4c4d86bea82737ea3a63b08048bcaf4037544c063e482fcd38637165123606086868a6002549281519384523390840152820152a1600160075580f35b855162461bcd60e51b81529182018490526010908201526f2a3930b739b332b9103330b4b632b21760811b6044820152606490fd5b90915085903d8711610779575b601f8201601f191683019081118382101761076757869183918a5281010312610763575180151581036107635738806106a5565b8580fd5b634e487b7160e01b8852604185528388fd5b3d915061072f565b88513d89823e3d90fd5b634e487b7160e01b8852603285528388fd5b885162461bcd60e51b8152808601889052600e818601526d24b73b30b634b210383937b7b31760911b6044820152606490fd5b90919293948a868a1b840101359182821060001461081457528c528d8d205b93828114610802576001019291906105f6565b634e487b7160e01b8e5260118b52898efd5b919091528c528d8d206107ef565b634e487b7160e01b8d5260118a52888dfd5b634e487b7160e01b8d5260418a52888dfd5b8a5162461bcd60e51b81528088018a9052600f818801526e185b1c9958591e4818db185a5b5959608a1b6044820152606490fd5b8780fd5b8680fd5b600435906001600160a01b038216820361089857565b600080fd5b602435906001600160a01b038216820361089857565b6040810190811067ffffffffffffffff8211176108cf57604052565b634e487b7160e01b600052604160045260246000fd5b6002600754146108f6576002600755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fdfea2646970667358221220687d9ba0b7b97c9b1d06f2a291ba209212ca9b6c655d72ab2d747c72105b33e064736f6c63430008120033"; + "0x6080806040523461001b57600160075561097190816100218239f35b600080fdfe60406080815260048036101561001457600080fd5b600090813560e01c9081632f52ebb71461053557816367b30b9b146105165781636b8432921461042e5781636cc919c81461033457816378d8cb37146102ed578163b6a597dd14610130578163d2065624146100d7575063e68f909d1461007a57600080fd5b346100d457806003193601126100d4578060208351610098816108b3565b82815201525460015482516001600160a01b0392831692918216906020906100bf816108b3565b84815201908152835192835251166020820152f35b80fd5b90503461012c57602036600319011261012c578290359180602083516100fc816108b3565b82815201528281526003602052205460208351610118816108b3565b838152019081528251918252516020820152f35b5080fd5b839150346102e957816003193601126102e957815161014e816108b3565b610156610882565b815261016061089d565b906020810191825260065460ff8160081c1615938480956102dc575b80156102c5575b1561026b57509184917f5203c1c326696b88016f85f70d939e46bc7411832e2b00669369d7f6beb22b619385600160ff19831617600655610259575b5060018060a01b03818180935116828551169081602088516101e0816108b3565b83815201526bffffffffffffffffffffffff60a01b90818c5416178b55600154161760015588600255511691511682519182526020820152a1610221575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff0019600654166006555160018152a180f35b61ffff191661010117600655876101bf565b608490602087519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156101835750600160ff831614610183565b50600160ff83161061017c565b8280fd5b839150346102e957816003193601126102e9578160209360ff9261030f61089d565b813583529086528282206001600160a01b039091168252855220549151911615158152f35b905082346102e95760203660031901126102e957610350610882565b6103586108e5565b8354906001600160a01b039033828416036103eb57169283156103b657506001600160a01b03191682178355519081527fcb6a9b753508c584d4d222096a1dddd092d9e2354a225a9946a17ecf94c794f490602090a1600160075580f35b606490602084519162461bcd60e51b8352820152600f60248201526e496e76616c6964206164647265737360881b6044820152fd5b835162461bcd60e51b8152602081870152601c60248201527f6f6e6c79206f776e65722063616e2075706461746520636f6e666967000000006044820152606490fd5b82843461012c57602036600319011261012c57823561044b6108e5565b82546001600160a01b031633036104c75760025483526003602052808284205560025490600182018083116104b4577ff09d829ca86b2f0f12b76897bb46dd08c42206d4be043927919272051c34366c94955060025582519182526020820152a1600160075580f35b634e487b7160e01b855260118652602485fd5b815162461bcd60e51b8152602081860152602360248201527f6f6e6c79206f776e65722063616e207265676973746572206d65726b6c6520726044820152621bdbdd60ea1b6064820152608490fd5b82843461012c578160031936011261012c576020906002549051908152f35b90503461012c578260031936011261012c57803560249182359267ffffffffffffffff8085116107635736602386011215610763578483013581811161087e57600590368482841b8901011161087a5761058d6108e5565b600254908189526020978689528a8a20338b52895260ff8b8b205416610846578a51898101903360601b8252896034820152603481526060810181811088821117610834578d5251902091600019848101858111610822578c5260038b528c8c205493928c9291905b8d8385106107d05750505050500361079d5787528386528787203388528652878720805460ff191660011790556002548752855286862080549068010000000000000000821015610767576001820180825582101561078b57875285872001336bffffffffffffffffffffffff60a01b825416179055858560018060a01b036001541660448a518094819363a9059cbb60e01b8352338a8401528a898401525af1918215610781578792610722575b5050156106ed57847f7aa9a4c4d86bea82737ea3a63b08048bcaf4037544c063e482fcd38637165123606086868a6002549281519384523390840152820152a1600160075580f35b855162461bcd60e51b81529182018490526010908201526f2a3930b739b332b9103330b4b632b21760811b6044820152606490fd5b90915085903d8711610779575b601f8201601f191683019081118382101761076757869183918a5281010312610763575180151581036107635738806106a5565b8580fd5b634e487b7160e01b8852604185528388fd5b3d915061072f565b88513d89823e3d90fd5b634e487b7160e01b8852603285528388fd5b885162461bcd60e51b8152808601889052600e818601526d24b73b30b634b210383937b7b31760911b6044820152606490fd5b90919293948a868a1b840101359182821060001461081457528c528d8d205b93828114610802576001019291906105f6565b634e487b7160e01b8e5260118b52898efd5b919091528c528d8d206107ef565b634e487b7160e01b8d5260118a52888dfd5b634e487b7160e01b8d5260418a52888dfd5b8a5162461bcd60e51b81528088018a9052600f818801526e185b1c9958591e4818db185a5b5959608a1b6044820152606490fd5b8780fd5b8680fd5b600435906001600160a01b038216820361089857565b600080fd5b602435906001600160a01b038216820361089857565b6040810190811067ffffffffffffffff8211176108cf57604052565b634e487b7160e01b600052604160045260246000fd5b6002600754146108f6576002600755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fdfea2646970667358221220d13e2740b6d54fd9a7753280d6d879e18676f9ee658f5b1c6a8d26dfefe078b164736f6c63430008120033"; type AirdropConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/halo/collector/Collector__factory.ts b/typechain-types/factories/contracts/halo/collector/Collector__factory.ts index 809053b41..5e116944a 100644 --- a/typechain-types/factories/contracts/halo/collector/Collector__factory.ts +++ b/typechain-types/factories/contracts/halo/collector/Collector__factory.ts @@ -154,7 +154,7 @@ const _abi = [ }, ], internalType: "struct CollectorMessage.InstantiateMsg", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -257,7 +257,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60808060405234610023576007805460ff60a01b191690556109ce90816100298239f35b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c90816335faa416146106195750806396eaadcc1461039b578063e6597d2f1461012b5763e68f909d1461005057600080fd5b346101275782600319360112610127578260e09360c08351610071816108ee565b82815282602082015282858201528260608201528260808201528260a0820152015260018060a01b0380915416928160065493818060025416818060035416955416928280600554169681806001541660c08d8651906100d0826108ee565b8152602081019283528681019485526060810197885260808101998a5260a081019b8c52019b8c5284519c8d52511660208c01525116908901525116606087015251166080850152511660a08301525160c0820152f35b8280fd5b5090346101275760c03660031901126101275781519160c0830183811067ffffffffffffffff8211176103885781526001600160a01b0390823582811681036103845784526101786108a7565b90602085019182526101886108c2565b908086019182526101976108d8565b9160608701928352608435938585168503610380576080880194855260a088019660a43588526007549060ff8260a01c16610326575060c089898989818f978a828b818f948d82877f8bc9f5c29e9304bd43545777fb56f4093fec72c0d227ef2842a5310ea71bf9679f8f8f8f6102a68f938d6102c3948b928a8f96818080926102e09d600160a01b9060ff60a01b191617600755519e8f9651169751169851169951169a5116928481519161024c836108ee565b3383528560208401528201528660608201528860808201528a60a082015201526001600160601b0360a01b99338b82541617905589600154161760015560018060a01b03166001600160601b0360a01b6002541617600255565b60018060a01b03166001600160601b0360a01b6003541617600355565b60018060a01b03166001600160601b0360a01b6004541617600455565b826005541617600555600655828751169060075416176007558185519b51168b52511660208a015251169087015251166060850152511660808301525160a0820152a180f35b608490602086519162461bcd60e51b8352820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201526d195b881a5b9a5d1a585b1a5e995960921b6064820152fd5b8880fd5b8580fd5b634e487b7160e01b855260418352602485fd5b508234610616576080366003190112610616576103b66108a7565b6103be6108c2565b6103c66108d8565b6001600160a01b0392808416156105c45783821615610577578383161561052a5783600254163314801561051e575b156104ec5760646006541161049f57928661045b7ff08d33e848f834961c14f91bb1faa5b6aad56910bed866420a7a6ca4cb5d07a996946102a684956102c360e09960209d3560065560018060a01b03166001600160601b0360a01b6002541617600255565b818751945416845281600154168885015281600254168785015281600354166060850152541660808301526005541660a082015260065460c0820152a15160018152f35b855162461bcd60e51b8152602081890152602160248201527f496e76616c69642072657761726420666163746f7220696e70757420676976656044820152603760f91b6064820152608490fd5b855162461bcd60e51b8152602081890152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b508385541633146103f5565b855162461bcd60e51b8152602081890152602160248201527f496e76616c696420676f76436f6e7472616374206164647265737320676976656044820152603760f91b6064820152608490fd5b855162461bcd60e51b8152602081890152602160248201527f496e76616c69642073776170466163746f7279206164647265737320676976656044820152603760f91b6064820152608490fd5b855162461bcd60e51b8152602081890152602660248201527f496e76616c69642074696d656c6f636b436f6e747261637420616464726573736044820152651033b4bb32b760d11b6064820152608490fd5b80fd5b84809492506003193601126108a357341561086c575080546001548351637547736560e01b81526001600160a01b03918216818501526020939092849084906024908290349087165af1928315610862578693610833575b5060065480840290848204148415171561082057606490048084039380851161080d578161078a575b036106cd575b5050507f646c0351fc82a87092630c08f76be57327945e4243abafc8fa7bb9ab32a3903f9151348152a180f35b600754600554865163a9059cbb60e01b81529084166001600160a01b031692810192835260208301949094528492849291169082908890829060400103925af190811561077d577f646c0351fc82a87092630c08f76be57327945e4243abafc8fa7bb9ab32a3903f9391610748918691610750575b5061095a565b9184806106a0565b6107709150843d8611610776575b6107688183610920565b810190610942565b86610742565b503d61075e565b50505051903d90823e3d90fd5b600754600354885163a9059cbb60e01b81529086166001600160a01b03168582019081526020810185905290918891839188169082908d90829060400103925af18015610803576107e1918a916107e6575061095a565b61069a565b6107fd9150883d8a11610776576107688183610920565b8a610742565b88513d8b823e3d90fd5b634e487b7160e01b885260118352602488fd5b634e487b7160e01b875260118252602487fd5b9092508381813d831161085b575b61084b8183610920565b8101031261038457519186610671565b503d610841565b85513d88823e3d90fd5b602060649262461bcd60e51b8352820152601460248201527324b73b30b634b21030b6b7bab73a1033b4bb32b760611b6044820152fd5b8380fd5b602435906001600160a01b03821682036108bd57565b600080fd5b604435906001600160a01b03821682036108bd57565b606435906001600160a01b03821682036108bd57565b60e0810190811067ffffffffffffffff82111761090a57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761090a57604052565b908160209103126108bd575180151581036108bd5790565b1561096157565b60405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fdfea26469706673582212208f3114b304093668f922cd4e57a8f24a1647df65b416745223a7f6526224bd4464736f6c63430008120033"; + "0x60808060405234610023576007805460ff60a01b191690556109ce90816100298239f35b600080fdfe608060408181526004908136101561001657600080fd5b600092833560e01c90816335faa416146106195750806396eaadcc1461039b578063e6597d2f1461012b5763e68f909d1461005057600080fd5b346101275782600319360112610127578260e09360c08351610071816108ee565b82815282602082015282858201528260608201528260808201528260a0820152015260018060a01b0380915416928160065493818060025416818060035416955416928280600554169681806001541660c08d8651906100d0826108ee565b8152602081019283528681019485526060810197885260808101998a5260a081019b8c52019b8c5284519c8d52511660208c01525116908901525116606087015251166080850152511660a08301525160c0820152f35b8280fd5b5090346101275760c03660031901126101275781519160c0830183811067ffffffffffffffff8211176103885781526001600160a01b0390823582811681036103845784526101786108a7565b90602085019182526101886108c2565b908086019182526101976108d8565b9160608701928352608435938585168503610380576080880194855260a088019660a43588526007549060ff8260a01c16610326575060c089898989818f978a828b818f948d82877f8bc9f5c29e9304bd43545777fb56f4093fec72c0d227ef2842a5310ea71bf9679f8f8f8f6102a68f938d6102c3948b928a8f96818080926102e09d600160a01b9060ff60a01b191617600755519e8f9651169751169851169951169a5116928481519161024c836108ee565b3383528560208401528201528660608201528860808201528a60a082015201526001600160601b0360a01b99338b82541617905589600154161760015560018060a01b03166001600160601b0360a01b6002541617600255565b60018060a01b03166001600160601b0360a01b6003541617600355565b60018060a01b03166001600160601b0360a01b6004541617600455565b826005541617600555600655828751169060075416176007558185519b51168b52511660208a015251169087015251166060850152511660808301525160a0820152a180f35b608490602086519162461bcd60e51b8352820152602e60248201527f436f6e747261637420696e7374616e63652068617320616c726561647920626560448201526d195b881a5b9a5d1a585b1a5e995960921b6064820152fd5b8880fd5b8580fd5b634e487b7160e01b855260418352602485fd5b508234610616576080366003190112610616576103b66108a7565b6103be6108c2565b6103c66108d8565b6001600160a01b0392808416156105c45783821615610577578383161561052a5783600254163314801561051e575b156104ec5760646006541161049f57928661045b7ff08d33e848f834961c14f91bb1faa5b6aad56910bed866420a7a6ca4cb5d07a996946102a684956102c360e09960209d3560065560018060a01b03166001600160601b0360a01b6002541617600255565b818751945416845281600154168885015281600254168785015281600354166060850152541660808301526005541660a082015260065460c0820152a15160018152f35b855162461bcd60e51b8152602081890152602160248201527f496e76616c69642072657761726420666163746f7220696e70757420676976656044820152603760f91b6064820152608490fd5b855162461bcd60e51b8152602081890152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b508385541633146103f5565b855162461bcd60e51b8152602081890152602160248201527f496e76616c696420676f76436f6e7472616374206164647265737320676976656044820152603760f91b6064820152608490fd5b855162461bcd60e51b8152602081890152602160248201527f496e76616c69642073776170466163746f7279206164647265737320676976656044820152603760f91b6064820152608490fd5b855162461bcd60e51b8152602081890152602660248201527f496e76616c69642074696d656c6f636b436f6e747261637420616464726573736044820152651033b4bb32b760d11b6064820152608490fd5b80fd5b84809492506003193601126108a357341561086c575080546001548351637547736560e01b81526001600160a01b03918216818501526020939092849084906024908290349087165af1928315610862578693610833575b5060065480840290848204148415171561082057606490048084039380851161080d578161078a575b036106cd575b5050507f646c0351fc82a87092630c08f76be57327945e4243abafc8fa7bb9ab32a3903f9151348152a180f35b600754600554865163a9059cbb60e01b81529084166001600160a01b031692810192835260208301949094528492849291169082908890829060400103925af190811561077d577f646c0351fc82a87092630c08f76be57327945e4243abafc8fa7bb9ab32a3903f9391610748918691610750575b5061095a565b9184806106a0565b6107709150843d8611610776575b6107688183610920565b810190610942565b86610742565b503d61075e565b50505051903d90823e3d90fd5b600754600354885163a9059cbb60e01b81529086166001600160a01b03168582019081526020810185905290918891839188169082908d90829060400103925af18015610803576107e1918a916107e6575061095a565b61069a565b6107fd9150883d8a11610776576107688183610920565b8a610742565b88513d8b823e3d90fd5b634e487b7160e01b885260118352602488fd5b634e487b7160e01b875260118252602487fd5b9092508381813d831161085b575b61084b8183610920565b8101031261038457519186610671565b503d610841565b85513d88823e3d90fd5b602060649262461bcd60e51b8352820152601460248201527324b73b30b634b21030b6b7bab73a1033b4bb32b760611b6044820152fd5b8380fd5b602435906001600160a01b03821682036108bd57565b600080fd5b604435906001600160a01b03821682036108bd57565b606435906001600160a01b03821682036108bd57565b60e0810190811067ffffffffffffffff82111761090a57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761090a57604052565b908160209103126108bd575180151581036108bd5790565b1561096157565b60405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fdfea26469706673582212204be7fd8fd6272600661091d0ff59009a0a8a1c9322b71d278897bc6cce6386cc64736f6c63430008120033"; type CollectorConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/halo/community/Community__factory.ts b/typechain-types/factories/contracts/halo/community/Community__factory.ts index 772d8a80b..97c680a04 100644 --- a/typechain-types/factories/contracts/halo/community/Community__factory.ts +++ b/typechain-types/factories/contracts/halo/community/Community__factory.ts @@ -93,7 +93,7 @@ const _abi = [ }, ], internalType: "struct CommunityMessage.InstantiateMsg", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -171,7 +171,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001b5760016004556106e190816100218239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c90816307a582d8146104f3578163af7d6ca3146102a7578163b5787d50146100c1575063e68f909d1461004f57600080fd5b346100bd57816003193601126100bd579081818160609451610070816105c6565b828152826020820152015260018060a01b03809254169160025490806001541683805161009c816105c6565b86815260208101928352019283528351948552511660208401525190820152f35b5080fd5b9050346102a35760603660031901126102a35781516100df816105c6565b6100e76105b0565b81526100f1610595565b906020810191825283810190604435825260035460ff8160081c161594858096610296575b801561027f575b15610225575060ff19811660011760035584610213575b5060018060a01b038091511691519251169082858051610153816105c6565b83815284602082015201526bffffffffffffffffffffffff60a01b908187541617865560015416176001556002557f3875b0534f85cd38d3e5bf0c1941481349e50e8133c1a86132903bd3cebadeac8251806101d08190606082019160018060a01b03806000541682526001541660208201526040600254910152565b0390a16101db575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff0019600354166003555160018152a180f35b61ffff19166101011760035538610134565b608490602088519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561011d5750600160ff83161461011d565b50600160ff831610610116565b8280fd5b919050346102a357806003193601126102a3576102c26105b0565b602435916102ce610655565b84546001600160a01b03906102e6908216331461061a565b83600254106104a557600154168151906370a0823160e01b825230868301526020918281602481855afa90811561049b57889161046a575b50851161043257825163a9059cbb60e01b81526001600160a01b038516818801908152602081018790529091839183919082908b90829060400103925af19081156104285787916103ee575b50156103ba5750516001600160a01b0390911681526020810191909152600191907f0f75c7163201c7cbd8651ed9076030a09dbbd4c6b1a7ff86b700508a2bfe8dcf9080604081015b0390a15580f35b8490606492519162461bcd60e51b8352820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152fd5b90508181813d8311610421575b61040581836105f8565b8101031261041d5751801515810361041d573861036a565b8680fd5b503d6103fb565b83513d89823e3d90fd5b825162461bcd60e51b815280870183905260126024820152714e6f7420656e6f7567682062616c616e636560701b6044820152606490fd5b90508281813d8311610494575b61048181836105f8565b8101031261049057513861031e565b8780fd5b503d610477565b84513d8a823e3d90fd5b815162461bcd60e51b8152602081870152602260248201527f43616e6e6f74207370656e64206d6f7265207468616e207370656e64206c696d6044820152611a5d60f21b6064820152608490fd5b9050346102a357816003193601126102a3577f3875b0534f85cd38d3e5bf0c1941481349e50e8133c1a86132903bd3cebadeac600192610531610595565b610539610655565b855490858060a01b0390610550338385161461061a565b6001600160a01b031990921691161785558235600281905590516000546001600160a01b039081168252600154166020820152604081019190915280606081016103b3565b602435906001600160a01b03821682036105ab57565b600080fd5b600435906001600160a01b03821682036105ab57565b6060810190811067ffffffffffffffff8211176105e257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176105e257604052565b1561062157565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b600260045414610666576002600455565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fdfea26469706673582212209fddce69981526c8a90b287eb0a67fc944ff9c4da4ab3e8b877e83ba7a10eefd64736f6c63430008120033"; + "0x6080806040523461001b5760016004556106e190816100218239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c90816307a582d8146104f3578163af7d6ca3146102a7578163b5787d50146100c1575063e68f909d1461004f57600080fd5b346100bd57816003193601126100bd579081818160609451610070816105c6565b828152826020820152015260018060a01b03809254169160025490806001541683805161009c816105c6565b86815260208101928352019283528351948552511660208401525190820152f35b5080fd5b9050346102a35760603660031901126102a35781516100df816105c6565b6100e76105b0565b81526100f1610595565b906020810191825283810190604435825260035460ff8160081c161594858096610296575b801561027f575b15610225575060ff19811660011760035584610213575b5060018060a01b038091511691519251169082858051610153816105c6565b83815284602082015201526bffffffffffffffffffffffff60a01b908187541617865560015416176001556002557f3875b0534f85cd38d3e5bf0c1941481349e50e8133c1a86132903bd3cebadeac8251806101d08190606082019160018060a01b03806000541682526001541660208201526040600254910152565b0390a16101db575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff0019600354166003555160018152a180f35b61ffff19166101011760035538610134565b608490602088519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b15801561011d5750600160ff83161461011d565b50600160ff831610610116565b8280fd5b919050346102a357806003193601126102a3576102c26105b0565b602435916102ce610655565b84546001600160a01b03906102e6908216331461061a565b83600254106104a557600154168151906370a0823160e01b825230868301526020918281602481855afa90811561049b57889161046a575b50851161043257825163a9059cbb60e01b81526001600160a01b038516818801908152602081018790529091839183919082908b90829060400103925af19081156104285787916103ee575b50156103ba5750516001600160a01b0390911681526020810191909152600191907f0f75c7163201c7cbd8651ed9076030a09dbbd4c6b1a7ff86b700508a2bfe8dcf9080604081015b0390a15580f35b8490606492519162461bcd60e51b8352820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152fd5b90508181813d8311610421575b61040581836105f8565b8101031261041d5751801515810361041d573861036a565b8680fd5b503d6103fb565b83513d89823e3d90fd5b825162461bcd60e51b815280870183905260126024820152714e6f7420656e6f7567682062616c616e636560701b6044820152606490fd5b90508281813d8311610494575b61048181836105f8565b8101031261049057513861031e565b8780fd5b503d610477565b84513d8a823e3d90fd5b815162461bcd60e51b8152602081870152602260248201527f43616e6e6f74207370656e64206d6f7265207468616e207370656e64206c696d6044820152611a5d60f21b6064820152608490fd5b9050346102a357816003193601126102a3577f3875b0534f85cd38d3e5bf0c1941481349e50e8133c1a86132903bd3cebadeac600192610531610595565b610539610655565b855490858060a01b0390610550338385161461061a565b6001600160a01b031990921691161785558235600281905590516000546001600160a01b039081168252600154166020820152604081019190915280606081016103b3565b602435906001600160a01b03821682036105ab57565b600080fd5b600435906001600160a01b03821682036105ab57565b6060810190811067ffffffffffffffff8211176105e257604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176105e257604052565b1561062157565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b600260045414610666576002600455565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fdfea2646970667358221220009cb551d5d6b4078e427737d0e052de5987490d84a4e6ea0967ee77d22a9a4a64736f6c63430008120033"; type CommunityConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/halo/distributor/Distributor__factory.ts b/typechain-types/factories/contracts/halo/distributor/Distributor__factory.ts index dca7baf81..48cae01a6 100644 --- a/typechain-types/factories/contracts/halo/distributor/Distributor__factory.ts +++ b/typechain-types/factories/contracts/halo/distributor/Distributor__factory.ts @@ -40,7 +40,7 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelist", + name: "allowlist", type: "address[]", }, { @@ -132,7 +132,7 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelist", + name: "allowlist", type: "address[]", }, { @@ -142,7 +142,7 @@ const _abi = [ }, ], internalType: "struct DistributorMessage.InstantiateMsg", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -169,7 +169,7 @@ const _abi = [ }, { internalType: "address[]", - name: "whitelist", + name: "allowlist", type: "address[]", }, { @@ -238,7 +238,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001b576001600555610cdc90816100218239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c90816307a582d8146109b557816357c1f9e21461072e5781637250e2241461063b5781637fdef99b14610304578163af7d6ca314610147575063e68f909d1461006557600080fd5b3461014357816003193601126101435780519161008183610a64565b80835280606060209482868201528185820152015260018060a01b039081815416906003549160019584875416958051926100bb84610a64565b83528183019687528051906100da826100d381610ab8565b0383610a96565b8084019182526060840195865286815198848a528160a08b01965116858b015251169088015251946080606088015285518093528160c08801960193905b83821061012c578551608089015287870388f35b845181168752958201959382019390880190610118565b5080fd5b83915034610143578260031936011261014357610162610a35565b6024359161016e610b84565b610198610191865161018a8161018381610ab8565b0382610a96565b3390610c3a565b9050610b49565b82600354106102b657600154855163a9059cbb60e01b81526001600160a01b03848116848301908152602081810188905292938492169082908990829060400103925af19081156102ac57859161026e575b5015610239575092516001600160a01b0390931683526020830152907fca7f6eda9cf4c1209102c94299b47792caaf948d83dcbbc0856df43e47992b1a9080604081015b0390a1600160055580f35b606490602086519162461bcd60e51b8352820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152fd5b90506020813d82116102a4575b8161028860209383610a96565b810103126102a0575180151581036102a057866101ea565b8480fd5b3d915061027b565b86513d87823e3d90fd5b608490602086519162461bcd60e51b8352820152602260248201527f43616e6e6f74207370656e64206d6f7265207468616e207370656e64206c696d6044820152611a5d60f21b6064820152fd5b91905034610637576020906003199082823601126102a057833567ffffffffffffffff9283821161063357608090823603011261062f57815161034681610a64565b610351828701610a50565b8152602493610361858401610a50565b91868101928352604484013582811161062b578401933660238601121561062b578885013594838611610619578560051b8751966103a18b830189610a96565b8752888a8801918301019136831161061557898b9101915b8383106105fd5750505050858201948552606460608301910135815288549660ff8860081c1615958680976105f0575b80156105d9575b1561058057600198878a60ff198316178d5561056f575b508b60018060a01b038080965116925194519751169160608c848c519161042d83610a64565b848352820152868c820152019788526bffffffffffffffffffffffff60a01b80925416178d55895416178855815193841161055e57600160401b841161055e575087906002548460025580851061052b575b50019060028a52868a5b848110610509575050505050516003557f78534274a26293e260ae5312c7573855f17de453a947ba2317ea7b7f55b3baad8251806104c681610b0c565b0390a16104d1578480f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989361ff0019815416905551908152a1388080808480f35b898385511694019381600080516020610c878339815191520155018790610489565b8885600080516020610c8783398151915292830192015b82811061055057505061047f565b8d81558b94508a9101610542565b634e487b7160e01b8b5260418a528afd5b61ffff1916610101178b5538610407565b875162461bcd60e51b8152808c018b9052602e818401527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156103f05750600160ff8a16146103f0565b50600160ff8a16106103e9565b819061060884610a50565b8152019101908a906103b9565b8c80fd5b634e487b7160e01b8b5260418a52878bfd5b8980fd5b8580fd5b8680fd5b8280fd5b83833461014357602036600319011261014357610656610a35565b9061065f610b84565b82546001600160a01b0391906106789083163314610b49565b61069083825161068b8161018381610ab8565b610c3a565b9050156106a1575b83600160055580f35b600254600160401b81101561071b577fddbf200aa634dc3fb81cfd68583dd1040d1c751d335e1d86b631bde3e977fea89495509061070c846106ed846001602098979601600255610bda565b90919082549060031b9160018060a01b03809116831b921b1916179055565b5191168152a180828080610698565b634e487b7160e01b855260418652602485fd5b91905034610637576020806003193601126109b15761074b610a35565b91610754610b84565b84546001600160a01b03929061076d9084163314610b49565b61078084835161068b8161018381610ab8565b949094610791575b86600160055580f35b6002969394959695865481101561096e575b8654600019810190811161080e57811015610821576001810180821161080e57906108046107d361080993610bda565b9054896107df85610bda565b92909360031b1c169082549060031b9160018060a01b03809116831b921b1916179055565b610c15565b6107a3565b634e487b7160e01b865260118952602486fd5b50929495909391958054801561095b5760001981019061084082610bda565b8682549160031b1b191690558183558851916108668361085f81610ab8565b0384610a96565b82519467ffffffffffffffff861161094857600160401b861161094857509087929185855585106108f9575b5001908652855b8281106108d7575050507f126174f6cf49c81cdb4a9214c6b8f037bef55b4ec31e4fc776cea2a1c8a88d5993945191168152a1388080808080610788565b81518416600080516020610c8783398151915282015590850190600101610899565b7f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acd0184600080516020610c87833981519152015b81811061093a5750610892565b89815588935060010161092d565b634e487b7160e01b8a5260419052602489fd5b634e487b7160e01b875260318352602487fd5b835162461bcd60e51b8152808901849052601960248201527f4572726f7220696e2072656d6f76653a20696e7465726e616c000000000000006044820152606490fd5b8380fd5b919050346106375780600319360112610637576001600160a01b0391602435838116908190036102a0577f78534274a26293e260ae5312c7573855f17de453a947ba2317ea7b7f55b3baad93610a09610b84565b610a198654913390831614610b49565b6001600160a01b03191617845535600355518061022e81610b0c565b600435906001600160a01b0382168203610a4b57565b600080fd5b35906001600160a01b0382168203610a4b57565b6080810190811067ffffffffffffffff821117610a8057604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a8057604052565b600254908181526020809101916002600052600080516020610c87833981519152916000905b828210610aec575050505090565b83546001600160a01b031685529384019360019384019390910190610ade565b6020815260018060a01b038060005416602083015260015416604082015260806060820152610b3d60a08201610ab8565b90608060035491015290565b15610b5057565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b600260055414610b95576002600555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b600254811015610bff576002600052600080516020610c878339815191520190600090565b634e487b7160e01b600052603260045260246000fd5b6000198114610c245760010190565b634e487b7160e01b600052601160045260246000fd5b9060005b8251811015610c7b57600581901b8301602001516001600160a01b03838116911614610c7257610c6d90610c15565b610c3e565b91505090600190565b50505060009060009056fe405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acea2646970667358221220d7d621411b78548c5bb8dd27eea3c4d7bb036c6b4a3545eea6f62898348376d764736f6c63430008120033"; + "0x6080806040523461001b576001600555610cdc90816100218239f35b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c90816307a582d8146109b557816357c1f9e21461072e5781637250e2241461063b5781637fdef99b14610304578163af7d6ca314610147575063e68f909d1461006557600080fd5b3461014357816003193601126101435780519161008183610a64565b80835280606060209482868201528185820152015260018060a01b039081815416906003549160019584875416958051926100bb84610a64565b83528183019687528051906100da826100d381610ab8565b0383610a96565b8084019182526060840195865286815198848a528160a08b01965116858b015251169088015251946080606088015285518093528160c08801960193905b83821061012c578551608089015287870388f35b845181168752958201959382019390880190610118565b5080fd5b83915034610143578260031936011261014357610162610a35565b6024359161016e610b84565b610198610191865161018a8161018381610ab8565b0382610a96565b3390610c3a565b9050610b49565b82600354106102b657600154855163a9059cbb60e01b81526001600160a01b03848116848301908152602081810188905292938492169082908990829060400103925af19081156102ac57859161026e575b5015610239575092516001600160a01b0390931683526020830152907fca7f6eda9cf4c1209102c94299b47792caaf948d83dcbbc0856df43e47992b1a9080604081015b0390a1600160055580f35b606490602086519162461bcd60e51b8352820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152fd5b90506020813d82116102a4575b8161028860209383610a96565b810103126102a0575180151581036102a057866101ea565b8480fd5b3d915061027b565b86513d87823e3d90fd5b608490602086519162461bcd60e51b8352820152602260248201527f43616e6e6f74207370656e64206d6f7265207468616e207370656e64206c696d6044820152611a5d60f21b6064820152fd5b91905034610637576020906003199082823601126102a057833567ffffffffffffffff9283821161063357608090823603011261062f57815161034681610a64565b610351828701610a50565b8152602493610361858401610a50565b91868101928352604484013582811161062b578401933660238601121561062b578885013594838611610619578560051b8751966103a18b830189610a96565b8752888a8801918301019136831161061557898b9101915b8383106105fd5750505050858201948552606460608301910135815288549660ff8860081c1615958680976105f0575b80156105d9575b1561058057600198878a60ff198316178d5561056f575b508b60018060a01b038080965116925194519751169160608c848c519161042d83610a64565b848352820152868c820152019788526bffffffffffffffffffffffff60a01b80925416178d55895416178855815193841161055e57600160401b841161055e575087906002548460025580851061052b575b50019060028a52868a5b848110610509575050505050516003557f78534274a26293e260ae5312c7573855f17de453a947ba2317ea7b7f55b3baad8251806104c681610b0c565b0390a16104d1578480f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989361ff0019815416905551908152a1388080808480f35b898385511694019381600080516020610c878339815191520155018790610489565b8885600080516020610c8783398151915292830192015b82811061055057505061047f565b8d81558b94508a9101610542565b634e487b7160e01b8b5260418a528afd5b61ffff1916610101178b5538610407565b875162461bcd60e51b8152808c018b9052602e818401527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156103f05750600160ff8a16146103f0565b50600160ff8a16106103e9565b819061060884610a50565b8152019101908a906103b9565b8c80fd5b634e487b7160e01b8b5260418a52878bfd5b8980fd5b8580fd5b8680fd5b8280fd5b83833461014357602036600319011261014357610656610a35565b9061065f610b84565b82546001600160a01b0391906106789083163314610b49565b61069083825161068b8161018381610ab8565b610c3a565b9050156106a1575b83600160055580f35b600254600160401b81101561071b577fddbf200aa634dc3fb81cfd68583dd1040d1c751d335e1d86b631bde3e977fea89495509061070c846106ed846001602098979601600255610bda565b90919082549060031b9160018060a01b03809116831b921b1916179055565b5191168152a180828080610698565b634e487b7160e01b855260418652602485fd5b91905034610637576020806003193601126109b15761074b610a35565b91610754610b84565b84546001600160a01b03929061076d9084163314610b49565b61078084835161068b8161018381610ab8565b949094610791575b86600160055580f35b6002969394959695865481101561096e575b8654600019810190811161080e57811015610821576001810180821161080e57906108046107d361080993610bda565b9054896107df85610bda565b92909360031b1c169082549060031b9160018060a01b03809116831b921b1916179055565b610c15565b6107a3565b634e487b7160e01b865260118952602486fd5b50929495909391958054801561095b5760001981019061084082610bda565b8682549160031b1b191690558183558851916108668361085f81610ab8565b0384610a96565b82519467ffffffffffffffff861161094857600160401b861161094857509087929185855585106108f9575b5001908652855b8281106108d7575050507f126174f6cf49c81cdb4a9214c6b8f037bef55b4ec31e4fc776cea2a1c8a88d5993945191168152a1388080808080610788565b81518416600080516020610c8783398151915282015590850190600101610899565b7f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acd0184600080516020610c87833981519152015b81811061093a5750610892565b89815588935060010161092d565b634e487b7160e01b8a5260419052602489fd5b634e487b7160e01b875260318352602487fd5b835162461bcd60e51b8152808901849052601960248201527f4572726f7220696e2072656d6f76653a20696e7465726e616c000000000000006044820152606490fd5b8380fd5b919050346106375780600319360112610637576001600160a01b0391602435838116908190036102a0577f78534274a26293e260ae5312c7573855f17de453a947ba2317ea7b7f55b3baad93610a09610b84565b610a198654913390831614610b49565b6001600160a01b03191617845535600355518061022e81610b0c565b600435906001600160a01b0382168203610a4b57565b600080fd5b35906001600160a01b0382168203610a4b57565b6080810190811067ffffffffffffffff821117610a8057604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610a8057604052565b600254908181526020809101916002600052600080516020610c87833981519152916000905b828210610aec575050505090565b83546001600160a01b031685529384019360019384019390910190610ade565b6020815260018060a01b038060005416602083015260015416604082015260806060820152610b3d60a08201610ab8565b90608060035491015290565b15610b5057565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b600260055414610b95576002600555565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b600254811015610bff576002600052600080516020610c878339815191520190600090565b634e487b7160e01b600052603260045260246000fd5b6000198114610c245760010190565b634e487b7160e01b600052601160045260246000fd5b9060005b8251811015610c7b57600581901b8301602001516001600160a01b03838116911614610c7257610c6d90610c15565b610c3e565b91505090600190565b50505060009060009056fe405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5acea26469706673582212201d665f81bde57e4f510d9b1385385046c5012cb2335b43b6c7ce0ad96728d67a64736f6c63430008120033"; type DistributorConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/halo/gov-hodler/GovHodler__factory.ts b/typechain-types/factories/contracts/halo/gov-hodler/GovHodler__factory.ts index cd13560b2..62e4ca151 100644 --- a/typechain-types/factories/contracts/halo/gov-hodler/GovHodler__factory.ts +++ b/typechain-types/factories/contracts/halo/gov-hodler/GovHodler__factory.ts @@ -111,7 +111,7 @@ const _abi = [ }, ], internalType: "struct GovHodlerMessage.InstantiateMsg", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -136,7 +136,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001b5760016004556105ac90816100218239f35b600080fdfe608060409080825260048036101561001657600080fd5b600091823560e01c908163082df8061461028e575080636cc919c8146101c957637eb58e981461004557600080fd5b346101c557826003193601126101c5576001600160a01b03813581811681036101c15760243591610074610520565b610083816002541633146104e5565b600154865163a9059cbb60e01b81526001600160a01b0384168682019081526020818101879052919391928492169082908990829060400103925af19081156101b7578591610151575b501561011c5793516001600160a01b03909416845260208401529091600191907f9b6044fc64f5675872b53d77ce1661c2ab9bfcb944bfb3bf92bb82e7752e0e099080604081015b0390a15580f35b845162461bcd60e51b8152602081850152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b905060203d81116101b0575b601f8101601f1916820167ffffffffffffffff81118382101761019d5760209183918952810103126101995751801515810361019957386100cd565b8480fd5b634e487b7160e01b875260418652602487fd5b503d61015d565b86513d87823e3d90fd5b8380fd5b5080fd5b5082903461028a57602036600319011261028a577f964f21e08891a0ed16a74ffd5fd41f2032678ef77ee914965d4bfa6adff0ce6f60019261024f61020c6104ca565b610214610520565b610232868060a01b038060025416331490811561027d575b506104e5565b60018060a01b03166001600160601b0360a01b6002541617600255565b516000546001600160a01b039081168252600154811660208301526002541660408201528060608101610115565b905088541633148961022c565b8280fd5b8385843461028a57606036600319011261028a576102ab84610498565b6102b36104ca565b84526024356001600160a01b03808216820361019957602086019182526044359080821682036104945784870191825260035460ff8160081c161594858096610487575b8015610470575b1561041657508185969798819261037997600160ff19831617600355610404575b505116925116925116908286805161033681610498565b83815284602082015201526001600160601b0360a01b9081885416178755600154161760015560018060a01b03166001600160601b0360a01b6002541617600255565b81516000546001600160a01b039081168252600154811660208301526002541660408201527f964f21e08891a0ed16a74ffd5fd41f2032678ef77ee914965d4bfa6adff0ce6f90606090a16103cc575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff0019600354166003555160018152a180f35b61ffff1916610101176003558a61031f565b608490602088519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156102fe5750600160ff8316146102fe565b50600160ff8316106102f7565b8580fd5b6060810190811067ffffffffffffffff8211176104b457604052565b634e487b7160e01b600052604160045260246000fd5b600435906001600160a01b03821682036104e057565b600080fd5b156104ec57565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b600260045414610531576002600455565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fdfea2646970667358221220fe1d8978f5adcac78be47ba03edd1b84547e49ce5ee03c916f84ba9072aa204364736f6c63430008120033"; + "0x6080806040523461001b5760016004556105ac90816100218239f35b600080fdfe608060409080825260048036101561001657600080fd5b600091823560e01c908163082df8061461028e575080636cc919c8146101c957637eb58e981461004557600080fd5b346101c557826003193601126101c5576001600160a01b03813581811681036101c15760243591610074610520565b610083816002541633146104e5565b600154865163a9059cbb60e01b81526001600160a01b0384168682019081526020818101879052919391928492169082908990829060400103925af19081156101b7578591610151575b501561011c5793516001600160a01b03909416845260208401529091600191907f9b6044fc64f5675872b53d77ce1661c2ab9bfcb944bfb3bf92bb82e7752e0e099080604081015b0390a15580f35b845162461bcd60e51b8152602081850152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b905060203d81116101b0575b601f8101601f1916820167ffffffffffffffff81118382101761019d5760209183918952810103126101995751801515810361019957386100cd565b8480fd5b634e487b7160e01b875260418652602487fd5b503d61015d565b86513d87823e3d90fd5b8380fd5b5080fd5b5082903461028a57602036600319011261028a577f964f21e08891a0ed16a74ffd5fd41f2032678ef77ee914965d4bfa6adff0ce6f60019261024f61020c6104ca565b610214610520565b610232868060a01b038060025416331490811561027d575b506104e5565b60018060a01b03166001600160601b0360a01b6002541617600255565b516000546001600160a01b039081168252600154811660208301526002541660408201528060608101610115565b905088541633148961022c565b8280fd5b8385843461028a57606036600319011261028a576102ab84610498565b6102b36104ca565b84526024356001600160a01b03808216820361019957602086019182526044359080821682036104945784870191825260035460ff8160081c161594858096610487575b8015610470575b1561041657508185969798819261037997600160ff19831617600355610404575b505116925116925116908286805161033681610498565b83815284602082015201526001600160601b0360a01b9081885416178755600154161760015560018060a01b03166001600160601b0360a01b6002541617600255565b81516000546001600160a01b039081168252600154811660208301526002541660408201527f964f21e08891a0ed16a74ffd5fd41f2032678ef77ee914965d4bfa6adff0ce6f90606090a16103cc575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff0019600354166003555160018152a180f35b61ffff1916610101176003558a61031f565b608490602088519162461bcd60e51b8352820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152fd5b50303b1580156102fe5750600160ff8316146102fe565b50600160ff8316106102f7565b8580fd5b6060810190811067ffffffffffffffff8211176104b457604052565b634e487b7160e01b600052604160045260246000fd5b600435906001600160a01b03821682036104e057565b600080fd5b156104ec57565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b600260045414610531576002600455565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fdfea26469706673582212200a3d8a49d60e0fca56fec148c8ba1ba730175cc2128c091634db09d5a0ab52d264736f6c63430008120033"; type GovHodlerConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/halo/gov/Gov__factory.ts b/typechain-types/factories/contracts/halo/gov/Gov__factory.ts index 5f3cf0df7..9c7a014d1 100644 --- a/typechain-types/factories/contracts/halo/gov/Gov__factory.ts +++ b/typechain-types/factories/contracts/halo/gov/Gov__factory.ts @@ -669,12 +669,12 @@ const _abi = [ inputs: [ { internalType: "contract IVotesUpgradeable", - name: "curToken", + name: "token", type: "address", }, { internalType: "contract TimelockControllerUpgradeable", - name: "curTimelock", + name: "timelock", type: "address", }, { @@ -1257,7 +1257,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60808060405234610016576138c1908161001c8239f35b600080fdfe60806040526004361015610023575b361561001957600080fd5b610021611b77565b005b60003560e01c806301ffc9a7146102c357806302a251a3146102be57806303420181146102b957806306f3f9e6146102b457806306fdde03146102af578063150b7a02146102aa578063160cbed7146102a55780632656227d146102a05780632d63f6931461029b5780632fe3e261146102965780633932abb1146102915780633bccf4fd1461028c5780633e4f49e6146102875780634385963214610282578063544ffc9c1461027d57806354fd4d501461027857806356781388146102735780635f398a141461026e57806360c4247f1461026957806370b0f660146102645780637b3c71d31461025f5780637d5e81e21461025a57806386489ba91461025557806397c3d334146102505780639a802a6d1461024b578063a7713a7014610246578063a890c91014610241578063ab58fb8e1461023c578063b58131b014610237578063bc197c8114610232578063c01f9e371461022d578063c28bc2fa14610228578063c59057e414610223578063d33219b41461021e578063dd4e2ba514610219578063deaaa7cc14610214578063ea0217cf1461020f578063eb9019d41461020a578063ece40cc114610205578063f23a6e6114610200578063f8ce560a146101fb5763fc0c546a0361000e57611b4d565b611ab3565b611a5a565b6119f9565b611974565b611913565b6118d8565b61187a565b611850565b611834565b611712565b6116dc565b611650565b611631565b611586565b6114d9565b6114be565b611409565b6113ed565b6112df565b611246565b6111f1565b611190565b611172565b611103565b6110b3565b611083565b61103f565b610fe5565b610fb6565b610ee9565b610eca565b610e8f565b610e52565b610cca565b610ad1565b6108b9565b6107c7565b6105fe565b610576565b610380565b346103705760203660031901126103705760043563ffffffff60e01b81168091036103705761031190636e665ced60e01b8114908115610315575b5060405190151581529081906020820190565b0390f35b63bf26d89760e01b81149150811561035f575b811561034e575b811561033d575b50386102fe565b6301ffc9a760e01b14905038610336565b630271189760e51b8114915061032f565b6379dd796f60e01b81149150610328565b600080fd5b600091031261037057565b3461037057600036600319011261037057602061013054604051908152f35b6024359060ff8216820361037057565b6044359060ff8216820361037057565b9181601f84011215610370578235916001600160401b038311610370576020838186019501011161037057565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161041557604052565b6103ec565b604081019081106001600160401b0382111761041557604052565b608081019081106001600160401b0382111761041557604052565b602081019081106001600160401b0382111761041557604052565b606081019081106001600160401b0382111761041557604052565b60c081019081106001600160401b0382111761041557604052565b90601f801991011681019081106001600160401b0382111761041557604052565b604051906104cf8261041a565b565b6001600160401b03811161041557601f01601f191660200190565b9190916104f8816104d1565b61050560405191826104a1565b8093828252821161037057818160009384602080950137010152565b92919261052d826104d1565b9161053b60405193846104a1565b829481845281830111610370578281602093846000960137010152565b9080601f830112156103705781602061057393359101610521565b90565b346103705760e03660031901126103705761058f61039f565b6001600160401b03604435818111610370576105af9036906004016103bf565b91606435908111610370576105c8903690600401610558565b9260843560ff8116810361037057610311946105ee9460c4359460a43594600435611e76565b6040519081529081906020820190565b34610370576020366003190112610370576101f854600435906001600160a01b031661062b3382146120ca565b3003610750575b606481116106d9577f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b46339979061066461247f565b801515806106ce575b610697575b61067b826127b5565b505060408051918252602082019290925290819081015b0390a1005b6106c96106a382612b62565b6106c46106ae6104c2565b600081526001600160e01b039092166020830152565b6126c0565b610672565b506101c7541561066d565b60405162461bcd60e51b815260206004820152604360248201527f476f7665726e6f72566f74657351756f72756d4672616374696f6e3a2071756f60448201527f72756d4e756d657261746f72206f7665722071756f72756d44656e6f6d696e616064820152623a37b960e91b608482015260a490fd5b61075a36366104ec565b602081519101205b8061076b612c30565b036107625750610632565b919082519283825260005b8481106107a2575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610781565b906020610573928181520190610776565b34610370576000806003193601126108a557604051908060fd546107ea81611b8c565b8085529160019180831690811561087b5750600114610820575b61031185610814818703826104a1565b604051918291826107b6565b925060fd83527f9346ac6dd7de6b96975fec380d4d994c4c12e6a8897544f22915316cc6cca2805b82841061086357505050810160200161081482610311610804565b80546020858701810191909152909301928101610848565b8695506103119693506020925061081494915060ff191682840152151560051b8201019293610804565b80fd5b6001600160a01b0381160361037057565b34610370576080366003190112610370576108d56004356108a8565b6108e06024356108a8565b6064356001600160401b038111610370576108ff903690600401610558565b50604051630a85bd0160e11b8152602090f35b6001600160401b0381116104155760051b60200190565b81601f820112156103705780359161094083610912565b9261094e60405194856104a1565b808452602092838086019260051b820101928311610370578301905b828210610978575050505090565b8380918335610986816108a8565b81520191019061096a565b81601f82011215610370578035916109a883610912565b926109b660405194856104a1565b808452602092838086019260051b820101928311610370578301905b8282106109e0575050505090565b813581529083019083016109d2565b9080601f8301121561037057813590610a0782610912565b92610a1560405194856104a1565b828452602092838086019160051b8301019280841161037057848301915b848310610a435750505050505090565b82356001600160401b038111610370578691610a6484848094890101610558565b815201920191610a33565b6080600319820112610370576001600160401b03916004358381116103705782610a9b91600401610929565b926024358181116103705783610ab391600401610991565b9260443591821161037057610aca916004016109ef565b9060643590565b3461037057610adf36610a6f565b92610aef84838584969596611cb0565b92610b0d6004610afe866130db565b610b0781610fac565b14611d3b565b6101f88054909390610b2f906001600160a01b03165b6001600160a01b031690565b60405163793d064960e11b8152909460209081836004818a5afa968715610c75578993600098610ca7575b5060405163b1c5f42760e01b8152938391859182908190610b81908b8b8e600486016123eb565b03915afa8015610c7557610bc093610b2393600092610c7a575b5050610bb2896000526101f9602052604060002090565b55546001600160a01b031690565b90813b156103705760008094610bed876040519a8b97889687956308f2a0bb60e41b875260048701612431565b03925af1928315610c7557610c317f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda289292610c499261031196610c5c575b5042612180565b60408051858152602081019290925290918291820190565b0390a16040519081529081906020820190565b80610c69610c6f92610402565b80610375565b38610c2a565b6123df565b610c999250803d10610ca0575b610c9181836104a1565b8101906123d0565b3880610b9b565b503d610c87565b83919850610cc28791833d8511610ca057610c9181836104a1565b989150610b5a565b610cd336610a6f565b9290610ce184828585611cb0565b92610ceb846130db565b6008811015610e4d57806004610d0a9214908115610e39575b50611d3b565b610d316002610d238660005260fe602052604060002090565b01805460ff19166001179055565b60409283518581527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f60208092a16101f8546001600160a01b039081163003610d9c575b5050916103119591610d8693613836565b610d8e611dd6565b519081529081906020820190565b60009796949291939794855b8351811015610e25573083610dbd8387611dbd565b511614610ddb575b6000198114610dd657600101610da8565b611d91565b610de58186611dbd565b5186815191012060ff906001600160801b03825491608092831d9081600f0b8c526101008b528c8c2055835492600183199201901b169116179055610dc5565b509697929450919250905081610d86610d75565b60059150610e4681610fac565b1438610d04565b610f96565b346103705760203660031901126103705760043560005260fe60205260206001600160401b03610e856040600020611d14565b5116604051908152f35b346103705760003660031901126103705760206040517fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af888152f35b3461037057600036600319011261037057602061012f54604051908152f35b346103705760a0366003190112610370576103116105ee600435610f0b61039f565b610f80610f78610f196103af565b60405160208101917f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f835286604083015260ff8616606083015260608252610f6082610435565b610f736084359360643593519020612ae1565b612a5f565b91909161293f565b60405192610f8d84610450565b60008452611f11565b634e487b7160e01b600052602160045260246000fd5b60081115610e4d57565b3461037057602036600319011261037057610fd26004356130db565b6040516008821015610e4d576020918152f35b3461037057604036600319011261037057602060ff611033602435611009816108a8565b600435600052610161845260036040600020019060018060a01b0316600052602052604060002090565b54166040519015158152f35b346103705760203660031901126103705760043560005261016160205260606040600020805490600260018201549101549060405192835260208301526040820152f35b346103705760003660031901126103705761031161109f611bc6565b604051918291602083526020830190610776565b346103705760403660031901126103705760206110fb6110d161039f565b6040516110dd81610450565b60008152604051916110ee83610450565b6000835233600435611f8d565b604051908152f35b346103705760803660031901126103705761111c61039f565b6001600160401b03906044358281116103705761113d9036906004016103bf565b9091606435938411610370576111686110fb936111606020963690600401610558565b933691610521565b9033600435611f8d565b346103705760203660031901126103705760206110fb60043561250d565b34610370576020366003190112610370576101f8546001600160a01b03166111b93382146120ca565b30036111cb575b6100216004356122b6565b6111d536366104ec565b602081519101205b806111e6612c30565b036111dd57506111c0565b346103705760603660031901126103705761120a61039f565b6044356001600160401b038111610370576020916112396112326110fb9336906004016103bf565b3691610521565b604051916110ee83610450565b34610370576080366003190112610370576001600160401b0360043581811161037057611277903690600401610929565b9060243581811161037057611290903690600401610991565b91604435828111610370576112a99036906004016109ef565b606435928311610370573660238401121561037057610311936112d96105ee943690602481600401359101610521565b92613688565b346103705760c0366003190112610370576004356112fc816108a8565b61135d60243561130b816108a8565b6000549261133060ff8560081c1615809581966113df575b81156113bf575b50612c8e565b83611343600160ff196000541617600055565b6113a6575b60a43591608435916064359160443591612cf1565b61136357005b61137361ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498908060208101610692565b6113ba61010061ff00196000541617600055565b611348565b303b159150816113d1575b503861132a565b6001915060ff1614386113ca565b600160ff8216109150611323565b3461037057600036600319011261037057602060405160648152f35b3461037057606036600319011261037057600435611426816108a8565b6044356001600160401b03811161037057611445903690600401610558565b5061019354604051630748d63560e31b81526001600160a01b03928316600482015260248035908201529160209183916044918391165afa8015610c7557610311916000916114a0575b506040519081529081906020820190565b6114b8915060203d8111610ca057610c9181836104a1565b3861148f565b346103705760003660031901126103705760206110fb61247f565b34610370576020366003190112610370576004356114f6816108a8565b6101f8805490916001600160a01b039182166115133382146120ca565b3003611560575b7f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401604083855493169381519084168152846020820152a16001600160a01b031916179055005b61156a36366104ec565b602081519101205b8061157b612c30565b03611572575061151a565b34610370576020366003190112610370576115e1602060018060a01b036101f854166115bf6004356000526101f9602052604060002090565b5490604051808095819463d45c443560e01b8352600483019190602083019252565b03915afa908115610c7557600091611613575b506001810361160a575060405160008152602090f35b610311906105ee565b61162b915060203d8111610ca057610c9181836104a1565b386115f4565b3461037057600036600319011261037057602061013154604051908152f35b346103705760a03660031901126103705761166c6004356108a8565b6116776024356108a8565b6001600160401b0360443581811161037057611697903690600401610991565b50606435818111610370576116b0903690600401610991565b50608435908111610370576116c9903690600401610558565b5060405163bc197c8160e01b8152602090f35b346103705760203660031901126103705760043560005260fe60205260206001600160401b03610e856001604060002001611d14565b60603660031901126103705760043561172a816108a8565b6044356001600160401b038111610370576117499036906004016103bf565b6101f854909291906001600160a01b03166117653382146120ca565b300361180e575b61180391836040519485938437820190600094859383858095520391602435905af13d15611807573d61179e816104d1565b906117ac60405192836104a1565b81523d84602083013e5b604051916117c38361046b565b602883527f476f7665726e6f723a2072656c617920726576657274656420776974686f7574602084015267206d65737361676560c01b6040840152612775565b5080f35b60606117b6565b61181836366104ec565b602081519101205b80611829612c30565b03611820575061176c565b346103705760206110fb61184736610a6f565b92919091611cb0565b34610370576000366003190112610370576101f8546040516001600160a01b039091168152602090f35b346103705760003660031901126103705761031160405161189a8161041a565b602081527f737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e6020820152604051918291602083526020830190610776565b346103705760003660031901126103705760206040517f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f8152f35b34610370576020366003190112610370576101f8546001600160a01b031661193c3382146120ca565b300361194e575b6100216004356122f7565b61195836366104ec565b602081519101205b80611969612c30565b036119605750611943565b3461037057604036600319011261037057600435611991816108a8565b600060405161199f81610450565b5261019354604051630748d63560e31b81526001600160a01b03928316600482015260248035908201529160209183916044918391165afa8015610c7557610311916000916114a057506040519081529081906020820190565b34610370576020366003190112610370576101f8546001600160a01b0316611a223382146120ca565b3003611a34575b610021600435612391565b611a3e36366104ec565b602081519101205b80611a4f612c30565b03611a465750611a29565b346103705760a036600319011261037057611a766004356108a8565b611a816024356108a8565b6084356001600160401b03811161037057611aa0903690600401610558565b5060405163f23a6e6160e01b8152602090f35b34610370576020366003190112610370576024600435602060018060a01b03610193541660405193848092632394e7a360e21b82528560048301525afa918215610c7557600092611b29575b50611b099061250d565b90818102918183041490151715610dd65760405160649091048152602090f35b611b09919250611b469060203d8111610ca057610c9181836104a1565b9190611aff565b3461037057600036600319011261037057610193546040516001600160a01b039091168152602090f35b6101f8546001600160a01b0316300361037057565b90600182811c92168015611bbc575b6020831014611ba657565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b9b565b60405190611bd38261041a565b60018252603160f81b6020830152565b90815180825260208080930193019160005b828110611c03575050505090565b83516001600160a01b031685529381019392810192600101611bf5565b90815180825260208080930193019160005b828110611c40575050505090565b835185529381019392810192600101611c32565b908082519081815260208091019281808460051b8301019501936000915b848310611c825750505050505090565b9091929394958480611ca0600193601f198682030187528a51610776565b9801930193019194939290611c72565b9290611cfc92611d0e92604051948592611cec611cd9602086019960808b5260a0870190611be3565b601f199687878303016040880152611c20565b9085858303016060860152611c54565b906080830152039081018352826104a1565b51902090565b90604051602081016001600160401b03908281108282111761041557604052819354169052565b15611d4257565b60405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c206e6f74207375636365737366756044820152601b60fa1b6064820152608490fd5b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8051821015611dd15760209160051b010190565b611da7565b6101f8546001600160a01b03163003611deb57565b60ff5480600f0b9060801d600f0b13611e0057565b600060ff55565b6020906000604051611e1881610450565b5261019354604051630748d63560e31b81526001600160a01b039283166004820152602481019490945283916044918391165afa908115610c7557600091611e5e575090565b610573915060203d8111610ca057610c9181836104a1565b9492611f0361057398611f0b9493969861123296610f738a8a8d611e9b368a8c610521565b6020815191012090602081519101209060ff6040519360208501957fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af8887526040860152166060840152608083015260a082015260a08152611efb81610486565b519020612ae1565b94909461293f565b92611f8d565b91610573939160405193611f2485610450565b60008552611f8d565b93909260ff611f599361057397958752166020860152604085015260a0606085015260a0840190610776565b916080818403910152610776565b909260ff6080936105739695845216602083015260408201528160608201520190610776565b9291908360005260fe60205260406000206001611fa9866130db565b611fb281610fac565b0361207957611fe2611fd6611fc9611fe893611d14565b516001600160401b031690565b6001600160401b031690565b8261272d565b94611ff58684848861218d565b805161203d57506120377fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda4938660405194859460018060a01b03169785611f67565b0390a290565b612037907fe2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb8712948760405195869560018060a01b03169886611f2d565b60405162461bcd60e51b815260206004820152602360248201527f476f7665726e6f723a20766f7465206e6f742063757272656e746c792061637460448201526269766560e81b6064820152608490fd5b156120d157565b60405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606490fd5b1561211d57565b60405162461bcd60e51b815260206004820152602760248201527f476f7665726e6f72566f74696e6753696d706c653a20766f746520616c726561604482015266191e4818d85cdd60ca1b6064820152608490fd5b9060018201809211610dd657565b91908201809211610dd657565b9161220a6121fd6121ac60ff9495600052610161602052604060002090565b94600386016121e66121e16121dd6121d685859060018060a01b0316600052602052604060002090565b5460ff1690565b1590565b612116565b9060018060a01b0316600052602052604060002090565b805460ff19166001179055565b168061222157509061221d908254612180565b9055565b600181036122395750600161221d9101918254612180565b60020361224f57600261221d9101918254612180565b60405162461bcd60e51b815260206004820152603560248201527f476f7665726e6f72566f74696e6753696d706c653a20696e76616c69642076616044820152746c756520666f7220656e756d20566f74655479706560581b6064820152608490fd5b0390fd5b61012f805460408051918252602082018490527fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a939190819081015b0390a155565b801561233c57610130805460408051918252602082018490527f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e88289190819081016122f1565b60405162461bcd60e51b815260206004820152602760248201527f476f7665726e6f7253657474696e67733a20766f74696e6720706572696f6420604482015266746f6f206c6f7760c81b6064820152608490fd5b610131805460408051918252602082018490527fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc054619190819081016122f1565b90816020910312610370575190565b6040513d6000823e3d90fd5b9493926124176080936124096124259460a08a5260a08a0190611be3565b9088820360208a0152611c20565b908682036040880152611c54565b93600060608201520152565b919261246060a09461245261246e949998979960c0875260c0870190611be3565b908582036020870152611c20565b908382036040850152611c54565b946000606083015260808201520152565b6101c7805460009181612496575050506101c65490565b81600019810111610dd6577fff6df30967a6a678f565c59a19e91e5c0dbb20cfe9f9bf26d7da6dea0fffa24b9252015460201c90565b600019810191908211610dd657565b90604051604081018181106001600160401b0382111761041557604052602081935463ffffffff81168352811c910152565b6101c790815480156126b6576000198101818111610dd657811115611dd15760009280845261255d7fff6df30967a6a678f565c59a19e91e5c0dbb20cfe9f9bf26d7da6dea0fffa24b83016124db565b9263ffffffff93818582511611156126a057504381101561265c5761258490929192612bcb565b928085929416905b8483106125f6575050505080156000146125ae57505b6001600160e01b031690565b6125f191506125bf6125ea916124cc565b6101c76000527fff6df30967a6a678f565c59a19e91e5c0dbb20cfe9f9bf26d7da6dea0fffa24c0190565b5460201c90565b6125a2565b909192938084169080851860011c8201809211610dd6578587528383837fff6df30967a6a678f565c59a19e91e5c0dbb20cfe9f9bf26d7da6dea0fffa24c0154161160001461264a5750935b92919061258c565b94935061265690612172565b92612642565b606460405162461bcd60e51b815260206004820152602060248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152fd5b602001516001600160e01b031695945050505050565b5050506101c65490565b6101c7908154680100000000000000008110156104155760018101808455811015611dd157600092909252805160209182015190911b63ffffffff191663ffffffff909116177fff6df30967a6a678f565c59a19e91e5c0dbb20cfe9f9bf26d7da6dea0fffa24c90910155565b61019354604051630748d63560e31b81526001600160a01b039283166004820152602481019390935260209183916044918391165afa908115610c7557600091611e5e575090565b90919015612781575090565b8151156127915750805190602001fd5b60405162461bcd60e51b8152602060048201529081906122b2906024830190610776565b6127d1906127cb6127c543612bcb565b91612b62565b9061282e565b6001600160e01b0391821692911690565b156127e957565b60405162461bcd60e51b815260206004820152601760248201527f436865636b706f696e743a20696e76616c6964206b65790000000000000000006044820152606490fd5b6101c754919291801561290b576128d19181856128576128526125bf6020966124cc565b6124db565b92612866845163ffffffff1690565b61287d63ffffffff918284169283911611156127e2565b61289761288e865163ffffffff1690565b63ffffffff1690565b036128d557506128ac6125bf6128c3936124cc565b9063ffffffff82549181199060201b169116179055565b01516001600160e01b031690565b9190565b905061290691506128f36128e76104c2565b63ffffffff9092168252565b6001600160e01b038716818501526126c0565b6128c3565b5061292f9061291b6128e76104c2565b6001600160e01b03841660208201526126c0565b60009190565b60051115610e4d57565b61294881612935565b806129505750565b61295981612935565b600181036129a65760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606490fd5b6129af81612935565b600281036129fc5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606490fd5b80612a08600392612935565b14612a0f57565b60405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608490fd5b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311612ad55791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15610c755781516001600160a01b03811615612acf579190565b50600190565b50505050600090600390565b6065546066546040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152612b3681610486565b5190209060405190602082019261190160f01b84526022830152604282015260428152611d0e81610435565b6001600160e01b0390818111612b76571690565b60405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608490fd5b63ffffffff90818111612bdc571690565b60405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608490fd5b60ff549081600f0b809260801d600f0b1315612c7c578160005261010060205260406000209160008354935560016001600160801b031960ff541691016001600160801b03161760ff55565b604051631ed9509560e11b8152600490fd5b15612c9557565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b9290949391604051612d028161041a565b600781526020612d578183016648616c6f44414f60c81b815260ff60005460081c1690612d2e82612e7d565b612d36611bc6565b90612d4083612e7d565b855190209084815191012090606555606655612e7d565b8151916001600160401b03831161041557612d7c83612d7760fd54611b8c565b612edd565b81601f8411600114612de3575093612dd3969383612dc1946104cf9b9a9894612dce98600092612dd8575b50508160011b916000199060031b1c19161760fd55612f5f565b612dc9612f4e565b61308c565b612ffe565b612f94565b015190503880612da7565b60fd6000529190601f1984167f9346ac6dd7de6b96975fec380d4d994c4c12e6a8897544f22915316cc6cca280936000905b828210612e65575050846104cf9b9a9894612dce9894612dd39b9894612dc19860019510612e4c575b505050811b0160fd55612f5f565b015160001960f88460031b161c19169055388080612e3e565b80600186978294978701518155019601940190612e15565b15612e8457565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f8111612ee9575050565b60009060fd82527f9346ac6dd7de6b96975fec380d4d994c4c12e6a8897544f22915316cc6cca280906020601f850160051c83019410612f44575b601f0160051c01915b828110612f3957505050565b818155600101612f2d565b9092508290612f24565b6104cf60ff60005460081c16612e7d565b6104cf9291612f8a612f8f92612f8560ff60005460081c16612f8081612e7d565b612e7d565b6122b6565b6122f7565b612391565b612fa960ff60005460081c16612f8081612e7d565b6101f88054604080516001600160a01b0380841682529094166020850181905292937f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b2264019190a16001600160a01b031916179055565b61301360ff60005460081c16612f8081612e7d565b606481116106d9577f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b46339979061304561247f565b80151580613081575b613070575b61305c826127b5565b5050604080519182526020820192909252a1565b61307c6106a382612b62565b613053565b506101c7541561304e565b6130a160ff60005460081c16612f8081612e7d565b61019380546001600160a01b0319166001600160a01b03909216919091179055565b90816020910312610370575180151581036103705790565b6130e4816131fa565b906130ee82610fac565b600482036131f65761310b906000526101f9602052604060002090565b5480613115575090565b6101f85490915061312e906001600160a01b0316610b23565b604051632ab0f52960e01b81526004810183905260209291908381602481855afa908115610c75576000916131d9575b501561316c57505050600790565b604051632c258a9f60e11b815260048101929092528290829060249082905afa918215610c75576000926131ac575b5050156131a757600590565b600290565b6131cb9250803d106131d2575b6131c381836104a1565b8101906130c3565b388061319b565b503d6131b9565b6131f09150843d86116131d2576131c381836104a1565b3861315e565b5090565b60026132108260005260fe602052604060002090565b015460ff81166133145760081c60ff1661330e57613246611fd6611fc96132418460005260fe602052604060002090565b611d14565b80156132c9574311156132c35743613279611fd6611fc960016132738660005260fe602052604060002090565b01611d14565b1015612acf576132888161331b565b908161329f575b501561329a57600490565b600390565b6132bd91506000526101616020526040600020600181015490541090565b3861328f565b50600090565b60405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a20756e6b6e6f776e2070726f706f73616c2069640000006044820152606490fd5b50600290565b5050600790565b6000526101616020526024604060002060fe6020526001600160401b036133456040600020611d14565b5116602060018060a01b03610193541660405194858092632394e7a360e21b82528560048301525afa928315610c75576000936133b5575b506133879061250d565b91828102928184041490151715610dd6576133ae8160026001606494015491015490612180565b9104111590565b6133879193506133d29060203d8111610ca057610c9181836104a1565b929061337d565b156133e057565b60405162461bcd60e51b815260206004820152603160248201527f476f7665726e6f723a2070726f706f73657220766f7465732062656c6f7720706044820152701c9bdc1bdcd85b081d1a1c995cda1bdb19607a1b6064820152608490fd5b1561344657565b60405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a20696e76616c69642070726f706f73616c206c656e67746044820152600d60fb1b6064820152608490fd5b1561349c57565b60405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a20656d7074792070726f706f73616c00000000000000006044820152606490fd5b156134e857565b60405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c20616c72656164792065786973746044820152607360f81b6064820152608490fd5b9190916001600160401b0380809416911601918211610dd657565b9061355c82610912565b61356960405191826104a1565b828152809261357a601f1991610912565b019060005b82811061358b57505050565b80606060208093850101520161357f565b95926135cf906135dd939b9a9899969592885260209b60018060a01b03168c8901526101208060408a0152880190611be3565b908682036060880152611c20565b9784890360808601528251808a52818a019180808360051b8d01019501926000905b83821061365a57505050505061057396975061362a8261363c928661364c96950360a0880152611c54565b6001600160401b0390961660c0850152565b6001600160401b031660e0830152565b610100818403910152610776565b909192939583806136798f93600194601f199082030186528a51610776565b980192019201909392916135ff565b6137c87f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e093946136ce6136c36136bd436124cc565b33611e07565b6101315411156133d9565b60016136e282516020840120888787611cb0565b966136f0855187511461343f565b6136fd855182511461343f565b61370985511515613495565b61371d8860005260fe602052604060002090565b9061374061373b61372d84611d14565b516001600160401b03161590565b6134e1565b6137b061376161374f436137ce565b61375b61012f546137ce565b90613537565b92613777613771610130546137ce565b85613537565b815467ffffffffffffffff19166001600160401b03861617825594859101906001600160401b03166001600160401b0319825416179055565b6137ba8651613552565b604051978897338c8a61359c565b0390a190565b6001600160401b03908181116137e2571690565b60405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608490fd5b919060018060a01b036101f8541690813b156103705760009361386f6040519687958694859463e38335e560e01b8652600486016123eb565b039134905af18015610c75576138825750565b6104cf9061040256fea26469706673582212204e560b58223023afdca00d35d129d9a036816ecb652d19a10a228e87fe61fbb664736f6c63430008120033"; + "0x60808060405234610016576138c1908161001c8239f35b600080fdfe60806040526004361015610023575b361561001957600080fd5b610021611b77565b005b60003560e01c806301ffc9a7146102c357806302a251a3146102be57806303420181146102b957806306f3f9e6146102b457806306fdde03146102af578063150b7a02146102aa578063160cbed7146102a55780632656227d146102a05780632d63f6931461029b5780632fe3e261146102965780633932abb1146102915780633bccf4fd1461028c5780633e4f49e6146102875780634385963214610282578063544ffc9c1461027d57806354fd4d501461027857806356781388146102735780635f398a141461026e57806360c4247f1461026957806370b0f660146102645780637b3c71d31461025f5780637d5e81e21461025a57806386489ba91461025557806397c3d334146102505780639a802a6d1461024b578063a7713a7014610246578063a890c91014610241578063ab58fb8e1461023c578063b58131b014610237578063bc197c8114610232578063c01f9e371461022d578063c28bc2fa14610228578063c59057e414610223578063d33219b41461021e578063dd4e2ba514610219578063deaaa7cc14610214578063ea0217cf1461020f578063eb9019d41461020a578063ece40cc114610205578063f23a6e6114610200578063f8ce560a146101fb5763fc0c546a0361000e57611b4d565b611ab3565b611a5a565b6119f9565b611974565b611913565b6118d8565b61187a565b611850565b611834565b611712565b6116dc565b611650565b611631565b611586565b6114d9565b6114be565b611409565b6113ed565b6112df565b611246565b6111f1565b611190565b611172565b611103565b6110b3565b611083565b61103f565b610fe5565b610fb6565b610ee9565b610eca565b610e8f565b610e52565b610cca565b610ad1565b6108b9565b6107c7565b6105fe565b610576565b610380565b346103705760203660031901126103705760043563ffffffff60e01b81168091036103705761031190636e665ced60e01b8114908115610315575b5060405190151581529081906020820190565b0390f35b63bf26d89760e01b81149150811561035f575b811561034e575b811561033d575b50386102fe565b6301ffc9a760e01b14905038610336565b630271189760e51b8114915061032f565b6379dd796f60e01b81149150610328565b600080fd5b600091031261037057565b3461037057600036600319011261037057602061013054604051908152f35b6024359060ff8216820361037057565b6044359060ff8216820361037057565b9181601f84011215610370578235916001600160401b038311610370576020838186019501011161037057565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161041557604052565b6103ec565b604081019081106001600160401b0382111761041557604052565b608081019081106001600160401b0382111761041557604052565b602081019081106001600160401b0382111761041557604052565b606081019081106001600160401b0382111761041557604052565b60c081019081106001600160401b0382111761041557604052565b90601f801991011681019081106001600160401b0382111761041557604052565b604051906104cf8261041a565b565b6001600160401b03811161041557601f01601f191660200190565b9190916104f8816104d1565b61050560405191826104a1565b8093828252821161037057818160009384602080950137010152565b92919261052d826104d1565b9161053b60405193846104a1565b829481845281830111610370578281602093846000960137010152565b9080601f830112156103705781602061057393359101610521565b90565b346103705760e03660031901126103705761058f61039f565b6001600160401b03604435818111610370576105af9036906004016103bf565b91606435908111610370576105c8903690600401610558565b9260843560ff8116810361037057610311946105ee9460c4359460a43594600435611e76565b6040519081529081906020820190565b34610370576020366003190112610370576101f854600435906001600160a01b031661062b3382146120ca565b3003610750575b606481116106d9577f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b46339979061066461247f565b801515806106ce575b610697575b61067b826127b5565b505060408051918252602082019290925290819081015b0390a1005b6106c96106a382612b62565b6106c46106ae6104c2565b600081526001600160e01b039092166020830152565b6126c0565b610672565b506101c7541561066d565b60405162461bcd60e51b815260206004820152604360248201527f476f7665726e6f72566f74657351756f72756d4672616374696f6e3a2071756f60448201527f72756d4e756d657261746f72206f7665722071756f72756d44656e6f6d696e616064820152623a37b960e91b608482015260a490fd5b61075a36366104ec565b602081519101205b8061076b612c30565b036107625750610632565b919082519283825260005b8481106107a2575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610781565b906020610573928181520190610776565b34610370576000806003193601126108a557604051908060fd546107ea81611b8c565b8085529160019180831690811561087b5750600114610820575b61031185610814818703826104a1565b604051918291826107b6565b925060fd83527f9346ac6dd7de6b96975fec380d4d994c4c12e6a8897544f22915316cc6cca2805b82841061086357505050810160200161081482610311610804565b80546020858701810191909152909301928101610848565b8695506103119693506020925061081494915060ff191682840152151560051b8201019293610804565b80fd5b6001600160a01b0381160361037057565b34610370576080366003190112610370576108d56004356108a8565b6108e06024356108a8565b6064356001600160401b038111610370576108ff903690600401610558565b50604051630a85bd0160e11b8152602090f35b6001600160401b0381116104155760051b60200190565b81601f820112156103705780359161094083610912565b9261094e60405194856104a1565b808452602092838086019260051b820101928311610370578301905b828210610978575050505090565b8380918335610986816108a8565b81520191019061096a565b81601f82011215610370578035916109a883610912565b926109b660405194856104a1565b808452602092838086019260051b820101928311610370578301905b8282106109e0575050505090565b813581529083019083016109d2565b9080601f8301121561037057813590610a0782610912565b92610a1560405194856104a1565b828452602092838086019160051b8301019280841161037057848301915b848310610a435750505050505090565b82356001600160401b038111610370578691610a6484848094890101610558565b815201920191610a33565b6080600319820112610370576001600160401b03916004358381116103705782610a9b91600401610929565b926024358181116103705783610ab391600401610991565b9260443591821161037057610aca916004016109ef565b9060643590565b3461037057610adf36610a6f565b92610aef84838584969596611cb0565b92610b0d6004610afe866130db565b610b0781610fac565b14611d3b565b6101f88054909390610b2f906001600160a01b03165b6001600160a01b031690565b60405163793d064960e11b8152909460209081836004818a5afa968715610c75578993600098610ca7575b5060405163b1c5f42760e01b8152938391859182908190610b81908b8b8e600486016123eb565b03915afa8015610c7557610bc093610b2393600092610c7a575b5050610bb2896000526101f9602052604060002090565b55546001600160a01b031690565b90813b156103705760008094610bed876040519a8b97889687956308f2a0bb60e41b875260048701612431565b03925af1928315610c7557610c317f9a2e42fd6722813d69113e7d0079d3d940171428df7373df9c7f7617cfda289292610c499261031196610c5c575b5042612180565b60408051858152602081019290925290918291820190565b0390a16040519081529081906020820190565b80610c69610c6f92610402565b80610375565b38610c2a565b6123df565b610c999250803d10610ca0575b610c9181836104a1565b8101906123d0565b3880610b9b565b503d610c87565b83919850610cc28791833d8511610ca057610c9181836104a1565b989150610b5a565b610cd336610a6f565b9290610ce184828585611cb0565b92610ceb846130db565b6008811015610e4d57806004610d0a9214908115610e39575b50611d3b565b610d316002610d238660005260fe602052604060002090565b01805460ff19166001179055565b60409283518581527f712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f60208092a16101f8546001600160a01b039081163003610d9c575b5050916103119591610d8693613836565b610d8e611dd6565b519081529081906020820190565b60009796949291939794855b8351811015610e25573083610dbd8387611dbd565b511614610ddb575b6000198114610dd657600101610da8565b611d91565b610de58186611dbd565b5186815191012060ff906001600160801b03825491608092831d9081600f0b8c526101008b528c8c2055835492600183199201901b169116179055610dc5565b509697929450919250905081610d86610d75565b60059150610e4681610fac565b1438610d04565b610f96565b346103705760203660031901126103705760043560005260fe60205260206001600160401b03610e856040600020611d14565b5116604051908152f35b346103705760003660031901126103705760206040517fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af888152f35b3461037057600036600319011261037057602061012f54604051908152f35b346103705760a0366003190112610370576103116105ee600435610f0b61039f565b610f80610f78610f196103af565b60405160208101917f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f835286604083015260ff8616606083015260608252610f6082610435565b610f736084359360643593519020612ae1565b612a5f565b91909161293f565b60405192610f8d84610450565b60008452611f11565b634e487b7160e01b600052602160045260246000fd5b60081115610e4d57565b3461037057602036600319011261037057610fd26004356130db565b6040516008821015610e4d576020918152f35b3461037057604036600319011261037057602060ff611033602435611009816108a8565b600435600052610161845260036040600020019060018060a01b0316600052602052604060002090565b54166040519015158152f35b346103705760203660031901126103705760043560005261016160205260606040600020805490600260018201549101549060405192835260208301526040820152f35b346103705760003660031901126103705761031161109f611bc6565b604051918291602083526020830190610776565b346103705760403660031901126103705760206110fb6110d161039f565b6040516110dd81610450565b60008152604051916110ee83610450565b6000835233600435611f8d565b604051908152f35b346103705760803660031901126103705761111c61039f565b6001600160401b03906044358281116103705761113d9036906004016103bf565b9091606435938411610370576111686110fb936111606020963690600401610558565b933691610521565b9033600435611f8d565b346103705760203660031901126103705760206110fb60043561250d565b34610370576020366003190112610370576101f8546001600160a01b03166111b93382146120ca565b30036111cb575b6100216004356122b6565b6111d536366104ec565b602081519101205b806111e6612c30565b036111dd57506111c0565b346103705760603660031901126103705761120a61039f565b6044356001600160401b038111610370576020916112396112326110fb9336906004016103bf565b3691610521565b604051916110ee83610450565b34610370576080366003190112610370576001600160401b0360043581811161037057611277903690600401610929565b9060243581811161037057611290903690600401610991565b91604435828111610370576112a99036906004016109ef565b606435928311610370573660238401121561037057610311936112d96105ee943690602481600401359101610521565b92613688565b346103705760c0366003190112610370576004356112fc816108a8565b61135d60243561130b816108a8565b6000549261133060ff8560081c1615809581966113df575b81156113bf575b50612c8e565b83611343600160ff196000541617600055565b6113a6575b60a43591608435916064359160443591612cf1565b61136357005b61137361ff001960005416600055565b604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498908060208101610692565b6113ba61010061ff00196000541617600055565b611348565b303b159150816113d1575b503861132a565b6001915060ff1614386113ca565b600160ff8216109150611323565b3461037057600036600319011261037057602060405160648152f35b3461037057606036600319011261037057600435611426816108a8565b6044356001600160401b03811161037057611445903690600401610558565b5061019354604051630748d63560e31b81526001600160a01b03928316600482015260248035908201529160209183916044918391165afa8015610c7557610311916000916114a0575b506040519081529081906020820190565b6114b8915060203d8111610ca057610c9181836104a1565b3861148f565b346103705760003660031901126103705760206110fb61247f565b34610370576020366003190112610370576004356114f6816108a8565b6101f8805490916001600160a01b039182166115133382146120ca565b3003611560575b7f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b226401604083855493169381519084168152846020820152a16001600160a01b031916179055005b61156a36366104ec565b602081519101205b8061157b612c30565b03611572575061151a565b34610370576020366003190112610370576115e1602060018060a01b036101f854166115bf6004356000526101f9602052604060002090565b5490604051808095819463d45c443560e01b8352600483019190602083019252565b03915afa908115610c7557600091611613575b506001810361160a575060405160008152602090f35b610311906105ee565b61162b915060203d8111610ca057610c9181836104a1565b386115f4565b3461037057600036600319011261037057602061013154604051908152f35b346103705760a03660031901126103705761166c6004356108a8565b6116776024356108a8565b6001600160401b0360443581811161037057611697903690600401610991565b50606435818111610370576116b0903690600401610991565b50608435908111610370576116c9903690600401610558565b5060405163bc197c8160e01b8152602090f35b346103705760203660031901126103705760043560005260fe60205260206001600160401b03610e856001604060002001611d14565b60603660031901126103705760043561172a816108a8565b6044356001600160401b038111610370576117499036906004016103bf565b6101f854909291906001600160a01b03166117653382146120ca565b300361180e575b61180391836040519485938437820190600094859383858095520391602435905af13d15611807573d61179e816104d1565b906117ac60405192836104a1565b81523d84602083013e5b604051916117c38361046b565b602883527f476f7665726e6f723a2072656c617920726576657274656420776974686f7574602084015267206d65737361676560c01b6040840152612775565b5080f35b60606117b6565b61181836366104ec565b602081519101205b80611829612c30565b03611820575061176c565b346103705760206110fb61184736610a6f565b92919091611cb0565b34610370576000366003190112610370576101f8546040516001600160a01b039091168152602090f35b346103705760003660031901126103705761031160405161189a8161041a565b602081527f737570706f72743d627261766f2671756f72756d3d666f722c6162737461696e6020820152604051918291602083526020830190610776565b346103705760003660031901126103705760206040517f150214d74d59b7d1e90c73fc22ef3d991dd0a76b046543d4d80ab92d2a50328f8152f35b34610370576020366003190112610370576101f8546001600160a01b031661193c3382146120ca565b300361194e575b6100216004356122f7565b61195836366104ec565b602081519101205b80611969612c30565b036119605750611943565b3461037057604036600319011261037057600435611991816108a8565b600060405161199f81610450565b5261019354604051630748d63560e31b81526001600160a01b03928316600482015260248035908201529160209183916044918391165afa8015610c7557610311916000916114a057506040519081529081906020820190565b34610370576020366003190112610370576101f8546001600160a01b0316611a223382146120ca565b3003611a34575b610021600435612391565b611a3e36366104ec565b602081519101205b80611a4f612c30565b03611a465750611a29565b346103705760a036600319011261037057611a766004356108a8565b611a816024356108a8565b6084356001600160401b03811161037057611aa0903690600401610558565b5060405163f23a6e6160e01b8152602090f35b34610370576020366003190112610370576024600435602060018060a01b03610193541660405193848092632394e7a360e21b82528560048301525afa918215610c7557600092611b29575b50611b099061250d565b90818102918183041490151715610dd65760405160649091048152602090f35b611b09919250611b469060203d8111610ca057610c9181836104a1565b9190611aff565b3461037057600036600319011261037057610193546040516001600160a01b039091168152602090f35b6101f8546001600160a01b0316300361037057565b90600182811c92168015611bbc575b6020831014611ba657565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b9b565b60405190611bd38261041a565b60018252603160f81b6020830152565b90815180825260208080930193019160005b828110611c03575050505090565b83516001600160a01b031685529381019392810192600101611bf5565b90815180825260208080930193019160005b828110611c40575050505090565b835185529381019392810192600101611c32565b908082519081815260208091019281808460051b8301019501936000915b848310611c825750505050505090565b9091929394958480611ca0600193601f198682030187528a51610776565b9801930193019194939290611c72565b9290611cfc92611d0e92604051948592611cec611cd9602086019960808b5260a0870190611be3565b601f199687878303016040880152611c20565b9085858303016060860152611c54565b906080830152039081018352826104a1565b51902090565b90604051602081016001600160401b03908281108282111761041557604052819354169052565b15611d4257565b60405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c206e6f74207375636365737366756044820152601b60fa1b6064820152608490fd5b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b8051821015611dd15760209160051b010190565b611da7565b6101f8546001600160a01b03163003611deb57565b60ff5480600f0b9060801d600f0b13611e0057565b600060ff55565b6020906000604051611e1881610450565b5261019354604051630748d63560e31b81526001600160a01b039283166004820152602481019490945283916044918391165afa908115610c7557600091611e5e575090565b610573915060203d8111610ca057610c9181836104a1565b9492611f0361057398611f0b9493969861123296610f738a8a8d611e9b368a8c610521565b6020815191012090602081519101209060ff6040519360208501957fb3b3f3b703cd84ce352197dcff232b1b5d3cfb2025ce47cf04742d0651f1af8887526040860152166060840152608083015260a082015260a08152611efb81610486565b519020612ae1565b94909461293f565b92611f8d565b91610573939160405193611f2485610450565b60008552611f8d565b93909260ff611f599361057397958752166020860152604085015260a0606085015260a0840190610776565b916080818403910152610776565b909260ff6080936105739695845216602083015260408201528160608201520190610776565b9291908360005260fe60205260406000206001611fa9866130db565b611fb281610fac565b0361207957611fe2611fd6611fc9611fe893611d14565b516001600160401b031690565b6001600160401b031690565b8261272d565b94611ff58684848861218d565b805161203d57506120377fb8e138887d0aa13bab447e82de9d5c1777041ecd21ca36ba824ff1e6c07ddda4938660405194859460018060a01b03169785611f67565b0390a290565b612037907fe2babfbac5889a709b63bb7f598b324e08bc5a4fb9ec647fb3cbc9ec07eb8712948760405195869560018060a01b03169886611f2d565b60405162461bcd60e51b815260206004820152602360248201527f476f7665726e6f723a20766f7465206e6f742063757272656e746c792061637460448201526269766560e81b6064820152608490fd5b156120d157565b60405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a206f6e6c79476f7665726e616e636500000000000000006044820152606490fd5b1561211d57565b60405162461bcd60e51b815260206004820152602760248201527f476f7665726e6f72566f74696e6753696d706c653a20766f746520616c726561604482015266191e4818d85cdd60ca1b6064820152608490fd5b9060018201809211610dd657565b91908201809211610dd657565b9161220a6121fd6121ac60ff9495600052610161602052604060002090565b94600386016121e66121e16121dd6121d685859060018060a01b0316600052602052604060002090565b5460ff1690565b1590565b612116565b9060018060a01b0316600052602052604060002090565b805460ff19166001179055565b168061222157509061221d908254612180565b9055565b600181036122395750600161221d9101918254612180565b60020361224f57600261221d9101918254612180565b60405162461bcd60e51b815260206004820152603560248201527f476f7665726e6f72566f74696e6753696d706c653a20696e76616c69642076616044820152746c756520666f7220656e756d20566f74655479706560581b6064820152608490fd5b0390fd5b61012f805460408051918252602082018490527fc565b045403dc03c2eea82b81a0465edad9e2e7fc4d97e11421c209da93d7a939190819081015b0390a155565b801561233c57610130805460408051918252602082018490527f7e3f7f0708a84de9203036abaa450dccc85ad5ff52f78c170f3edb55cf5e88289190819081016122f1565b60405162461bcd60e51b815260206004820152602760248201527f476f7665726e6f7253657474696e67733a20766f74696e6720706572696f6420604482015266746f6f206c6f7760c81b6064820152608490fd5b610131805460408051918252602082018490527fccb45da8d5717e6c4544694297c4ba5cf151d455c9bb0ed4fc7a38411bc054619190819081016122f1565b90816020910312610370575190565b6040513d6000823e3d90fd5b9493926124176080936124096124259460a08a5260a08a0190611be3565b9088820360208a0152611c20565b908682036040880152611c54565b93600060608201520152565b919261246060a09461245261246e949998979960c0875260c0870190611be3565b908582036020870152611c20565b908382036040850152611c54565b946000606083015260808201520152565b6101c7805460009181612496575050506101c65490565b81600019810111610dd6577fff6df30967a6a678f565c59a19e91e5c0dbb20cfe9f9bf26d7da6dea0fffa24b9252015460201c90565b600019810191908211610dd657565b90604051604081018181106001600160401b0382111761041557604052602081935463ffffffff81168352811c910152565b6101c790815480156126b6576000198101818111610dd657811115611dd15760009280845261255d7fff6df30967a6a678f565c59a19e91e5c0dbb20cfe9f9bf26d7da6dea0fffa24b83016124db565b9263ffffffff93818582511611156126a057504381101561265c5761258490929192612bcb565b928085929416905b8483106125f6575050505080156000146125ae57505b6001600160e01b031690565b6125f191506125bf6125ea916124cc565b6101c76000527fff6df30967a6a678f565c59a19e91e5c0dbb20cfe9f9bf26d7da6dea0fffa24c0190565b5460201c90565b6125a2565b909192938084169080851860011c8201809211610dd6578587528383837fff6df30967a6a678f565c59a19e91e5c0dbb20cfe9f9bf26d7da6dea0fffa24c0154161160001461264a5750935b92919061258c565b94935061265690612172565b92612642565b606460405162461bcd60e51b815260206004820152602060248201527f436865636b706f696e74733a20626c6f636b206e6f7420796574206d696e65646044820152fd5b602001516001600160e01b031695945050505050565b5050506101c65490565b6101c7908154680100000000000000008110156104155760018101808455811015611dd157600092909252805160209182015190911b63ffffffff191663ffffffff909116177fff6df30967a6a678f565c59a19e91e5c0dbb20cfe9f9bf26d7da6dea0fffa24c90910155565b61019354604051630748d63560e31b81526001600160a01b039283166004820152602481019390935260209183916044918391165afa908115610c7557600091611e5e575090565b90919015612781575090565b8151156127915750805190602001fd5b60405162461bcd60e51b8152602060048201529081906122b2906024830190610776565b6127d1906127cb6127c543612bcb565b91612b62565b9061282e565b6001600160e01b0391821692911690565b156127e957565b60405162461bcd60e51b815260206004820152601760248201527f436865636b706f696e743a20696e76616c6964206b65790000000000000000006044820152606490fd5b6101c754919291801561290b576128d19181856128576128526125bf6020966124cc565b6124db565b92612866845163ffffffff1690565b61287d63ffffffff918284169283911611156127e2565b61289761288e865163ffffffff1690565b63ffffffff1690565b036128d557506128ac6125bf6128c3936124cc565b9063ffffffff82549181199060201b169116179055565b01516001600160e01b031690565b9190565b905061290691506128f36128e76104c2565b63ffffffff9092168252565b6001600160e01b038716818501526126c0565b6128c3565b5061292f9061291b6128e76104c2565b6001600160e01b03841660208201526126c0565b60009190565b60051115610e4d57565b61294881612935565b806129505750565b61295981612935565b600181036129a65760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606490fd5b6129af81612935565b600281036129fc5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606490fd5b80612a08600392612935565b14612a0f57565b60405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608490fd5b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311612ad55791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15610c755781516001600160a01b03811615612acf579190565b50600190565b50505050600090600390565b6065546066546040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a08152612b3681610486565b5190209060405190602082019261190160f01b84526022830152604282015260428152611d0e81610435565b6001600160e01b0390818111612b76571690565b60405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20326044820152663234206269747360c81b6064820152608490fd5b63ffffffff90818111612bdc571690565b60405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203360448201526532206269747360d01b6064820152608490fd5b60ff549081600f0b809260801d600f0b1315612c7c578160005261010060205260406000209160008354935560016001600160801b031960ff541691016001600160801b03161760ff55565b604051631ed9509560e11b8152600490fd5b15612c9557565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b9290949391604051612d028161041a565b600781526020612d578183016648616c6f44414f60c81b815260ff60005460081c1690612d2e82612e7d565b612d36611bc6565b90612d4083612e7d565b855190209084815191012090606555606655612e7d565b8151916001600160401b03831161041557612d7c83612d7760fd54611b8c565b612edd565b81601f8411600114612de3575093612dd3969383612dc1946104cf9b9a9894612dce98600092612dd8575b50508160011b916000199060031b1c19161760fd55612f5f565b612dc9612f4e565b61308c565b612ffe565b612f94565b015190503880612da7565b60fd6000529190601f1984167f9346ac6dd7de6b96975fec380d4d994c4c12e6a8897544f22915316cc6cca280936000905b828210612e65575050846104cf9b9a9894612dce9894612dd39b9894612dc19860019510612e4c575b505050811b0160fd55612f5f565b015160001960f88460031b161c19169055388080612e3e565b80600186978294978701518155019601940190612e15565b15612e8457565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b601f8111612ee9575050565b60009060fd82527f9346ac6dd7de6b96975fec380d4d994c4c12e6a8897544f22915316cc6cca280906020601f850160051c83019410612f44575b601f0160051c01915b828110612f3957505050565b818155600101612f2d565b9092508290612f24565b6104cf60ff60005460081c16612e7d565b6104cf9291612f8a612f8f92612f8560ff60005460081c16612f8081612e7d565b612e7d565b6122b6565b6122f7565b612391565b612fa960ff60005460081c16612f8081612e7d565b6101f88054604080516001600160a01b0380841682529094166020850181905292937f08f74ea46ef7894f65eabfb5e6e695de773a000b47c529ab559178069b2264019190a16001600160a01b031916179055565b61301360ff60005460081c16612f8081612e7d565b606481116106d9577f0553476bf02ef2726e8ce5ced78d63e26e602e4a2257b1f559418e24b46339979061304561247f565b80151580613081575b613070575b61305c826127b5565b5050604080519182526020820192909252a1565b61307c6106a382612b62565b613053565b506101c7541561304e565b6130a160ff60005460081c16612f8081612e7d565b61019380546001600160a01b0319166001600160a01b03909216919091179055565b90816020910312610370575180151581036103705790565b6130e4816131fa565b906130ee82610fac565b600482036131f65761310b906000526101f9602052604060002090565b5480613115575090565b6101f85490915061312e906001600160a01b0316610b23565b604051632ab0f52960e01b81526004810183905260209291908381602481855afa908115610c75576000916131d9575b501561316c57505050600790565b604051632c258a9f60e11b815260048101929092528290829060249082905afa918215610c75576000926131ac575b5050156131a757600590565b600290565b6131cb9250803d106131d2575b6131c381836104a1565b8101906130c3565b388061319b565b503d6131b9565b6131f09150843d86116131d2576131c381836104a1565b3861315e565b5090565b60026132108260005260fe602052604060002090565b015460ff81166133145760081c60ff1661330e57613246611fd6611fc96132418460005260fe602052604060002090565b611d14565b80156132c9574311156132c35743613279611fd6611fc960016132738660005260fe602052604060002090565b01611d14565b1015612acf576132888161331b565b908161329f575b501561329a57600490565b600390565b6132bd91506000526101616020526040600020600181015490541090565b3861328f565b50600090565b60405162461bcd60e51b815260206004820152601d60248201527f476f7665726e6f723a20756e6b6e6f776e2070726f706f73616c2069640000006044820152606490fd5b50600290565b5050600790565b6000526101616020526024604060002060fe6020526001600160401b036133456040600020611d14565b5116602060018060a01b03610193541660405194858092632394e7a360e21b82528560048301525afa928315610c75576000936133b5575b506133879061250d565b91828102928184041490151715610dd6576133ae8160026001606494015491015490612180565b9104111590565b6133879193506133d29060203d8111610ca057610c9181836104a1565b929061337d565b156133e057565b60405162461bcd60e51b815260206004820152603160248201527f476f7665726e6f723a2070726f706f73657220766f7465732062656c6f7720706044820152701c9bdc1bdcd85b081d1a1c995cda1bdb19607a1b6064820152608490fd5b1561344657565b60405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a20696e76616c69642070726f706f73616c206c656e67746044820152600d60fb1b6064820152608490fd5b1561349c57565b60405162461bcd60e51b815260206004820152601860248201527f476f7665726e6f723a20656d7074792070726f706f73616c00000000000000006044820152606490fd5b156134e857565b60405162461bcd60e51b815260206004820152602160248201527f476f7665726e6f723a2070726f706f73616c20616c72656164792065786973746044820152607360f81b6064820152608490fd5b9190916001600160401b0380809416911601918211610dd657565b9061355c82610912565b61356960405191826104a1565b828152809261357a601f1991610912565b019060005b82811061358b57505050565b80606060208093850101520161357f565b95926135cf906135dd939b9a9899969592885260209b60018060a01b03168c8901526101208060408a0152880190611be3565b908682036060880152611c20565b9784890360808601528251808a52818a019180808360051b8d01019501926000905b83821061365a57505050505061057396975061362a8261363c928661364c96950360a0880152611c54565b6001600160401b0390961660c0850152565b6001600160401b031660e0830152565b610100818403910152610776565b909192939583806136798f93600194601f199082030186528a51610776565b980192019201909392916135ff565b6137c87f7d84a6263ae0d98d3329bd7b46bb4e8d6f98cd35a7adb45c274c8b7fd5ebd5e093946136ce6136c36136bd436124cc565b33611e07565b6101315411156133d9565b60016136e282516020840120888787611cb0565b966136f0855187511461343f565b6136fd855182511461343f565b61370985511515613495565b61371d8860005260fe602052604060002090565b9061374061373b61372d84611d14565b516001600160401b03161590565b6134e1565b6137b061376161374f436137ce565b61375b61012f546137ce565b90613537565b92613777613771610130546137ce565b85613537565b815467ffffffffffffffff19166001600160401b03861617825594859101906001600160401b03166001600160401b0319825416179055565b6137ba8651613552565b604051978897338c8a61359c565b0390a190565b6001600160401b03908181116137e2571690565b60405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608490fd5b919060018060a01b036101f8541690813b156103705760009361386f6040519687958694859463e38335e560e01b8652600486016123eb565b039134905af18015610c75576138825750565b6104cf9061040256fea264697066735822122016d2b5b9525fbab05c1de6731e51cc74e763225f8cfbea6224854c8deea24f2264736f6c63430008120033"; type GovConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/halo/staking/Staking.sol/IStakingHalo__factory.ts b/typechain-types/factories/contracts/halo/staking/Staking.sol/IStakingHalo__factory.ts index 6a6f54827..25812b164 100644 --- a/typechain-types/factories/contracts/halo/staking/Staking.sol/IStakingHalo__factory.ts +++ b/typechain-types/factories/contracts/halo/staking/Staking.sol/IStakingHalo__factory.ts @@ -210,7 +210,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curInterestRate", + name: "interestRate", type: "uint256", }, ], diff --git a/typechain-types/factories/contracts/halo/staking/Staking.sol/Staking__factory.ts b/typechain-types/factories/contracts/halo/staking/Staking.sol/Staking__factory.ts index ce9b0679b..96508473d 100644 --- a/typechain-types/factories/contracts/halo/staking/Staking.sol/Staking__factory.ts +++ b/typechain-types/factories/contracts/halo/staking/Staking.sol/Staking__factory.ts @@ -717,7 +717,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curInterestRate", + name: "interestRate", type: "uint256", }, ], @@ -729,7 +729,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60803462000380576001600160401b0390604090808201838111828210176200036a5782526011815260207029ba30b5b2b2102430b637902a37b5b2b760791b81830152825193838501858110828211176200036a578452600385526214d21560ea1b8286015282518181116200036a576004928354916001958684811c941680156200035f575b838510146200034a578190601f94858111620002f4575b5083908583116001146200028c5760009262000280575b5050600019600383901b1c191690861b1784555b86519283116200026b576005938454908682811c9216801562000260575b838310146200024b575082811162000202575b508091831160011462000196575081929394956000926200018a575b5050600019600383901b1c191690831b1790555b6006805460ff1916905560075560088054336001600160a01b0319821681179092559151916001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3611b049081620003868239f35b01519050388062000116565b90601f198316968460005282600020926000905b898210620001ea5750508386979896959610620001d0575b505050811b0190556200012a565b015160001960f88460031b161c19169055388080620001c2565b808885968294968601518155019501930190620001aa565b846000528160002083808601871c82019284871062000241575b01861c019086905b82811062000234575050620000fa565b6000815501869062000224565b925081926200021c565b602290634e487b7160e01b6000525260246000fd5b91607f1691620000e7565b604184634e487b7160e01b6000525260246000fd5b015190503880620000b5565b90889350601f1983169188600052856000209260005b87828210620002dd5750508411620002c3575b505050811b018455620000c9565b015160001960f88460031b161c19169055388080620002b5565b8385015186558c97909501949384019301620002a2565b90915086600052836000208580850160051c82019286861062000340575b918a91869594930160051c01915b828110620003305750506200009e565b600081558594508a910162000320565b9250819262000312565b602286634e487b7160e01b6000525260246000fd5b93607f169362000087565b634e487b7160e01b600052604160045260246000fd5b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde031461140457508163095ea7b3146113da5781630e89439b146111dc5781630ef9635614610fd657816318160ddd14610fb757816323b872dd14610eeb5781632e8ddde614610ec2578163313ce56714610ea65781633950935114610e565781633f4ba83a14610db35781634196ace214610d7b5781634b341aed14610d435781635c975abb14610d1f5781637033e4a614610d0457816370a0823114610ccc578163715018a614610c6f578163752a50a614610bf957816377b3492714610a3c5781637c3a00fd14610a1d578163817b1cd2146109fe5781638456cb59146109965781638da5cb5b1461096d57816395d89b4114610852578163a457c2d7146107aa578163a9059cbb14610779578163cd6ef9b114610325578163dd62ed3e146102dc578163f2fde38b14610210578163fa14a50d1461019a575063fc0c546a1461016f57600080fd5b3461019657816003193601126101965760095490516001600160a01b039091168152602090f35b5080fd5b9190503461020c578060031936011261020c5760a09281906001600160a01b036101c2611536565b168152600c60205281812060243582526020522060ff8154169260018201549260028301549160038401549301549381519515158652602086015284015260608301526080820152f35b8280fd5b90503461020c57602036600319011261020c5761022b611536565b90610234611612565b6001600160a01b0391821692831561028a575050600854826bffffffffffffffffffffffff60a01b821617600855167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b505034610196578060031936011261019657806020926102fa611536565b610302611551565b6001600160a01b0391821683526002865283832091168252845220549051908152f35b8391503461019657606036600319011261019657803590602493843594604492833567ffffffffffffffff81116107755761036390369083016115bb565b9361036c6118ff565b338752602097600c8952848820818952895260ff85892054161561074357338852600c895284882081895289526002858920015442111561071157338852600c895284882081895289526103db6003868a200154338a52600c8b52868a20838b528b5284878b20015490611ac1565b87116106e057338852600c89528488209088528852818488200161040087825461166a565b9055600a548087029087820414871517156106ce57606461042291048761166a565b60095485516370a0823160e01b815230858201526001600160a01b0390911691908a818781865afa9081156106c4579082918b9161068f575b5010610632578891838b928851948593849263a9059cbb60e01b8452338a8501528a8401525af1908115610628579061049b9189916105fb575b5061196d565b33156105b257338752600188528387205492868410610566575050508394957faf01bfc8475df280aca00b578c4a948e6d95700f0db8c13365240f7f973c875494600e9233895260018352038388205585600354036003558683518781527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef833392a3338752818152828720610532878254611ac1565b905561054086600b54611ac1565b600b553387525261055b8186205491519283923396846119ba565b0390a2600160075580f35b845162461bcd60e51b81529283018990526022908301527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e9082015261636560f01b6064820152608490fd5b60217f45524332303a206275726e2066726f6d20746865207a65726f20616464726573929389608496519562461bcd60e51b8752860152840152820152607360f81b6064820152fd5b61061b91508a3d8c11610621575b6106138183611599565b810190611955565b8a610495565b503d610609565b85513d8a823e3d90fd5b855162461bcd60e51b81528085018b90526033818701527f496e73756666696369656e742068616c6f20746f6b656e2062616c616e63652081850152721a5b881cdd185ada5b99c818dbdb9d1c9858dd606a1b6064820152608490fd5b8092508c8092503d83116106bd575b6106a88183611599565b810103126106b9578190518c61045b565b8980fd5b503d61069e565b87513d8c823e3d90fd5b634e487b7160e01b8852601183528388fd5b50600e6d125b9d985b1a5908185b5bdd5b9d60921b929389606496519562461bcd60e51b8752860152840152820152fd5b50600f6e14dd185ad9481b9bdd08195b991959608a1b929389606496519562461bcd60e51b8752860152840152820152fd5b50600f6e14dd185ad9481b9bdd08199bdd5b99608a1b929389606496519562461bcd60e51b8752860152840152820152fd5b8680fd5b5050346101965780600319360112610196576020906107a3610799611536565b602435903361168d565b5160018152f35b9050823461084f578260031936011261084f576107c5611536565b918360243592338152600260205281812060018060a01b03861682526020522054908282106107fe576020856107a385850387336117fd565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b82843461084f578060031936011261084f578151918160055492600184811c91818616958615610963575b6020968785108114610950578899509688969785829a5291826000146109295750506001146108cd575b5050506108c992916108ba910385611599565b519282849384528301906114f6565b0390f35b9190869350600583527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05b82841061091157505050820101816108ba6108c96108a7565b8054848a0186015288955087949093019281016108f8565b60ff19168782015293151560051b860190930193508492506108ba91506108c990506108a7565b634e487b7160e01b835260228a52602483fd5b92607f169261087d565b50503461019657816003193601126101965760085490516001600160a01b039091168152602090f35b50503461019657816003193601126101965760207f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258916109d46118ff565b6109dc611612565b6109e46119d9565b600160ff19600654161760065551338152a1600160075580f35b505034610196578160031936011261019657602090600b549051908152f35b505034610196578160031936011261019657602090600a549051908152f35b90503461020c578160031936011261020c5781519082820182811067ffffffffffffffff821117610be6578352610a71611536565b82526020820191602435835284549260ff8460081c161593848095610bd9575b8015610bc2575b15610b685760ff198116600117875584610b57575b5081516001600160a01b039390841615610b22575051600a5551166bffffffffffffffffffffffff60a01b600954161760095582600b55610aec575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b606490602087519162461bcd60e51b8352820152600f60248201526e496e76616c6964206164647265737360881b6044820152fd5b61ffff191661010117865538610aad565b855162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610a985750600160ff821614610a98565b50600160ff821610610a91565b634e487b7160e01b855260418252602485fd5b90503461020c57602036600319011261020c57803591610c176118ff565b610c1f611612565b60648311610c34575050600a55600160075580f35b906020606492519162461bcd60e51b83528201526015602482015274496e76616c696420696e746572657374207261746560581b6044820152fd5b833461084f578060031936011261084f57610c88611612565b600880546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346101965760203660031901126101965760209181906001600160a01b03610cf4611536565b1681526001845220549051908152f35b50503461019657816003193601126101965751908152602090f35b50503461019657816003193601126101965760209060ff6006541690519015158152f35b5050346101965760203660031901126101965760209181906001600160a01b03610d6b611536565b168152600e845220549051908152f35b5050346101965760203660031901126101965760209181906001600160a01b03610da3611536565b168152600d845220549051908152f35b90503461020c578260031936011261020c57610dcd6118ff565b610dd5611612565b6006549060ff821615610e1c575060ff1916600655513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa90602090a1600160075580f35b606490602084519162461bcd60e51b8352820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152fd5b5050346101965780600319360112610196576107a3602092610e9f610e79611536565b338352600286528483206001600160a01b0382168452865291849020546024359061166a565b90336117fd565b5050346101965781600319360112610196576020905160128152f35b50503461019657816003193601126101965760095490516001600160a01b039091168152602090f35b8391503461019657606036600319011261019657610f07611536565b610f0f611551565b6001600160a01b03821684526002602090815285852033865290529284902054604435939260018201610f4b575b6020866107a387878761168d565b848210610f745750918391610f69602096956107a3950333836117fd565b919394819350610f3d565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346101965781600319360112610196576020906003549051908152f35b83833461019657606036600319011261019657610ff1611536565b916024359260443567ffffffffffffffff811161020c5761101590369087016115bb565b61101d6118ff565b6110256119d9565b60095484516323b872dd60e01b815233888201908152306020808301919091526040820189905297926001600160a01b039291899183918290036060019082908a9087165af19081156111d257906110839187916111bb575061196d565b831692838552600d875285852061109a81546119ab565b90556276a70042018042116111a8579161117781869593898b9c88829d7fc65e53b88159e7d2c0fc12a0600072e28ae53ff73b4c1715369c30f160935142998d6111368651966110e988611567565b600188528488019242845281890194855260608901958b875260808a01978289528252600c815282822090600d8152838320548352522096511515879060ff801983541691151516179055565b51600186015551600285015551600384015551910155868952600e8c5289892061116183825461166a565b905561116f82600b5461166a565b600b55611a1d565b838652600e895261119187872054928851938493846119ba565b0390a28152600d8452205490600160075551908152f35b634e487b7160e01b865260118952602486fd5b61061b9150893d8b11610621576106138183611599565b87513d88823e3d90fd5b83833461019657806003193601126101965782359160243567ffffffffffffffff8111610196576112118491369087016115bb565b6112196119d9565b6112216118ff565b60095484516323b872dd60e01b8152338189019081523060208281019190915260408201989098529091879183916001600160a01b03169082908890829060600103925af19081156113d0579061127e9185916113b3575061196d565b338352600d855283832061129281546119ab565b90556276a70042018042116113a057907fc65e53b88159e7d2c0fc12a0600072e28ae53ff73b4c1715369c30f160935142918596978651916112d383611567565b600183528983019042825288840190815260608401908782526080850192898452338a52600c8d528c600d8c8c2091528b8b20548b528d526113278b8b2096511515879060ff801983541691151516179055565b51600186015551600285015551600384015551910155338452600e875284842061135284825461166a565b905561136083600b5461166a565b600b5561136d8333611a1d565b338452600e87528484205461138886519283923396846119ba565b0390a2338152600d8452205490600160075551908152f35b634e487b7160e01b845260118752602484fd5b6113ca9150873d8911610621576106138183611599565b88610495565b85513d86823e3d90fd5b5050346101965780600319360112610196576020906107a36113fa611536565b60243590336117fd565b84843461019657816003193601126101965781845492600184811c918186169586156114ec575b6020968785108114610950579087899a92868b999a9b5291826000146114c2575050600114611467575b85886108c9896108ba848a0385611599565b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106114aa57505050820101816108ba6108c988611455565b8054848a018601528895508794909301928101611490565b60ff19168882015294151560051b870190940194508593506108ba92506108c99150899050611455565b92607f169261142b565b919082519283825260005b848110611522575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611501565b600435906001600160a01b038216820361154c57565b600080fd5b602435906001600160a01b038216820361154c57565b60a0810190811067ffffffffffffffff82111761158357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761158357604052565b81601f8201121561154c5780359067ffffffffffffffff821161158357604051926115f0601f8401601f191660200185611599565b8284526020838301011161154c57816000926020809301838601378301015290565b6008546001600160a01b0316330361162657565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9190820180921161167757565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b039081169182156117aa5716918215611759576000828152600160205260408120549180831061170557604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95876020965260018652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b039081169182156118ae571691821561185e5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260028252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b600260075414611910576002600755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b9081602091031261154c5751801515810361154c5790565b1561197457565b60405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b60001981146116775760010190565b6119d693926060928252602082015281604082015201906114f6565b90565b60ff600654166119e557565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fd5b6001600160a01b0316908115611a7c577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602082611a5f60009460035461166a565b6003558484526001825260408420818154019055604051908152a3565b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b919082039182116116775756fea2646970667358221220d2c630506e86623dfa3f2a9519ceef60f9b6e9a8d8905e564676b053da4ff92864736f6c63430008120033"; + "0x60803462000380576001600160401b0390604090808201838111828210176200036a5782526011815260207029ba30b5b2b2102430b637902a37b5b2b760791b81830152825193838501858110828211176200036a578452600385526214d21560ea1b8286015282518181116200036a576004928354916001958684811c941680156200035f575b838510146200034a578190601f94858111620002f4575b5083908583116001146200028c5760009262000280575b5050600019600383901b1c191690861b1784555b86519283116200026b576005938454908682811c9216801562000260575b838310146200024b575082811162000202575b508091831160011462000196575081929394956000926200018a575b5050600019600383901b1c191690831b1790555b6006805460ff1916905560075560088054336001600160a01b0319821681179092559151916001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3611aff9081620003868239f35b01519050388062000116565b90601f198316968460005282600020926000905b898210620001ea5750508386979896959610620001d0575b505050811b0190556200012a565b015160001960f88460031b161c19169055388080620001c2565b808885968294968601518155019501930190620001aa565b846000528160002083808601871c82019284871062000241575b01861c019086905b82811062000234575050620000fa565b6000815501869062000224565b925081926200021c565b602290634e487b7160e01b6000525260246000fd5b91607f1691620000e7565b604184634e487b7160e01b6000525260246000fd5b015190503880620000b5565b90889350601f1983169188600052856000209260005b87828210620002dd5750508411620002c3575b505050811b018455620000c9565b015160001960f88460031b161c19169055388080620002b5565b8385015186558c97909501949384019301620002a2565b90915086600052836000208580850160051c82019286861062000340575b918a91869594930160051c01915b828110620003305750506200009e565b600081558594508a910162000320565b9250819262000312565b602286634e487b7160e01b6000525260246000fd5b93607f169362000087565b634e487b7160e01b600052604160045260246000fd5b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde03146113ff57508163095ea7b3146113d55781630e89439b146111d75781630ef9635614610fd157816318160ddd14610fb257816323b872dd14610ee65781632e8ddde614610ebd578163313ce56714610ea15781633950935114610e515781633f4ba83a14610dae5781634196ace214610d765781634b341aed14610d3e5781635c975abb14610d1a5781637033e4a614610cff57816370a0823114610cc7578163715018a614610c6a578163752a50a614610bf957816377b3492714610a3c5781637c3a00fd14610a1d578163817b1cd2146109fe5781638456cb59146109965781638da5cb5b1461096d57816395d89b4114610852578163a457c2d7146107aa578163a9059cbb14610779578163cd6ef9b114610325578163dd62ed3e146102dc578163f2fde38b14610210578163fa14a50d1461019a575063fc0c546a1461016f57600080fd5b3461019657816003193601126101965760095490516001600160a01b039091168152602090f35b5080fd5b9190503461020c578060031936011261020c5760a09281906001600160a01b036101c2611531565b168152600c60205281812060243582526020522060ff8154169260018201549260028301549160038401549301549381519515158652602086015284015260608301526080820152f35b8280fd5b90503461020c57602036600319011261020c5761022b611531565b9061023461160d565b6001600160a01b0391821692831561028a575050600854826bffffffffffffffffffffffff60a01b821617600855167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b505034610196578060031936011261019657806020926102fa611531565b61030261154c565b6001600160a01b0391821683526002865283832091168252845220549051908152f35b8391503461019657606036600319011261019657803590602493843594604492833567ffffffffffffffff81116107755761036390369083016115b6565b9361036c6118fa565b338752602097600c8952848820818952895260ff85892054161561074357338852600c895284882081895289526002858920015442111561071157338852600c895284882081895289526103db6003868a200154338a52600c8b52868a20838b528b5284878b20015490611abc565b87116106e057338852600c895284882090885288528184882001610400878254611665565b9055600a548087029087820414871517156106ce576064610422910487611665565b60095485516370a0823160e01b815230858201526001600160a01b0390911691908a818781865afa9081156106c4579082918b9161068f575b5010610632578891838b928851948593849263a9059cbb60e01b8452338a8501528a8401525af1908115610628579061049b9189916105fb575b50611968565b33156105b257338752600188528387205492868410610566575050508394957faf01bfc8475df280aca00b578c4a948e6d95700f0db8c13365240f7f973c875494600e9233895260018352038388205585600354036003558683518781527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef833392a3338752818152828720610532878254611abc565b905561054086600b54611abc565b600b553387525261055b8186205491519283923396846119b5565b0390a2600160075580f35b845162461bcd60e51b81529283018990526022908301527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e9082015261636560f01b6064820152608490fd5b60217f45524332303a206275726e2066726f6d20746865207a65726f20616464726573929389608496519562461bcd60e51b8752860152840152820152607360f81b6064820152fd5b61061b91508a3d8c11610621575b6106138183611594565b810190611950565b8a610495565b503d610609565b85513d8a823e3d90fd5b855162461bcd60e51b81528085018b90526033818701527f496e73756666696369656e742068616c6f20746f6b656e2062616c616e63652081850152721a5b881cdd185ada5b99c818dbdb9d1c9858dd606a1b6064820152608490fd5b8092508c8092503d83116106bd575b6106a88183611594565b810103126106b9578190518c61045b565b8980fd5b503d61069e565b87513d8c823e3d90fd5b634e487b7160e01b8852601183528388fd5b50600e6d125b9d985b1a5908185b5bdd5b9d60921b929389606496519562461bcd60e51b8752860152840152820152fd5b50600f6e14dd185ad9481b9bdd08195b991959608a1b929389606496519562461bcd60e51b8752860152840152820152fd5b50600f6e14dd185ad9481b9bdd08199bdd5b99608a1b929389606496519562461bcd60e51b8752860152840152820152fd5b8680fd5b5050346101965780600319360112610196576020906107a3610799611531565b6024359033611688565b5160018152f35b9050823461084f578260031936011261084f576107c5611531565b918360243592338152600260205281812060018060a01b03861682526020522054908282106107fe576020856107a385850387336117f8565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b82843461084f578060031936011261084f578151918160055492600184811c91818616958615610963575b6020968785108114610950578899509688969785829a5291826000146109295750506001146108cd575b5050506108c992916108ba910385611594565b519282849384528301906114f1565b0390f35b9190869350600583527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db05b82841061091157505050820101816108ba6108c96108a7565b8054848a0186015288955087949093019281016108f8565b60ff19168782015293151560051b860190930193508492506108ba91506108c990506108a7565b634e487b7160e01b835260228a52602483fd5b92607f169261087d565b50503461019657816003193601126101965760085490516001600160a01b039091168152602090f35b50503461019657816003193601126101965760207f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258916109d46118fa565b6109dc61160d565b6109e46119d4565b600160ff19600654161760065551338152a1600160075580f35b505034610196578160031936011261019657602090600b549051908152f35b505034610196578160031936011261019657602090600a549051908152f35b90503461020c578160031936011261020c5781519082820182811067ffffffffffffffff821117610be6578352610a71611531565b82526020820191602435835284549260ff8460081c161593848095610bd9575b8015610bc2575b15610b685760ff198116600117875584610b57575b5081516001600160a01b039390841615610b22575051600a5551166bffffffffffffffffffffffff60a01b600954161760095582600b55610aec575080f35b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff001984541684555160018152a180f35b606490602087519162461bcd60e51b8352820152600f60248201526e496e76616c6964206164647265737360881b6044820152fd5b61ffff191661010117865538610aad565b855162461bcd60e51b8152602081860152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b158015610a985750600160ff821614610a98565b50600160ff821610610a91565b634e487b7160e01b855260418252602485fd5b9190503461020c57602036600319011261020c57610c156118fa565b610c1d61160d565b6064823511610c2f5782600160075580f35b906020606492519162461bcd60e51b83528201526015602482015274496e76616c696420696e746572657374207261746560581b6044820152fd5b833461084f578060031936011261084f57610c8361160d565b600880546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346101965760203660031901126101965760209181906001600160a01b03610cef611531565b1681526001845220549051908152f35b50503461019657816003193601126101965751908152602090f35b50503461019657816003193601126101965760209060ff6006541690519015158152f35b5050346101965760203660031901126101965760209181906001600160a01b03610d66611531565b168152600e845220549051908152f35b5050346101965760203660031901126101965760209181906001600160a01b03610d9e611531565b168152600d845220549051908152f35b90503461020c578260031936011261020c57610dc86118fa565b610dd061160d565b6006549060ff821615610e17575060ff1916600655513381527f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa90602090a1600160075580f35b606490602084519162461bcd60e51b8352820152601460248201527314185d5cd8589b194e881b9bdd081c185d5cd95960621b6044820152fd5b5050346101965780600319360112610196576107a3602092610e9a610e74611531565b338352600286528483206001600160a01b03821684528652918490205460243590611665565b90336117f8565b5050346101965781600319360112610196576020905160128152f35b50503461019657816003193601126101965760095490516001600160a01b039091168152602090f35b8391503461019657606036600319011261019657610f02611531565b610f0a61154c565b6001600160a01b03821684526002602090815285852033865290529284902054604435939260018201610f46575b6020866107a3878787611688565b848210610f6f5750918391610f64602096956107a3950333836117f8565b919394819350610f38565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346101965781600319360112610196576020906003549051908152f35b83833461019657606036600319011261019657610fec611531565b916024359260443567ffffffffffffffff811161020c5761101090369087016115b6565b6110186118fa565b6110206119d4565b60095484516323b872dd60e01b815233888201908152306020808301919091526040820189905297926001600160a01b039291899183918290036060019082908a9087165af19081156111cd579061107e9187916111b65750611968565b831692838552600d875285852061109581546119a6565b90556276a70042018042116111a3579161117281869593898b9c88829d7fc65e53b88159e7d2c0fc12a0600072e28ae53ff73b4c1715369c30f160935142998d6111318651966110e488611562565b600188528488019242845281890194855260608901958b875260808a01978289528252600c815282822090600d8152838320548352522096511515879060ff801983541691151516179055565b51600186015551600285015551600384015551910155868952600e8c5289892061115c838254611665565b905561116a82600b54611665565b600b55611a18565b838652600e895261118c87872054928851938493846119b5565b0390a28152600d8452205490600160075551908152f35b634e487b7160e01b865260118952602486fd5b61061b9150893d8b11610621576106138183611594565b87513d88823e3d90fd5b83833461019657806003193601126101965782359160243567ffffffffffffffff81116101965761120c8491369087016115b6565b6112146119d4565b61121c6118fa565b60095484516323b872dd60e01b8152338189019081523060208281019190915260408201989098529091879183916001600160a01b03169082908890829060600103925af19081156113cb57906112799185916113ae5750611968565b338352600d855283832061128d81546119a6565b90556276a700420180421161139b57907fc65e53b88159e7d2c0fc12a0600072e28ae53ff73b4c1715369c30f160935142918596978651916112ce83611562565b600183528983019042825288840190815260608401908782526080850192898452338a52600c8d528c600d8c8c2091528b8b20548b528d526113228b8b2096511515879060ff801983541691151516179055565b51600186015551600285015551600384015551910155338452600e875284842061134d848254611665565b905561135b83600b54611665565b600b556113688333611a18565b338452600e87528484205461138386519283923396846119b5565b0390a2338152600d8452205490600160075551908152f35b634e487b7160e01b845260118752602484fd5b6113c59150873d8911610621576106138183611594565b88610495565b85513d86823e3d90fd5b5050346101965780600319360112610196576020906107a36113f5611531565b60243590336117f8565b84843461019657816003193601126101965781845492600184811c918186169586156114e7575b6020968785108114610950579087899a92868b999a9b5291826000146114bd575050600114611462575b85886108c9896108ba848a0385611594565b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8284106114a557505050820101816108ba6108c988611450565b8054848a01860152889550879490930192810161148b565b60ff19168882015294151560051b870190940194508593506108ba92506108c99150899050611450565b92607f1692611426565b919082519283825260005b84811061151d575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016114fc565b600435906001600160a01b038216820361154757565b600080fd5b602435906001600160a01b038216820361154757565b60a0810190811067ffffffffffffffff82111761157e57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761157e57604052565b81601f820112156115475780359067ffffffffffffffff821161157e57604051926115eb601f8401601f191660200185611594565b8284526020838301011161154757816000926020809301838601378301015290565b6008546001600160a01b0316330361162157565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9190820180921161167257565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b039081169182156117a55716918215611754576000828152600160205260408120549180831061170057604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95876020965260018652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b039081169182156118a957169182156118595760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260028252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b60026007541461190b576002600755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90816020910312611547575180151581036115475790565b1561196f57565b60405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b60001981146116725760010190565b6119d193926060928252602082015281604082015201906114f1565b90565b60ff600654166119e057565b60405162461bcd60e51b815260206004820152601060248201526f14185d5cd8589b194e881c185d5cd95960821b6044820152606490fd5b6001600160a01b0316908115611a77577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602082611a5a600094600354611665565b6003558484526001825260408420818154019055604051908152a3565b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b919082039182116116725756fea264697066735822122068dea61597a0593967fa383278a0105f33f555ecdb5d4c934ce6a8e0761294bd64736f6c63430008120033"; type StakingConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/halo/vesting/Vesting__factory.ts b/typechain-types/factories/contracts/halo/vesting/Vesting__factory.ts index f609efe4f..3549b3c90 100644 --- a/typechain-types/factories/contracts/halo/vesting/Vesting__factory.ts +++ b/typechain-types/factories/contracts/halo/vesting/Vesting__factory.ts @@ -136,7 +136,7 @@ const _abi = [ }, ], internalType: "struct VestingMessage.InstantiateMsg", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -149,7 +149,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curVestingduration", + name: "vestingduration", type: "uint256", }, ], @@ -291,7 +291,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461006b5760008054336001600160a01b0319821681178355916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3600180556276a7006006556064600755610ac790816100718239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c908163143ee5b9146108c6575080631514617e146108a7578063199cbc54146108885780632e1a7d4d146105b35780632e8ddde61461058a57806346449c0a14610552578063715018a6146104f55780638da5cb5b146104cd5780638f09926d146103e7578063b6b55f25146101b9578063ba90f7f71461016c5763f2fde38b146100a757600080fd5b34610168576020366003190112610168576100c0610925565b906100c9610978565b6001600160a01b0391821692831561011657505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5034610168576020366003190112610168577fb7b5a40b70a653aaf2764d30cccd2772fa4fe6392aaea039690e58a6af7c07889160209135906101ad610978565b8160065551908152a180f35b509190346103e35760209081600319360112610168578335916101da610a0b565b82156103a15760025482516323b872dd60e01b81523387820152306024820152604481018590529082908290606490829089906001600160a01b03165af190811561039757859161036a575b501561033257610238600654426109e8565b8251906080820182811067ffffffffffffffff82111761031f5760059392916003918652868352838301904282528684019081526060840191898352338a528a8652878a20878752888b20548b528652878a209451855551600185015551600284015551910155338552528083208054906001820180921161030c57917f57d6cdb9093e3db9f8222703cbbd3f6d73f088a6e58ce922e2f9423aae7c1daa939161030293556102e9826003546109e8565b6003555133815260208101919091529081906040820190565b0390a16001805580f35b634e487b7160e01b855260118652602485fd5b634e487b7160e01b875260418852602487fd5b8490606492519162461bcd60e51b83528201526013602482015272151c985b9cd9995c919c9bdb4819985a5b1959606a1b6044820152fd5b61038a9150823d8411610390575b6103828183610940565b8101906109d0565b38610226565b503d610378565b83513d87823e3d90fd5b8490606492519162461bcd60e51b8352820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152fd5b5080fd5b509034610168576020366003190112610168578051916020830183811067ffffffffffffffff8211176104ba57825261041e610925565b8352600254926001600160a01b03918285166104815750917f69eb108008e037ecc9a4cdc3d3b1d62557945be21b836ce3565920f2128a348b9391602093511680926bffffffffffffffffffffffff60a01b16176002558460035551908152a180f35b606490602085519162461bcd60e51b83528201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152fd5b634e487b7160e01b855260418252602485fd5b5050346103e357816003193601126103e357905490516001600160a01b039091168152602090f35b833461054f578060031936011261054f5761050e610978565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b5050346103e35760203660031901126103e35760209181906001600160a01b0361057a610925565b1681526005845220549051908152f35b5050346103e357816003193601126103e35760025490516001600160a01b039091168152602090f35b50346101685760209182600319360112610884578135916105d2610a0b565b338552808452818520838652845260038083872001543387528286528387208588528652838720541461084557338652818552828620848752855261065e61063e6106236002868a20015442610a81565b338952848852858920878a5288526001868a20015490610a61565b338852838752848820868952875261065981868a2054610a6e565b610a6e565b61066a60065480610a6e565b90811561083257049133875280865283872085885286528184882001548311156107ef5786866106e560018060a01b036002541633845284835287842089855283526106bb86898620015488610a61565b885163a9059cbb60e01b815233878201908152602081019290925294859384928391604090910190565b03925af19081156107e55788916107c8575b501561079357606094927fcc2338396f9e3e56af6690c5351a7b1eede0fcdfa7fde6bce2c411f700275fc996949261077f92338a52808752848a20868b52875261075061074983878d20015485610a61565b8354610a61565b8255338a52808752848a20868b5287528282868c200155338a528652838920858a528652838920015490610a61565b815193338552840152820152a16001805580f35b835162461bcd60e51b8152908101869052600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b6107df9150873d8911610390576103828183610940565b386106f7565b85513d8a823e3d90fd5b61082e90845191829162461bcd60e51b8352820160609060208152601060208201526f4e6f7468696e6720746f20636c61696d60801b60408201520190565b0390fd5b634e487b7160e01b885260128452602488fd5b5061082e915191829162461bcd60e51b8352820160609060208152601060208201526f4e6f7468696e6720746f20636c61696d60801b60408201520190565b8380fd5b5050346103e357816003193601126103e3576020906003549051908152f35b5050346103e357816003193601126103e3576020906006549051908152f35b929190503461088457816003193601126108845760809382916001600160a01b036108ef610925565b16825260205281812060243582526020522080549160018201546003600284015493015493855260208501528301526060820152f35b600435906001600160a01b038216820361093b57565b600080fd5b90601f8019910116810190811067ffffffffffffffff82111761096257604052565b634e487b7160e01b600052604160045260246000fd5b6000546001600160a01b0316330361098c57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9081602091031261093b5751801515810361093b5790565b919082018092116109f557565b634e487b7160e01b600052601160045260246000fd5b600260015414610a1c576002600155565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b919082039182116109f557565b818102929181159184041417156109f557565b818110610a8c575090565b90509056fea26469706673582212201d70e5a414812f653941a53901a59451a1a4f11d3dd6e07be56a90812fd9079e64736f6c63430008120033"; + "0x6080806040523461006b5760008054336001600160a01b0319821681178355916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a3600180556276a7006006556064600755610ac790816100718239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c908163143ee5b9146108c6575080631514617e146108a7578063199cbc54146108885780632e1a7d4d146105b35780632e8ddde61461058a57806346449c0a14610552578063715018a6146104f55780638da5cb5b146104cd5780638f09926d146103e7578063b6b55f25146101b9578063ba90f7f71461016c5763f2fde38b146100a757600080fd5b34610168576020366003190112610168576100c0610925565b906100c9610978565b6001600160a01b0391821692831561011657505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5034610168576020366003190112610168577fb7b5a40b70a653aaf2764d30cccd2772fa4fe6392aaea039690e58a6af7c07889160209135906101ad610978565b8160065551908152a180f35b509190346103e35760209081600319360112610168578335916101da610a0b565b82156103a15760025482516323b872dd60e01b81523387820152306024820152604481018590529082908290606490829089906001600160a01b03165af190811561039757859161036a575b501561033257610238600654426109e8565b8251906080820182811067ffffffffffffffff82111761031f5760059392916003918652868352838301904282528684019081526060840191898352338a528a8652878a20878752888b20548b528652878a209451855551600185015551600284015551910155338552528083208054906001820180921161030c57917f57d6cdb9093e3db9f8222703cbbd3f6d73f088a6e58ce922e2f9423aae7c1daa939161030293556102e9826003546109e8565b6003555133815260208101919091529081906040820190565b0390a16001805580f35b634e487b7160e01b855260118652602485fd5b634e487b7160e01b875260418852602487fd5b8490606492519162461bcd60e51b83528201526013602482015272151c985b9cd9995c919c9bdb4819985a5b1959606a1b6044820152fd5b61038a9150823d8411610390575b6103828183610940565b8101906109d0565b38610226565b503d610378565b83513d87823e3d90fd5b8490606492519162461bcd60e51b8352820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152fd5b5080fd5b509034610168576020366003190112610168578051916020830183811067ffffffffffffffff8211176104ba57825261041e610925565b8352600254926001600160a01b03918285166104815750917f69eb108008e037ecc9a4cdc3d3b1d62557945be21b836ce3565920f2128a348b9391602093511680926bffffffffffffffffffffffff60a01b16176002558460035551908152a180f35b606490602085519162461bcd60e51b83528201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152fd5b634e487b7160e01b855260418252602485fd5b5050346103e357816003193601126103e357905490516001600160a01b039091168152602090f35b833461054f578060031936011261054f5761050e610978565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b80fd5b5050346103e35760203660031901126103e35760209181906001600160a01b0361057a610925565b1681526005845220549051908152f35b5050346103e357816003193601126103e35760025490516001600160a01b039091168152602090f35b50346101685760209182600319360112610884578135916105d2610a0b565b338552808452818520838652845260038083872001543387528286528387208588528652838720541461084557338652818552828620848752855261065e61063e6106236002868a20015442610a81565b338952848852858920878a5288526001868a20015490610a61565b338852838752848820868952875261065981868a2054610a6e565b610a6e565b61066a60065480610a6e565b90811561083257049133875280865283872085885286528184882001548311156107ef5786866106e560018060a01b036002541633845284835287842089855283526106bb86898620015488610a61565b885163a9059cbb60e01b815233878201908152602081019290925294859384928391604090910190565b03925af19081156107e55788916107c8575b501561079357606094927fcc2338396f9e3e56af6690c5351a7b1eede0fcdfa7fde6bce2c411f700275fc996949261077f92338a52808752848a20868b52875261075061074983878d20015485610a61565b8354610a61565b8255338a52808752848a20868b5287528282868c200155338a528652838920858a528652838920015490610a61565b815193338552840152820152a16001805580f35b835162461bcd60e51b8152908101869052600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b6107df9150873d8911610390576103828183610940565b386106f7565b85513d8a823e3d90fd5b61082e90845191829162461bcd60e51b8352820160609060208152601060208201526f4e6f7468696e6720746f20636c61696d60801b60408201520190565b0390fd5b634e487b7160e01b885260128452602488fd5b5061082e915191829162461bcd60e51b8352820160609060208152601060208201526f4e6f7468696e6720746f20636c61696d60801b60408201520190565b8380fd5b5050346103e357816003193601126103e3576020906003549051908152f35b5050346103e357816003193601126103e3576020906006549051908152f35b929190503461088457816003193601126108845760809382916001600160a01b036108ef610925565b16825260205281812060243582526020522080549160018201546003600284015493015493855260208501528301526060820152f35b600435906001600160a01b038216820361093b57565b600080fd5b90601f8019910116810190811067ffffffffffffffff82111761096257604052565b634e487b7160e01b600052604160045260246000fd5b6000546001600160a01b0316330361098c57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9081602091031261093b5751801515810361093b5790565b919082018092116109f557565b634e487b7160e01b600052601160045260246000fd5b600260015414610a1c576002600155565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b919082039182116109f557565b818102929181159184041417156109f557565b818110610a8c575090565b90509056fea2646970667358221220b6396aa336c7e97b9938bb832d06fed0ada12b453350678e30dffc18e06d408064736f6c63430008120033"; type VestingConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/integrations/goldfinch/GoldfinchVault__factory.ts b/typechain-types/factories/contracts/integrations/goldfinch/GoldfinchVault__factory.ts index a9860d4c2..5d89c84da 100644 --- a/typechain-types/factories/contracts/integrations/goldfinch/GoldfinchVault__factory.ts +++ b/typechain-types/factories/contracts/integrations/goldfinch/GoldfinchVault__factory.ts @@ -300,9 +300,21 @@ const _abi = [ name: "redeem", outputs: [ { - internalType: "uint256", + components: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, + ], + internalType: "struct IRouter.RedemptionResponse", name: "", - type: "uint256", + type: "tuple", }, ], stateMutability: "payable", @@ -349,7 +361,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080346200012457601f620021df38819003918201601f19168301916001600160401b03831184841017620001295780849260e0946040528339810103126200012457805190600282101562000124576200005d602082016200013f565b916200006c604083016200013f565b6200007a606084016200013f565b9262000089608082016200013f565b92620000a660c06200009e60a085016200013f565b93016200013f565b9360ff6000549160018060a01b0380988180988160018060a01b03199d168d6003541617600355168b600554161760055516896004541617600455610100600160a81b039060081b1692169060018060a81b0319161717600055168360015416176001551690600254161760025560405161208a9081620001558239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620001245756fe608060408181526004918236101561001657600080fd5b600092833560e01c918263034afe7b14610e2357508163150b7a0214610daa5781631c2a709b14610d6c57816320dcd90b1461082b5781634dc237721461059957816375baf37f1461057057816388bb447b146103ca57816389a302711461039e5781639fdafa6d14610375578163c2ec3be6146100d4575063e52022691461009e57600080fd5b346100d05760203660031901126100d0578060209263ffffffff6100c0610e48565b1681526006845220549051908152f35b5080fd5b905082602092836003193601126100d0576100ed610e48565b916100fe6100f9611048565b6111ae565b63ffffffff8316938482526006865261011b8383205415156111f0565b6005548583526006875283832054845163eb02c30160e01b808252848201929092526001600160a01b03979261018092908916918381602481865afa90811561036b5784929161017591899161034e575b505115156111f0565b84875260068b5260248888205491895194859384928352898301525afa9182156103175790849392918692610321575b505060a08860035416875195868092635c77d24760e11b82525afa9384156103175790899493929186946102e3575b50610209906101e289611ad6565b6101ed81518a6119ee565b9861020182516101fb6118d6565b90611960565b915190611edd565b96806102c4575b5084526007835284842060018101859055849055835460609290920151855163095ea7b360e01b81529088166001600160a01b0316918101918252602082018790529596949594859260081c16908290859082906040015b03925af180156102b85761027f575b505051908152f35b8482813d83116102b1575b6102948183610f55565b810103126102ae57506102a690610f77565b508380610277565b80fd5b503d61028a565b508251903d90823e3d90fd5b6102d7610268979887928695949661181f565b97965092909192610210565b6102099194506103099060a03d8111610310575b6103018183610f55565b810190610fcc565b93906101d4565b503d6102f7565b86513d87823e3d90fd5b6103409250803d10610347575b6103388183610f55565b81019061122a565b89806101a5565b503d61032e565b6103659150843d8611610347576103388183610f55565b8d61016c565b88513d89823e3d90fd5b5050346100d057816003193601126100d05760015490516001600160a01b039091168152602090f35b5050346100d057816003193601126100d0579054905160089190911c6001600160a01b03168152602090f35b90503461056c576020908160031936011261056857803567ffffffffffffffff928382116105645736602383011215610564578183013593841161056457602494600592368787861b830101116105605784936104286100f9611048565b6003548351635c77d24760e11b8152956001600160a01b03939160a0918891829087165afa958615610556578a96610536575b50895b888110610469578a80f35b8981841b830101358b63ffffffff82168083036100d057808d9183526006808b526104988a85205415156111f0565b888854169184528a5288832054908c8a51938493849263eb02c30160e01b84528301526101809384935afa92831561052b57926104eb94926104e6928d959261050e575b50505115156111f0565b61132f565b60001981146104fc5760010161045e565b634e487b7160e01b8b5260118852898bfd5b6105249250803d10610347576103388183610f55565b38806104dc565b8951903d90823e3d90fd5b61054f91965060a03d8111610310576103018183610f55565b943861045b565b84513d8c823e3d90fd5b8780fd5b8580fd5b8380fd5b8280fd5b5050346100d057816003193601126100d05760ff602092541690519061059581610e92565b8152f35b9050826105a536610e5b565b94919290936105b56100f9611048565b6105d060018060a01b03958680855460081c16911614610eb2565b63ffffffff841694858352602095600687526105f08585205415156111f0565b81600554169781855260068852858520549686519963eb02c30160e01b98898c52868c015261018098898c602481855afa9b8c156107da5788999a9b9c61064191899a9161080e57505115156111f0565b60a086600354168b51998a8092635c77d24760e11b82525afa97881561080457908b918a996107e4575b50858a5260068d5260248b8b2054918c51948593849283528b8301525afa998a156107da57889a6107b3575b505090816106a76106ba93611ad6565b6106b28a51826119ee565b995190611d37565b919080988061079f575b505069d3c21bcecceda100000080830283810482148415171561078c579387969383889361071d61070c8f9a97998f9a8f6102689f8e60019360079252528920015490611302565b83875260078b528d872054906112ef565b04918185526007895261073760018d872001918254611322565b905583526007875261074d8a8420918254611322565b9055606081835460081c16940151169188519788958694859363095ea7b360e01b8552840160209093929193604081019460018060a01b031681520152565b634e487b7160e01b885260118652602488fd5b6107ab9299508661181f565b9689806106c4565b6106ba93929a5090816107d192903d10610347576103388183610f55565b9890918b610697565b89513d8a823e3d90fd5b6107fd91995060a03d8111610310576103018183610f55565b978d61066b565b8a513d8b823e3d90fd5b61082591508d803d10610347576103388183610f55565b8e61016c565b905061083636610e5b565b92919390610842611048565b8015610cda575b15610ca857855460081c6001600160a01b039081169161086c9082168314610eb2565b6108746118d6565b9080855416968885519463556d6e9f60e01b86528188870152856001958660248301528a60448301528b82606460209a8b935afa918215610c9e57918a9b9c91899a9b99938692610c65575b50906108cf86949392826112ef565b606490046108dc91611322565b8b5163095ea7b360e01b8082526001600160a01b039093169a81019a8b5260208b018f9052919990949193849291839190829060400103925af18015610c5b5788928c97969594928c92610c1a575b50908260849287835416908d519a8b968795630b68372160e31b87528601528a6024860152604485015260648401525af1938415610ac2578a94610be7575b5063ffffffff1693848a5260068652868a20548015600014610acc5750825460055488519283526001600160a01b039084161689830190815260208101869052879183918290036040019082908e9087165af18015610ac2579184918793610a82575b5060449060055416988b89519a8b9485936310087fb160e01b85528401528160248401525af1958615610a78578896610a40575b50610a35906006959697848a5260078652610a20888b20918254610f84565b90558389526007855286892001918254610f84565b905585525282205580f35b909495508381813d8311610a71575b610a598183610f55565b81010312610a6c57519493610a35610a01565b600080fd5b503d610a4f565b85513d8a823e3d90fd5b8381949293503d8311610abb575b610a9a8183610f55565b81010312610ab75760448491610ab08894610f77565b50906109cd565b8980fd5b503d610a90565b87513d8c823e3d90fd5b835460055489519384526001600160a01b03908516168a8401908152602081018790529a9b9a9599949897969591939291879183918290036040019082908e9087165af18015610ac257610bb3575b506005541691823b15610baf579060448992838851958694859363a9f4939d60e01b85528401528b60248401525af18015610ba557610b89575b5090818697600793610b84979852838352610b74858a20918254610f84565b9055875252842001918254610f84565b905580f35b90610b849596610b9b60079493610ef3565b9695509091610b55565b84513d89823e3d90fd5b8880fd5b8581813d8311610be0575b610bc88183610f55565b81010312610ab757610bd990610f77565b5038610b1b565b503d610bbe565b9093508581813d8311610c13575b610bff8183610f55565b81010312610ab757519263ffffffff61096a565b503d610bf5565b975092905086813d8311610c54575b610c338183610f55565b810103126102ae5760848a828a94610c4b8f9a610f77565b5091925061092b565b503d610c29565b89513d85823e3d90fd5b92995092905081813d8311610c97575b610c7f8183610f55565b8101031261056857518a9789929091906108cf6108c0565b503d610c75565b89513d86823e3d90fd5b815162461bcd60e51b8152602081850152600c60248201526b139bdd08185c1c1c9bdd995960a21b6044820152606490fd5b506003546001600160a01b0390811660a0610cf36110b3565b60248651809481936342b8c5e960e01b835263ffffffff60e01b168a8301525afa908115610d625760209182918a91610d34575b5001510151163314610849565b610d55915060a03d8111610d5b575b610d4d8183610f55565b810190611152565b38610d27565b503d610d43565b84513d8a823e3d90fd5b5050346100d05760203660031901126100d057809163ffffffff610d8e610e48565b1681526007602052206001815491015482519182526020820152f35b90503461056c57608036600319011261056c576001600160a01b03813581811603610568576024359081160361056c576064359067ffffffffffffffff90818311610e1f5736602384011215610e1f5782013590811161056857369101602401116100d05751630a85bd0160e11b8152602090f35b8480fd5b8490346100d057816003193601126100d0576002546001600160a01b03168152602090f35b6004359063ffffffff82168203610a6c57565b6060906003190112610a6c5760043563ffffffff81168103610a6c57906024356001600160a01b0381168103610a6c579060443590565b60021115610e9c57565b634e487b7160e01b600052602160045260246000fd5b15610eb957565b60405162461bcd60e51b815260206004820152601260248201527113db9b1e481554d110c81858d8d95c1d195960721b6044820152606490fd5b67ffffffffffffffff8111610f0757604052565b634e487b7160e01b600052604160045260246000fd5b60c0810190811067ffffffffffffffff821117610f0757604052565b6020810190811067ffffffffffffffff821117610f0757604052565b90601f8019910116810190811067ffffffffffffffff821117610f0757604052565b51908115158203610a6c57565b91908201809211610f9157565b634e487b7160e01b600052601160045260246000fd5b519063ffffffff82168203610a6c57565b51906001600160a01b0382168203610a6c57565b908160a0910312610a6c576040519060a0820182811067ffffffffffffffff821117610f07576110409160809160405261100581610fa7565b845261101360208201610fa7565b602085015261102460408201610fb8565b604085015261103560608201610fb8565b606085015201610fb8565b608082015290565b600354604051635c77d24760e11b81526001600160a01b039160a0908290600490829086165afa80156110a757606091600091611089575b50015116331490565b6110a1915060a03d8111610310576103018183610f55565b38611080565b6040513d6000823e3d90fd5b6040516020810160208152600960408301526808eded8c8ccd2dcc6d60bb1b6060830152606082526080820182811067ffffffffffffffff821117610f0757604052905190206001600160e01b03191690565b9190826040910312610a6c576040516040810181811067ffffffffffffffff821117610f075760405280928051906002821015610a6c57602061114d918193855201610fb8565b910152565b60a081830312610a6c57604051916060830183811067ffffffffffffffff821117610f075760405281516004811015610a6c576111a692606091855261119b8360208301611106565b602086015201611106565b604082015290565b156111b557565b60405162461bcd60e51b81526020600482015260136024820152722737ba1030b8383937bb32b2102937baba32b960691b6044820152606490fd5b156111f757565b60405162461bcd60e51b815260206004820152600b60248201526a2737903837b9b4ba34b7b760a91b6044820152606490fd5b809103906101808212610a6c57604080519260e084019084821067ffffffffffffffff831117610f075760c091835283518552601f190112610a6c57805161127181610f1d565b602083015181528183015160208201526060830151828201526080830151606082015260a0830151608082015260c083015160a0820152602084015260e0820151908301526101008101516060830152610120810151906002821015610a6c5761016091608084015261014081015160a0840152015160c082015290565b81810292918115918404141715610f9157565b811561130c570490565b634e487b7160e01b600052601260045260246000fd5b91908203918211610f9157565b60018060a01b0380600554169063ffffffff918284169160009383855260206006815260409687872054948851809163eb02c30160e01b8252600497888301528160246101809485935afa918215610804578992611802575b505061139382611ad6565b61139e8151836119ee565b9384156117f557878952600784526113cf69d3c21bcecceda10000006113c7878d8d20546112ef565b048096611ca2565b94600160ff8b54166113e081610e92565b1461172a5790879160c088600354168d519485809263edbcc59960e01b82525afa928315611720579386938993898c98948f98899461166a575b509061142591611322565b818784015116611434916112ef565b9160a001511661144391611302565b9051906114509089610f84565b9061145a92611d37565b8a859e929e52600784528c85206001019081549061147791611322565b90558354908c01518c5163a9059cbb60e01b8082529184166001600160a01b03169681019687526020870189905290959094859384928390604001039360081c165af19081156107da578891611635575b50156115de57836003541660a06114dd6110b3565b60248b51809481936342b8c5e960e01b835263ffffffff60e01b168b8301525afa9081156107da578a8a9285928b91611617575b50888b858a825460081c1693019661155a6115338b8d898c5101511697611322565b9751978896879586948552840160209093929193604081019460018060a01b031681520152565b03925af19081156107da5788916115e2575b50156115de5761158a929184915101511692865460081c1697611322565b813b15610e1f5791846064928195948851998a9687956320dcd90b60e01b8752860152602485015260448401525af19182156115d45750506115c95750565b6115d290610ef3565b565b51903d90823e3d90fd5b8680fd5b90508281813d8311611610575b6115f98183610f55565b810103126105605761160a90610f77565b3861156c565b503d6115ef565b61162f915060a03d8111610d5b57610d4d8183610f55565b38611511565b90508281813d8311611663575b61164c8183610f55565b810103126105605761165d90610f77565b386114c8565b503d611642565b959950965050935050935060c0813d8211611718575b8161168d60c09383610f55565b8101031261171457938a93869389936114258f806117078f9b60a0908f9451936116b685610f1d565b6116bf82610f77565b85526116cc8d8301610fa7565b8d8601526116db818301610fa7565b908501526116eb60608201610f77565b60608501526116fc60808201610fa7565b608085015201610fa7565b60a082015293909161141a565b8a80fd5b3d9150611680565b8c513d8d823e3d90fd5b50509461174483979694899b936117839795965190611d37565b9a90938a81835460081c1694015116918a519687958694859363a9059cbb60e01b8552840160209093929193604081019460018060a01b031681520152565b03925af19081156117eb5784916117b6575b501561056c5782526007905220600101805490916117b291611322565b9055565b90508281813d83116117e4575b6117cd8183610f55565b81010312610568576117de90610f77565b38611795565b503d6117c3565b85513d86823e3d90fd5b5050505050505050505050565b6118189250803d10610347576103388183610f55565b3880611388565b9291908161182c91611ca2565b60008054604095860151955163a9059cbb60e01b81526001600160a01b039687166004820152602481018490529195929392602091839160449183918a9160081c165af19081156118cb578591611892575b50156105685761188f929350611322565b90565b90506020813d82116118c3575b816118ac60209383610f55565b81010312610e1f576118bd90610f77565b3861187e565b3d915061189f565b6040513d87823e3d90fd5b6003546040516306e7f2fd60e11b815290602090829060049082906001600160a01b03165afa9081156110a757600091611911575b50515190565b906020823d8211611958575b8161192a60209383610f55565b810103126102ae57506040519061194082610f39565b6040519061194d82610f39565b51815281523861190b565b3d915061191d565b602060018060a01b03600454169160646040518094819363556d6e9f60e01b8352600160048401526000602484015260448301525afa9081156110a7576000916119bc575b5060646119b561188f93836112ef565b0490611322565b906020823d82116119e6575b816119d560209383610f55565b810103126102ae57505160646119a5565b3d91506119c8565b919063ffffffff6000931683526007602052604083205490602060018060a01b03600454169160646040518094819363556d6e9f60e01b83526001600484015289602484015260448301525afa908115611acb578491611a9a575b50818110611a965781611a5b91611322565b69d3c21bcecceda100000090818102918183041490151715611a825761188f929350611302565b634e487b7160e01b84526011600452602484fd5b5050565b90506020813d8211611ac3575b81611ab460209383610f55565b81010312610568575138611a49565b3d9150611aa7565b6040513d86823e3d90fd5b6005549060009163ffffffff60018060a01b03809216921683526020906006825260409283852054813b156105645785916024839287519485938492631c4b774b60e01b845260048401525af18015611c9857611c85575b5080600254168351916370a0823160e01b83523060048401528383602481855afa928315611c7b578693611c4c575b50600460a08260035416875192838092635c77d24760e11b82525afa908115611c4257918686959392611bc89795938a91611c24575b5001511687875180978195829463a9059cbb60e01b84526004840160209093929193604081019460018060a01b031681520152565b03925af1928315611c1b57508392611be5575b5050156102ae5750565b90809250813d8311611c14575b611bfc8183610f55565b810103126100d057611c0d90610f77565b3880611bdb565b503d611bf2565b513d85823e3d90fd5b611c3c915060a03d8111610310576103018183610f55565b38611b93565b86513d89823e3d90fd5b9092508381813d8311611c74575b611c648183610f55565b81010312610a6c57519138611b5d565b503d611c5a565b85513d88823e3d90fd5b611c9190949194610ef3565b9238611b2e565b84513d87823e3d90fd5b600354604051635c77d24760e11b8152919060a090839060049082906001600160a01b03165afa80156110a75769d3c21bcecceda100000093611d1193600092611d15575b50611cf291926112ef565b6020611d0763ffffffff9283855116906112ef565b9201511690611302565b0490565b611cf29250611d319060a03d8111610310576103018183610f55565b91611ce7565b90929160049060018060a01b0382541690604051809263556d6e9f60e01b825260018583015260009081602484015288604484015282606460209687935afa918215611ed0578192611ea1575b508115611e655769d3c21bcecceda1000000918281029081048303611e525788611dad91611302565b92828102928184041490151715611e3f575090611dc991611302565b948511611df2575050611dee9083611de8611de26118d6565b82611960565b91611edd565b9190565b60405162461bcd60e51b815291820152602160248201527f43616e6e6f742072656465656d206d6f7265207468616e20617661696c61626c6044820152606560f81b606482015260849150fd5b634e487b7160e01b815260118552602490fd5b634e487b7160e01b825260118652602482fd5b60405162461bcd60e51b81528086018590526015602482015274496e76616c69642065786368616e6765207261746560581b6044820152606490fd5b9091508381813d8311611ec9575b611eb98183610f55565b810103126100d057519038611d84565b503d611eaf565b50604051903d90823e3d90fd5b916005549060009063ffffffff60018060a01b03809416951682526020926006845260409586842054813b15610e1f578491604483928a519485938492639e2c8a5b60e01b845260048401528b60248401525af1801561203757612041575b5060015460048054885163095ea7b360e01b81529084166001600160a01b03169181019190915260248101879052908590829084168187816044810103925af18015612037579085939291611ffc575b5060849060045416958488519788948593630b68372160e31b855260016004860152836024860152604485015260648401525af19384156115d4575092611fd257505090565b90809250813d8311611ff5575b611fe98183610f55565b81010312610a6c575190565b503d611fdf565b90919281813d8311612030575b6120138183610f55565b8101031261056857849291612029608492610f77565b5090611f8c565b503d612009565b87513d86823e3d90fd5b61204d90939193610ef3565b9138611f3c56fea2646970667358221220abe905a9de42a99f322ba6c6db1d21429076d53599ee191bd078c8a5c2f83fe764736f6c63430008120033"; + "0x6080346200012457601f620022b938819003918201601f19168301916001600160401b03831184841017620001295780849260e0946040528339810103126200012457805190600282101562000124576200005d602082016200013f565b916200006c604083016200013f565b6200007a606084016200013f565b9262000089608082016200013f565b92620000a660c06200009e60a085016200013f565b93016200013f565b9360ff6000549160018060a01b0380988180988160018060a01b03199d168d6003541617600355168b600554161760055516896004541617600455610100600160a81b039060081b1692169060018060a81b031916171760005516836001541617600155169060025416176002556040516121649081620001558239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b0382168203620001245756fe608060408181526004918236101561001657600080fd5b600092833560e01c918263034afe7b14610ede57508163150b7a0214610e655781631c2a709b14610e2757816320dcd90b146108e65781634dc237721461059957816375baf37f1461057057816388bb447b146103ca57816389a302711461039e5781639fdafa6d14610375578163c2ec3be6146100d4575063e52022691461009e57600080fd5b346100d05760203660031901126100d0578060209263ffffffff6100c0610f03565b1681526006845220549051908152f35b5080fd5b905082602092836003193601126100d0576100ed610f03565b916100fe6100f961111f565b611274565b63ffffffff8316938482526006865261011b8383205415156112b6565b6005548583526006875283832054845163eb02c30160e01b808252848201929092526001600160a01b03979261018092908916918381602481865afa90811561036b5784929161017591899161034e575b505115156112b6565b84875260068b5260248888205491895194859384928352898301525afa9182156103175790849392918692610321575b505060a08860035416875195868092635c77d24760e11b82525afa9384156103175790899493929186946102e3575b50610209906101e289611bb0565b6101ed81518a611ac8565b9861020182516101fb6119b0565b90611a3a565b915190611fb7565b96806102c4575b5084526007835284842060018101859055849055835460609290920151855163095ea7b360e01b81529088166001600160a01b0316918101918252602082018790529596949594859260081c16908290859082906040015b03925af180156102b85761027f575b505051908152f35b8482813d83116102b1575b610294818361102c565b810103126102ae57506102a69061104e565b508380610277565b80fd5b503d61028a565b508251903d90823e3d90fd5b6102d761026897988792869594966118f9565b97965092909192610210565b6102099194506103099060a03d8111610310575b610301818361102c565b8101906110a3565b93906101d4565b503d6102f7565b86513d87823e3d90fd5b6103409250803d10610347575b610338818361102c565b8101906112f0565b89806101a5565b503d61032e565b6103659150843d861161034757610338818361102c565b8d61016c565b88513d89823e3d90fd5b5050346100d057816003193601126100d05760015490516001600160a01b039091168152602090f35b5050346100d057816003193601126100d0579054905160089190911c6001600160a01b03168152602090f35b90503461056c576020908160031936011261056857803567ffffffffffffffff928382116105645736602383011215610564578183013593841161056457602494600592368787861b830101116105605784936104286100f961111f565b6003548351635c77d24760e11b8152956001600160a01b03939160a0918891829087165afa958615610556578a96610536575b50895b888110610469578a80f35b8981841b830101358b63ffffffff82168083036100d057808d9183526006808b526104988a85205415156112b6565b888854169184528a5288832054908c8a51938493849263eb02c30160e01b84528301526101809384935afa92831561052b57926104eb94926104e6928d959261050e575b50505115156112b6565b6113f5565b60001981146104fc5760010161045e565b634e487b7160e01b8b5260118852898bfd5b6105249250803d1061034757610338818361102c565b38806104dc565b8951903d90823e3d90fd5b61054f91965060a03d811161031057610301818361102c565b943861045b565b84513d8c823e3d90fd5b8780fd5b8580fd5b8380fd5b8280fd5b5050346100d057816003193601126100d05760ff602092541690519061059581610f4d565b8152f35b8391506105a536610f16565b85519294916105b384610fd8565b828452826020809501526105c86100f961111f565b6105e360018060a01b03918280865460081c16911614610f6d565b63ffffffff861691828452600685526106008885205415156112b6565b816005541696838552600686528885205489519863eb02c30160e01b91828b52898b0152610180998a81602481855afa9081156108bf578a969594939291610651918a916108c957505115156112b6565b60a085600354168d5197888092635c77d24760e11b82525afa9586156108bf578c928c928c928b9961089a575b50906024918a8c5260068d52858c20549551958694859384528301525afa998a1561089057879a610869575b505090816106ba6106cd93611bb0565b6106c58a5182611ac8565b995190611e11565b90809880610855575b505069d3c21bcecceda100000080820282810482148315171561084257928a8a93610744600161079a98956107308b868f9b8f906107219060078f86855252878484200154906113c8565b92815260078d522054906113b5565b04938a8c52600789528b20019182546113e8565b90558688526007855261075b8c89209182546113e8565b9055606081885460081c1692015116868b5180968195829463095ea7b360e01b84528d840160209093929193604081019460018060a01b031681520152565b03925af1801561083857610804575b508551946107b686610fd8565b8552828501906001825282526007835285822054156107fb575b855194518552519260058410156107e8575050820152f35b634e487b7160e01b825260219052602490fd5b600281526107d0565b8381813d8311610831575b610819818361102c565b8101031261056c5761082a9061104e565b50866107a9565b503d61080f565b87513d85823e3d90fd5b634e487b7160e01b875260118952602487fd5b610861929950846118f9565b9689806106d6565b6106cd93929a50908161088792903d1061034757610338818361102c565b9890918b6106aa565b8b513d89823e3d90fd5b6024929199506108b79060a03d811161031057610301818361102c565b98909161067e565b8c513d8a823e3d90fd5b6108e091508d803d1061034757610338818361102c565b8e61016c565b90506108f136610f16565b929193906108fd61111f565b8015610d95575b15610d6357855460081c6001600160a01b03908116916109279082168314610f6d565b61092f6119b0565b9080855416968885519463556d6e9f60e01b86528188870152856001958660248301528a60448301528b82606460209a8b935afa918215610d5957918a9b9c91899a9b99938692610d20575b509061098a86949392826113b5565b60649004610997916113e8565b8b5163095ea7b360e01b8082526001600160a01b039093169a81019a8b5260208b018f9052919990949193849291839190829060400103925af18015610d165788928c97969594928c92610cd5575b50908260849287835416908d519a8b968795630b68372160e31b87528601528a6024860152604485015260648401525af1938415610b7d578a94610ca2575b5063ffffffff1693848a5260068652868a20548015600014610b875750825460055488519283526001600160a01b039084161689830190815260208101869052879183918290036040019082908e9087165af18015610b7d579184918793610b3d575b5060449060055416988b89519a8b9485936310087fb160e01b85528401528160248401525af1958615610b33578896610afb575b50610af0906006959697848a5260078652610adb888b2091825461105b565b9055838952600785528689200191825461105b565b905585525282205580f35b909495508381813d8311610b2c575b610b14818361102c565b81010312610b2757519493610af0610abc565b600080fd5b503d610b0a565b85513d8a823e3d90fd5b8381949293503d8311610b76575b610b55818361102c565b81010312610b725760448491610b6b889461104e565b5090610a88565b8980fd5b503d610b4b565b87513d8c823e3d90fd5b835460055489519384526001600160a01b03908516168a8401908152602081018790529a9b9a9599949897969591939291879183918290036040019082908e9087165af18015610b7d57610c6e575b506005541691823b15610c6a579060448992838851958694859363a9f4939d60e01b85528401528b60248401525af18015610c6057610c44575b5090818697600793610c3f979852838352610c2f858a2091825461105b565b905587525284200191825461105b565b905580f35b90610c3f9596610c5660079493610fae565b9695509091610c10565b84513d89823e3d90fd5b8880fd5b8581813d8311610c9b575b610c83818361102c565b81010312610b7257610c949061104e565b5038610bd6565b503d610c79565b9093508581813d8311610cce575b610cba818361102c565b81010312610b7257519263ffffffff610a25565b503d610cb0565b975092905086813d8311610d0f575b610cee818361102c565b810103126102ae5760848a828a94610d068f9a61104e565b509192506109e6565b503d610ce4565b89513d85823e3d90fd5b92995092905081813d8311610d52575b610d3a818361102c565b8101031261056857518a97899290919061098a61097b565b503d610d30565b89513d86823e3d90fd5b815162461bcd60e51b8152602081850152600c60248201526b139bdd08185c1c1c9bdd995960a21b6044820152606490fd5b506003546001600160a01b0390811660a0610dae61118a565b60248651809481936342b8c5e960e01b835263ffffffff60e01b168a8301525afa908115610e1d5760209182918a91610def575b5001510151163314610904565b610e10915060a03d8111610e16575b610e08818361102c565b810190611218565b38610de2565b503d610dfe565b84513d8a823e3d90fd5b5050346100d05760203660031901126100d057809163ffffffff610e49610f03565b1681526007602052206001815491015482519182526020820152f35b90503461056c57608036600319011261056c576001600160a01b03813581811603610568576024359081160361056c576064359067ffffffffffffffff90818311610eda5736602384011215610eda5782013590811161056857369101602401116100d05751630a85bd0160e11b8152602090f35b8480fd5b8490346100d057816003193601126100d0576002546001600160a01b03168152602090f35b6004359063ffffffff82168203610b2757565b6060906003190112610b275760043563ffffffff81168103610b2757906024356001600160a01b0381168103610b27579060443590565b60021115610f5757565b634e487b7160e01b600052602160045260246000fd5b15610f7457565b60405162461bcd60e51b815260206004820152601260248201527113db9b1e481554d110c81858d8d95c1d195960721b6044820152606490fd5b67ffffffffffffffff8111610fc257604052565b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610fc257604052565b60c0810190811067ffffffffffffffff821117610fc257604052565b6020810190811067ffffffffffffffff821117610fc257604052565b90601f8019910116810190811067ffffffffffffffff821117610fc257604052565b51908115158203610b2757565b9190820180921161106857565b634e487b7160e01b600052601160045260246000fd5b519063ffffffff82168203610b2757565b51906001600160a01b0382168203610b2757565b908160a0910312610b27576040519060a0820182811067ffffffffffffffff821117610fc257611117916080916040526110dc8161107e565b84526110ea6020820161107e565b60208501526110fb6040820161108f565b604085015261110c6060820161108f565b60608501520161108f565b608082015290565b600354604051635c77d24760e11b81526001600160a01b039160a0908290600490829086165afa801561117e57606091600091611160575b50015116331490565b611178915060a03d811161031057610301818361102c565b38611157565b6040513d6000823e3d90fd5b6040516020810160208152600960408301526808eded8c8ccd2dcc6d60bb1b6060830152606082526080820182811067ffffffffffffffff821117610fc257604052905190206001600160e01b03191690565b9190826040910312610b27576040516111f581610fd8565b80928051906002821015610b2757602061121391819385520161108f565b910152565b60a081830312610b2757604051916060830183811067ffffffffffffffff821117610fc25760405281516004811015610b275761126c92606091855261126183602083016111dd565b6020860152016111dd565b604082015290565b1561127b57565b60405162461bcd60e51b81526020600482015260136024820152722737ba1030b8383937bb32b2102937baba32b960691b6044820152606490fd5b156112bd57565b60405162461bcd60e51b815260206004820152600b60248201526a2737903837b9b4ba34b7b760a91b6044820152606490fd5b809103906101808212610b2757604080519260e084019084821067ffffffffffffffff831117610fc25760c091835283518552601f190112610b2757805161133781610ff4565b602083015181528183015160208201526060830151828201526080830151606082015260a0830151608082015260c083015160a0820152602084015260e0820151908301526101008101516060830152610120810151906002821015610b275761016091608084015261014081015160a0840152015160c082015290565b8181029291811591840414171561106857565b81156113d2570490565b634e487b7160e01b600052601260045260246000fd5b9190820391821161106857565b60018060a01b0380600554169063ffffffff918284169160009383855260206006815260409687872054948851809163eb02c30160e01b8252600497888301528160246101809485935afa9182156118ef5789926118d2575b505061145982611bb0565b611464815183611ac8565b9384156118c5578789526007845261149569d3c21bcecceda100000061148d878d8d20546113b5565b048096611d7c565b94600160ff8b54166114a681610f4d565b146117fa5790879160c088600354168d519485809263edbcc59960e01b82525afa9283156117f0579386938993898c98948f98899461173a575b50906114eb916113e8565b8187840151166114fa916113b5565b9160a0015116611509916113c8565b905190611516908961105b565b9061152092611e11565b8a859e929e52600784528c85206001019081549061153d916113e8565b90558354908c01518c5163a9059cbb60e01b8082529184166001600160a01b03169681019687526020870189905290959094859384928390604001039360081c165af19081156116dd578891611705575b50156116a457836003541660a06115a361118a565b60248b51809481936342b8c5e960e01b835263ffffffff60e01b168b8301525afa9081156116dd578a8a9285928b916116e7575b50888b858a825460081c169301966116206115f98b8d898c51015116976113e8565b9751978896879586948552840160209093929193604081019460018060a01b031681520152565b03925af19081156116dd5788916116a8575b50156116a457611650929184915101511692865460081c16976113e8565b813b15610eda5791846064928195948851998a9687956320dcd90b60e01b8752860152602485015260448401525af191821561169a57505061168f5750565b61169890610fae565b565b51903d90823e3d90fd5b8680fd5b90508281813d83116116d6575b6116bf818361102c565b81010312610560576116d09061104e565b38611632565b503d6116b5565b89513d8a823e3d90fd5b6116ff915060a03d8111610e1657610e08818361102c565b386115d7565b90508281813d8311611733575b61171c818361102c565b810103126105605761172d9061104e565b3861158e565b503d611712565b959950965050935050935060c0813d82116117e8575b8161175d60c0938361102c565b810103126117e457938a93869389936114eb8f806117d78f9b60a0908f94519361178685610ff4565b61178f8261104e565b855261179c8d830161107e565b8d8601526117ab81830161107e565b908501526117bb6060820161104e565b60608501526117cc6080820161107e565b60808501520161107e565b60a08201529390916114e0565b8a80fd5b3d9150611750565b8c513d8d823e3d90fd5b50509461181483979694899b936118539795965190611e11565b9a90938a81835460081c1694015116918a519687958694859363a9059cbb60e01b8552840160209093929193604081019460018060a01b031681520152565b03925af19081156118bb578491611886575b501561056c578252600790522060010180549091611882916113e8565b9055565b90508281813d83116118b4575b61189d818361102c565b81010312610568576118ae9061104e565b38611865565b503d611893565b85513d86823e3d90fd5b5050505050505050505050565b6118e89250803d1061034757610338818361102c565b388061144e565b8a513d8b823e3d90fd5b9291908161190691611d7c565b60008054604095860151955163a9059cbb60e01b81526001600160a01b039687166004820152602481018490529195929392602091839160449183918a9160081c165af19081156119a557859161196c575b5015610568576119699293506113e8565b90565b90506020813d821161199d575b816119866020938361102c565b81010312610eda576119979061104e565b38611958565b3d9150611979565b6040513d87823e3d90fd5b6003546040516306e7f2fd60e11b815290602090829060049082906001600160a01b03165afa90811561117e576000916119eb575b50515190565b906020823d8211611a32575b81611a046020938361102c565b810103126102ae575060405190611a1a82611010565b60405190611a2782611010565b5181528152386119e5565b3d91506119f7565b602060018060a01b03600454169160646040518094819363556d6e9f60e01b8352600160048401526000602484015260448301525afa90811561117e57600091611a96575b506064611a8f61196993836113b5565b04906113e8565b906020823d8211611ac0575b81611aaf6020938361102c565b810103126102ae5750516064611a7f565b3d9150611aa2565b919063ffffffff6000931683526007602052604083205490602060018060a01b03600454169160646040518094819363556d6e9f60e01b83526001600484015289602484015260448301525afa908115611ba5578491611b74575b50818110611b705781611b35916113e8565b69d3c21bcecceda100000090818102918183041490151715611b5c576119699293506113c8565b634e487b7160e01b84526011600452602484fd5b5050565b90506020813d8211611b9d575b81611b8e6020938361102c565b81010312610568575138611b23565b3d9150611b81565b6040513d86823e3d90fd5b6005549060009163ffffffff60018060a01b03809216921683526020906006825260409283852054813b156105645785916024839287519485938492631c4b774b60e01b845260048401525af18015611d7257611d5f575b5080600254168351916370a0823160e01b83523060048401528383602481855afa928315611d55578693611d26575b50600460a08260035416875192838092635c77d24760e11b82525afa908115611d1c57918686959392611ca29795938a91611cfe575b5001511687875180978195829463a9059cbb60e01b84526004840160209093929193604081019460018060a01b031681520152565b03925af1928315611cf557508392611cbf575b5050156102ae5750565b90809250813d8311611cee575b611cd6818361102c565b810103126100d057611ce79061104e565b3880611cb5565b503d611ccc565b513d85823e3d90fd5b611d16915060a03d811161031057610301818361102c565b38611c6d565b86513d89823e3d90fd5b9092508381813d8311611d4e575b611d3e818361102c565b81010312610b2757519138611c37565b503d611d34565b85513d88823e3d90fd5b611d6b90949194610fae565b9238611c08565b84513d87823e3d90fd5b600354604051635c77d24760e11b8152919060a090839060049082906001600160a01b03165afa801561117e5769d3c21bcecceda100000093611deb93600092611def575b50611dcc91926113b5565b6020611de163ffffffff9283855116906113b5565b92015116906113c8565b0490565b611dcc9250611e0b9060a03d811161031057610301818361102c565b91611dc1565b90929160049060018060a01b0382541690604051809263556d6e9f60e01b825260018583015260009081602484015288604484015282606460209687935afa918215611faa578192611f7b575b508115611f3f5769d3c21bcecceda1000000918281029081048303611f2c5788611e87916113c8565b92828102928184041490151715611f19575090611ea3916113c8565b948511611ecc575050611ec89083611ec2611ebc6119b0565b82611a3a565b91611fb7565b9190565b60405162461bcd60e51b815291820152602160248201527f43616e6e6f742072656465656d206d6f7265207468616e20617661696c61626c6044820152606560f81b606482015260849150fd5b634e487b7160e01b815260118552602490fd5b634e487b7160e01b825260118652602482fd5b60405162461bcd60e51b81528086018590526015602482015274496e76616c69642065786368616e6765207261746560581b6044820152606490fd5b9091508381813d8311611fa3575b611f93818361102c565b810103126100d057519038611e5e565b503d611f89565b50604051903d90823e3d90fd5b916005549060009063ffffffff60018060a01b03809416951682526020926006845260409586842054813b15610eda578491604483928a519485938492639e2c8a5b60e01b845260048401528b60248401525af180156121115761211b575b5060015460048054885163095ea7b360e01b81529084166001600160a01b03169181019190915260248101879052908590829084168187816044810103925af180156121115790859392916120d6575b5060849060045416958488519788948593630b68372160e31b855260016004860152836024860152604485015260648401525af193841561169a5750926120ac57505090565b90809250813d83116120cf575b6120c3818361102c565b81010312610b27575190565b503d6120b9565b90919281813d831161210a575b6120ed818361102c565b810103126105685784929161210360849261104e565b5090612066565b503d6120e3565b87513d86823e3d90fd5b61212790939193610fae565b913861201656fea26469706673582212200a9135828708b08f2ab0ee7f974f617144898272c4cc4d4c238794c0f1c2ff2964736f6c63430008120033"; type GoldfinchVaultConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/integrations/goldfinch/ICurveLP__factory.ts b/typechain-types/factories/contracts/integrations/goldfinch/ICurveLP.sol/IveLP__factory.ts similarity index 91% rename from typechain-types/factories/contracts/integrations/goldfinch/ICurveLP__factory.ts rename to typechain-types/factories/contracts/integrations/goldfinch/ICurveLP.sol/IveLP__factory.ts index 1852d0247..ed8bf69e5 100644 --- a/typechain-types/factories/contracts/integrations/goldfinch/ICurveLP__factory.ts +++ b/typechain-types/factories/contracts/integrations/goldfinch/ICurveLP.sol/IveLP__factory.ts @@ -5,9 +5,9 @@ import { Contract, Signer, utils } from "ethers"; import type { Provider } from "@ethersproject/providers"; import type { - ICurveLP, - ICurveLPInterface, -} from "../../../../contracts/integrations/goldfinch/ICurveLP"; + IveLP, + IveLPInterface, +} from "../../../../../contracts/integrations/goldfinch/ICurveLP.sol/IveLP"; const _abi = [ { @@ -245,15 +245,12 @@ const _abi = [ }, ] as const; -export class ICurveLP__factory { +export class IveLP__factory { static readonly abi = _abi; - static createInterface(): ICurveLPInterface { - return new utils.Interface(_abi) as ICurveLPInterface; + static createInterface(): IveLPInterface { + return new utils.Interface(_abi) as IveLPInterface; } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): ICurveLP { - return new Contract(address, _abi, signerOrProvider) as ICurveLP; + static connect(address: string, signerOrProvider: Signer | Provider): IveLP { + return new Contract(address, _abi, signerOrProvider) as IveLP; } } diff --git a/typechain-types/factories/contracts/normalized_endowment/locked-withdraw/interface/index.ts b/typechain-types/factories/contracts/integrations/goldfinch/ICurveLP.sol/index.ts similarity index 55% rename from typechain-types/factories/contracts/normalized_endowment/locked-withdraw/interface/index.ts rename to typechain-types/factories/contracts/integrations/goldfinch/ICurveLP.sol/index.ts index a87aced36..5f688a749 100644 --- a/typechain-types/factories/contracts/normalized_endowment/locked-withdraw/interface/index.ts +++ b/typechain-types/factories/contracts/integrations/goldfinch/ICurveLP.sol/index.ts @@ -1,4 +1,4 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -export { ILockedWithdraw__factory } from "./ILockedWithdraw__factory"; +export { IveLP__factory } from "./IveLP__factory"; diff --git a/typechain-types/factories/contracts/integrations/goldfinch/IStakingRewards__factory.ts b/typechain-types/factories/contracts/integrations/goldfinch/IStakingRewards__factory.ts index dd269547e..e3d358e19 100644 --- a/typechain-types/factories/contracts/integrations/goldfinch/IStakingRewards__factory.ts +++ b/typechain-types/factories/contracts/integrations/goldfinch/IStakingRewards__factory.ts @@ -59,7 +59,7 @@ const _abi = [ type: "uint256", }, ], - name: "depositToCurveAndStakeFrom", + name: "depositToveAndStakeFrom", outputs: [], stateMutability: "nonpayable", type: "function", diff --git a/typechain-types/factories/contracts/integrations/goldfinch/index.ts b/typechain-types/factories/contracts/integrations/goldfinch/index.ts index edbb49854..29cceb28c 100644 --- a/typechain-types/factories/contracts/integrations/goldfinch/index.ts +++ b/typechain-types/factories/contracts/integrations/goldfinch/index.ts @@ -1,9 +1,9 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ +export * as iCurveLpSol from "./ICurveLP.sol"; export * as test from "./test"; export { GFITrader__factory } from "./GFITrader__factory"; export { GoldfinchVault__factory } from "./GoldfinchVault__factory"; -export { ICurveLP__factory } from "./ICurveLP__factory"; export { IRegistrarGoldfinch__factory } from "./IRegistrarGoldfinch__factory"; export { IStakingRewards__factory } from "./IStakingRewards__factory"; diff --git a/typechain-types/factories/contracts/integrations/goldfinch/test/DummyCRVLP__factory.ts b/typechain-types/factories/contracts/integrations/goldfinch/test/DummyCRVLP__factory.ts index 3171f41f3..6f7bf5016 100644 --- a/typechain-types/factories/contracts/integrations/goldfinch/test/DummyCRVLP__factory.ts +++ b/typechain-types/factories/contracts/integrations/goldfinch/test/DummyCRVLP__factory.ts @@ -280,7 +280,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60803461008d57601f61056838819003918201601f19168301916001600160401b0383118484101761009257808492604094855283398101031261008d57610052602061004b836100a8565b92016100a8565b600280546001600160a01b039384166001600160a01b031991821617909155600380549290931691161790556040516104ab90816100bd8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b038216820361008d5756fe608060408181526004918236101561001657600080fd5b600092833560e01c91826332a8d01a146103e85782634903b0d1146103ce5750816354f0f7d5146103b3578163556d6e9f146103955781635b36389c146103715781635b41b90814610154575080637328333b146101145780638d8ea727146100f2578063c6610657146100d7578063f1dc3cc9146100bb5763fc0c546a1461009e57600080fd5b346100b757816003193601126100b75751908152602090f35b5080fd5b50346100b757906020916100ce36610406565b50505051908152f35b50346100b75760203660031901126100b75751908152602090f35b50346100b757806003193601126100b757366044116100b75751908152602090f35b50346100b75760a03660031901126100b757366044116100b757606435801515036100b7576084356001600160a01b038116036100b75751908152602090f35b90503461036d57608036600319011261036d5760443581356102855760025483516323b872dd60e01b815233818501908152306020828101919091526040820194909452929390926001600160a01b03928591859185169082908a90829060600103925af191821561027b5761020393859361025e575b50600354600154875163a9059cbb60e01b81523394810194855260208501919091529485939290911691839189918391604090910190565b03925af180156102515760209450610223575b50505b6001549051908152f35b8161024292903d1061024a575b61023a8183610425565b81019061045d565b503880610216565b503d610230565b50505051903d90823e3d90fd5b61027490843d861161024a5761023a8183610425565b50386101cb565b85513d88823e3d90fd5b60035483516323b872dd60e01b815233818501908152306020828101919091526040820194909452929390926001600160a01b03928591859185169082908a90829060600103925af191821561027b57610318938593610350575b50600254600154875163a9059cbb60e01b81523394810194855260208501919091529485939290911691839189918391604090910190565b03925af180156102515760209450610332575b5050610219565b8161034892903d1061024a5761023a8183610425565b50388061032b565b61036690843d861161024a5761023a8183610425565b50386102e0565b8280fd5b5050346100b75760603660031901126100b757366064116100b75751908152602090f35b5050346100b7576020916103a836610406565b505050549051908152f35b5050346100b757816003193601126100b75751908152602090f35b8490346100b75760203660031901126100b7576020918152f35b8482853461036d573660031901126100b75735815560243560015580f35b606090600319011261042057600435906024359060443590565b600080fd5b90601f8019910116810190811067ffffffffffffffff82111761044757604052565b634e487b7160e01b600052604160045260246000fd5b9081602091031261042057518015158103610420579056fea26469706673582212204b8d0736cf62823d9a533c2a58bc2e3e4c3f94a239fb1c3344a9b239e442fccf64736f6c63430008120033"; + "0x60803461008d57601f61056838819003918201601f19168301916001600160401b0383118484101761009257808492604094855283398101031261008d57610052602061004b836100a8565b92016100a8565b600280546001600160a01b039384166001600160a01b031991821617909155600380549290931691161790556040516104ab90816100bd8239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b038216820361008d5756fe608060408181526004918236101561001657600080fd5b600092833560e01c91826332a8d01a146103e85782634903b0d1146103ce5750816354f0f7d5146103b3578163556d6e9f146103955781635b36389c146103715781635b41b90814610154575080637328333b146101145780638d8ea727146100f2578063c6610657146100d7578063f1dc3cc9146100bb5763fc0c546a1461009e57600080fd5b346100b757816003193601126100b75751908152602090f35b5080fd5b50346100b757906020916100ce36610406565b50505051908152f35b50346100b75760203660031901126100b75751908152602090f35b50346100b757806003193601126100b757366044116100b75751908152602090f35b50346100b75760a03660031901126100b757366044116100b757606435801515036100b7576084356001600160a01b038116036100b75751908152602090f35b90503461036d57608036600319011261036d5760443581356102855760025483516323b872dd60e01b815233818501908152306020828101919091526040820194909452929390926001600160a01b03928591859185169082908a90829060600103925af191821561027b5761020393859361025e575b50600354600154875163a9059cbb60e01b81523394810194855260208501919091529485939290911691839189918391604090910190565b03925af180156102515760209450610223575b50505b6001549051908152f35b8161024292903d1061024a575b61023a8183610425565b81019061045d565b503880610216565b503d610230565b50505051903d90823e3d90fd5b61027490843d861161024a5761023a8183610425565b50386101cb565b85513d88823e3d90fd5b60035483516323b872dd60e01b815233818501908152306020828101919091526040820194909452929390926001600160a01b03928591859185169082908a90829060600103925af191821561027b57610318938593610350575b50600254600154875163a9059cbb60e01b81523394810194855260208501919091529485939290911691839189918391604090910190565b03925af180156102515760209450610332575b5050610219565b8161034892903d1061024a5761023a8183610425565b50388061032b565b61036690843d861161024a5761023a8183610425565b50386102e0565b8280fd5b5050346100b75760603660031901126100b757366064116100b75751908152602090f35b5050346100b7576020916103a836610406565b505050549051908152f35b5050346100b757816003193601126100b75751908152602090f35b8490346100b75760203660031901126100b7576020918152f35b8482853461036d573660031901126100b75735815560243560015580f35b606090600319011261042057600435906024359060443590565b600080fd5b90601f8019910116810190811067ffffffffffffffff82111761044757604052565b634e487b7160e01b600052604160045260246000fd5b9081602091031261042057518015158103610420579056fea26469706673582212208a1e4ed5739e3e9061a881f865784cd838e3f4f78d2744c185341dcb9595537864736f6c63430008120033"; type DummyCRVLPConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/integrations/goldfinch/test/DummyStakingRewards__factory.ts b/typechain-types/factories/contracts/integrations/goldfinch/test/DummyStakingRewards__factory.ts index 318efb2a8..cceea78e2 100644 --- a/typechain-types/factories/contracts/integrations/goldfinch/test/DummyStakingRewards__factory.ts +++ b/typechain-types/factories/contracts/integrations/goldfinch/test/DummyStakingRewards__factory.ts @@ -206,7 +206,7 @@ const _abi = [ type: "uint256", }, ], - name: "depositToCurveAndStakeFrom", + name: "depositToveAndStakeFrom", outputs: [], stateMutability: "nonpayable", type: "function", @@ -688,7 +688,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60803462000359576001600160401b03601f601f196200189938819003838101831686019190858311878410176200034357808792604094855283398101031262000359576200004f846200035e565b926200005f60208096016200035e565b926200006a62000373565b926200007562000373565b9084519084821162000343576000918254966001978881811c9116801562000338575b8c8210146200032457908b8288859411620002ce575b50508b90878311600114620002695785926200025d575b5050600019600383901b1c191690871b1782555b8251948511620002495785548681811c911680156200023e575b8a8210146200022a57848111620001e2575b50889385116001146200017c57508394959697509262000170575b5050600019600383901b1c191690821b1790555b600980546001600160a01b039384166001600160a01b031991821617909155600a80549290931691161790556040516114f49081620003a58239f35b01519050388062000120565b8493929193169785845280842093905b898210620001ca575050838596979810620001b0575b505050811b01905562000134565b015160001960f88460031b161c19169055388080620001a2565b8087859682949686015181550195019301906200018c565b8683528983208580880160051c8201928c891062000220575b0160051c019087905b8281106200021457505062000105565b84815501879062000204565b92508192620001fb565b634e487b7160e01b83526022600452602483fd5b90607f1690620000f3565b634e487b7160e01b82526041600452602482fd5b015190503880620000c5565b908c91858b95168780528388209388905b828210620002b457505084116200029a575b505050811b018255620000d9565b015160001960f88460031b161c191690553880806200028c565b8484015186558d979095019493840193908101906200027a565b90919250858052878287209181860160051c83019386106200031a575b918b91869594930160051c01915b8281106200030b57508d9150620000ae565b8781558594508b9101620002f9565b92508192620002eb565b634e487b7160e01b85526022600452602485fd5b90607f169062000098565b634e487b7160e01b600052604160045260246000fd5b600080fd5b51906001600160a01b03821682036200035957565b60408051919082016001600160401b0381118382101762000343576040526004825263151154d560e21b602083015256fe60806040908082526004918236101561001757600080fd5b600091823560e01c90816301ffc9a714610d635750806306fdde0314610c98578063081812fc14610c78578063095ea7b314610b0a57806310087fb1146109565780631c4b774b146108f757806323b872dd146108cd578063259c5f25146108a557806338962186146102c757806342842e0e1461087d5780636352211e1461084c57806369d00e791461083257806370a082311461079d5780638bb5d9c314610783578063958c87f51461076557806395d89b411461064f5780639c65613a146103c85780639e2c8a5b146105a5578063a22cb465146104d5578063a83f5eef146104b7578063a9f4939d146103f0578063aa04295f146103c8578063b88d4fde1461033a578063c87b56dd146102cc578063c8f33c91146102c7578063ce0cf1a5146102b2578063e985e9c5146102655763eb02c3011461015957600080fd5b34610261576020918260031936011261025e578335916101776113c3565b508215610229576101866113c3565b9282526006845260a08183205494858552825195865280850151908151818801528101518387015282810151606087015260608101516080870152608081015182870152015160c085015282015160e084015260608201516101008401526080820151906002821015610216576101808460c0858561012084015260a08101516101408401520151610160820152f35b634e487b7160e01b815260218552602490fd5b5162461bcd60e51b8152808501849052601060248201526f125b9d985b1a59081d1bdad95b88125160821b6044820152606490fd5b80fd5b5080fd5b503461026157806003193601126102615760ff81602093610284610e0f565b61028c610e2a565b6001600160a01b0391821683526005875283832091168252855220549151911615158152f35b823461025e57602036600319011261025e5780f35b610e75565b5034610261576020366003190112610261576103096103046103369435600052600260205260018060a01b0360406000205416151590565b610f17565b81815161031581610ea7565b5280519161032283610ea7565b825251918291602083526020830190610dcf565b0390f35b508290346103c45760803660031901126103c457610356610e0f565b61035e610e2a565b846064359467ffffffffffffffff86116102615736602387011215610261578501359461039661038d87610efb565b95519586610ed9565b858552366024878301011161026157856103c196602460209301838801378501015260443591611029565b80f35b8280fd5b5082346103c45760203660031901126103c45760209282913581526006845220549051908152f35b5082346103c45761040036610e91565b600a5484516323b872dd60e01b815233858201908152306020808301919091526040820185905293969493919283918290036060019082908a906001600160a01b03165af180156104ad5761047f575b5084526006602052832090815492830180931161046c57505580f35b634e487b7160e01b845260119052602483fd5b61049f9060203d81116104a6575b6104978183610ed9565b81019061145a565b5085610450565b503d61048d565b83513d88823e3d90fd5b5034610261576104c636610e91565b91908352600660205282205580f35b508290346103c457806003193601126103c4576104f0610e0f565b90602435918215158093036105a1576001600160a01b03169233841461055f5750338452600560205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b8480fd5b5034610261576105b436610e91565b908352600660205281832080549082820391821161063c5755600a54825163a9059cbb60e01b815233958101958652602086810193909352939484916001600160a01b0316908290879082906040015b03925af19081156106335750610618575080f35b61062f9060203d81116104a6576104978183610ed9565b5080f35b513d84823e3d90fd5b634e487b7160e01b855260118652602485fd5b50903461025e578060031936011261025e578151918160019283549384811c9181861695861561075b575b6020968785108114610748578899509688969785829a5291826000146107215750506001146106c6575b50505061033692916106b7910385610ed9565b51928284938452830190610dcf565b91908693508083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b82841061070957505050820101816106b76103366106a4565b8054848a0186015288955087949093019281016106f0565b60ff19168782015293151560051b860190930193508492506106b7915061033690506106a4565b634e487b7160e01b835260228a52602483fd5b92607f169261067a565b50346102615761077436610e91565b91908352600760205282205580f35b828434610261576020366003190112610261573560085580f35b509134610261576020366003190112610261576001600160a01b036107c0610e0f565b169081156107dd5760208480858581526003845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b823461025e57606036600319011261025e5761062f610e0f565b50903461025e57602036600319011261025e575061086c60209235610f63565b90516001600160a01b039091168152f35b5034610261576103c19061089036610e40565b9192519261089d84610ea7565b858452611029565b5082346103c45760203660031901126103c45760209282913581526007845220549051908152f35b823461025e576103c16108df36610e40565b916108f26108ed84336110c4565b610fc7565b61118c565b508290346103c45760203660031901126103c457600954823584526007602090815282852054835163a9059cbb60e01b8152339581019586528583019190915293909184916001600160a01b0390911690829087908290604001610604565b509134610261578260031936011261026157803592600260243510156103c457600a5481516323b872dd60e01b81523384820190815230602082810191909152604082018890529692879183916001600160a01b03169082908990829060600103925af18015610b0057610ae3575b506008546000198114610ad0576001018060085584526006855281842055600854913315610a905750600082815260026020526040902054610a13906001600160a01b031615155b15611472565b600082815260026020526040902054610a36906001600160a01b03161515610a0d565b3380845260038552818420805460010190558284526002855281842080546001600160a01b031916821790559051927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a46008548152f35b8480606493519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b634e487b7160e01b855260118452602485fd5b610af990863d88116104a6576104978183610ed9565b50386109c5565b83513d87823e3d90fd5b5082346103c457816003193601126103c457610b24610e0f565b6024359290916001600160a01b0391908280610b3f87610f63565b16941693808514610c2b57803314908115610c0c575b5015610ba457848652602052842080546001600160a01b03191683179055610b7c83610f63565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652600560205281862033875260205260ff828720541687610b55565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b50903461025e57602036600319011261025e575061086c60209235610f89565b50903461025e578060031936011261025e5781519181825492600184811c91818616958615610d59575b6020968785108114610748578899509688969785829a529182600014610721575050600114610cfe5750505061033692916106b7910385610ed9565b91908693508280527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828410610d4157505050820101816106b76103366106a4565b8054848a018601528895508794909301928101610d28565b92607f1692610cc2565b839085346103c45760203660031901126103c4573563ffffffff60e01b81168091036103c457602092506380ac58cd60e01b8114908115610dbe575b8115610dad575b5015158152f35b6301ffc9a760e01b14905083610da6565b635b5e139f60e01b81149150610d9f565b919082519283825260005b848110610dfb575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610dda565b600435906001600160a01b0382168203610e2557565b600080fd5b602435906001600160a01b0382168203610e2557565b6060906003190112610e25576001600160a01b03906004358281168103610e2557916024359081168103610e25579060443590565b34610e25576000366003190112610e2557602060405160008152f35b6040906003190112610e25576004359060243590565b6020810190811067ffffffffffffffff821117610ec357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610ec357604052565b67ffffffffffffffff8111610ec357601f01601f191660200190565b15610f1e57565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b0316610f86811515610f17565b90565b600081815260026020526040902054610fac906001600160a01b03161515610f17565b6000908152600460205260409020546001600160a01b031690565b15610fce57565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b9061104d93929161103d6108ed84336110c4565b61104883838361118c565b6112a2565b1561105457565b60405162461bcd60e51b81528061106d60048201611071565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b906001600160a01b0380806110d884610f63565b1693169183831493841561110b575b5083156110f5575b50505090565b61110191929350610f89565b16143880806110ef565b909350600052600560205260406000208260005260205260ff6040600020541692386110e7565b1561113957565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906111b49161119a84610f63565b6001600160a01b0393918416928492909183168414611132565b1691821561125157816111d1916111ca86610f63565b1614611132565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206bffffffffffffffffffffffff60a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b156113b8579484916112fc9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190610dcf565b0393165af1849181611378575b50611367575050503d60001461135f573d61132381610efb565b906113316040519283610ed9565b81528091833d92013e5b8051918261135c5760405162461bcd60e51b81528061106d60048201611071565b01fd5b50606061133b565b6001600160e01b0319161492509050565b9091508581813d83116113b1575b6113908183610ed9565b810103126105a157516001600160e01b0319811681036105a1579038611309565b503d611386565b505050915050600190565b604090815160e081019067ffffffffffffffff9181811083821117610ec3578452809360009283835281519060c0820190828210908211176114465791849160c09493825282815282602082015282828201528260608201528260808201528260a082015260208401528201528260608201528260808201528260a08201520152565b634e487b7160e01b85526041600452602485fd5b90816020910312610e2557518015158103610e255790565b1561147957565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fdfea26469706673582212205542c9177aa6efc74de375315af06015ad2363346ca9747a214f17acd168cc5764736f6c63430008120033"; + "0x60803462000359576001600160401b03601f601f196200189938819003838101831686019190858311878410176200034357808792604094855283398101031262000359576200004f846200035e565b926200005f60208096016200035e565b926200006a62000373565b926200007562000373565b9084519084821162000343576000918254966001978881811c9116801562000338575b8c8210146200032457908b8288859411620002ce575b50508b90878311600114620002695785926200025d575b5050600019600383901b1c191690871b1782555b8251948511620002495785548681811c911680156200023e575b8a8210146200022a57848111620001e2575b50889385116001146200017c57508394959697509262000170575b5050600019600383901b1c191690821b1790555b600980546001600160a01b039384166001600160a01b031991821617909155600a80549290931691161790556040516114f49081620003a58239f35b01519050388062000120565b8493929193169785845280842093905b898210620001ca575050838596979810620001b0575b505050811b01905562000134565b015160001960f88460031b161c19169055388080620001a2565b8087859682949686015181550195019301906200018c565b8683528983208580880160051c8201928c891062000220575b0160051c019087905b8281106200021457505062000105565b84815501879062000204565b92508192620001fb565b634e487b7160e01b83526022600452602483fd5b90607f1690620000f3565b634e487b7160e01b82526041600452602482fd5b015190503880620000c5565b908c91858b95168780528388209388905b828210620002b457505084116200029a575b505050811b018255620000d9565b015160001960f88460031b161c191690553880806200028c565b8484015186558d979095019493840193908101906200027a565b90919250858052878287209181860160051c83019386106200031a575b918b91869594930160051c01915b8281106200030b57508d9150620000ae565b8781558594508b9101620002f9565b92508192620002eb565b634e487b7160e01b85526022600452602485fd5b90607f169062000098565b634e487b7160e01b600052604160045260246000fd5b600080fd5b51906001600160a01b03821682036200035957565b60408051919082016001600160401b0381118382101762000343576040526004825263151154d560e21b602083015256fe60806040908082526004918236101561001757600080fd5b600091823560e01c90816301ffc9a714610d635750806306fdde0314610c98578063081812fc14610c78578063095ea7b314610b0a57806310087fb1146109565780631c4b774b146108f757806323b872dd146108cd578063259c5f25146108a557806338962186146102c75780633b7403dd1461088b57806342842e0e146108635780636352211e1461083257806370a082311461079d5780638bb5d9c314610783578063958c87f51461076557806395d89b411461064f5780639c65613a146103c85780639e2c8a5b146105a5578063a22cb465146104d5578063a83f5eef146104b7578063a9f4939d146103f0578063aa04295f146103c8578063b88d4fde1461033a578063c87b56dd146102cc578063c8f33c91146102c7578063ce0cf1a5146102b2578063e985e9c5146102655763eb02c3011461015957600080fd5b34610261576020918260031936011261025e578335916101776113c3565b508215610229576101866113c3565b9282526006845260a08183205494858552825195865280850151908151818801528101518387015282810151606087015260608101516080870152608081015182870152015160c085015282015160e084015260608201516101008401526080820151906002821015610216576101808460c0858561012084015260a08101516101408401520151610160820152f35b634e487b7160e01b815260218552602490fd5b5162461bcd60e51b8152808501849052601060248201526f125b9d985b1a59081d1bdad95b88125160821b6044820152606490fd5b80fd5b5080fd5b503461026157806003193601126102615760ff81602093610284610e0f565b61028c610e2a565b6001600160a01b0391821683526005875283832091168252855220549151911615158152f35b823461025e57602036600319011261025e5780f35b610e75565b5034610261576020366003190112610261576103096103046103369435600052600260205260018060a01b0360406000205416151590565b610f17565b81815161031581610ea7565b5280519161032283610ea7565b825251918291602083526020830190610dcf565b0390f35b508290346103c45760803660031901126103c457610356610e0f565b61035e610e2a565b846064359467ffffffffffffffff86116102615736602387011215610261578501359461039661038d87610efb565b95519586610ed9565b858552366024878301011161026157856103c196602460209301838801378501015260443591611029565b80f35b8280fd5b5082346103c45760203660031901126103c45760209282913581526006845220549051908152f35b5082346103c45761040036610e91565b600a5484516323b872dd60e01b815233858201908152306020808301919091526040820185905293969493919283918290036060019082908a906001600160a01b03165af180156104ad5761047f575b5084526006602052832090815492830180931161046c57505580f35b634e487b7160e01b845260119052602483fd5b61049f9060203d81116104a6575b6104978183610ed9565b81019061145a565b5085610450565b503d61048d565b83513d88823e3d90fd5b5034610261576104c636610e91565b91908352600660205282205580f35b508290346103c457806003193601126103c4576104f0610e0f565b90602435918215158093036105a1576001600160a01b03169233841461055f5750338452600560205280842083855260205280842060ff1981541660ff8416179055519081527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a380f35b6020606492519162461bcd60e51b8352820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152fd5b8480fd5b5034610261576105b436610e91565b908352600660205281832080549082820391821161063c5755600a54825163a9059cbb60e01b815233958101958652602086810193909352939484916001600160a01b0316908290879082906040015b03925af19081156106335750610618575080f35b61062f9060203d81116104a6576104978183610ed9565b5080f35b513d84823e3d90fd5b634e487b7160e01b855260118652602485fd5b50903461025e578060031936011261025e578151918160019283549384811c9181861695861561075b575b6020968785108114610748578899509688969785829a5291826000146107215750506001146106c6575b50505061033692916106b7910385610ed9565b51928284938452830190610dcf565b91908693508083527fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf65b82841061070957505050820101816106b76103366106a4565b8054848a0186015288955087949093019281016106f0565b60ff19168782015293151560051b860190930193508492506106b7915061033690506106a4565b634e487b7160e01b835260228a52602483fd5b92607f169261067a565b50346102615761077436610e91565b91908352600760205282205580f35b828434610261576020366003190112610261573560085580f35b509134610261576020366003190112610261576001600160a01b036107c0610e0f565b169081156107dd5760208480858581526003845220549051908152f35b608490602085519162461bcd60e51b8352820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b6064820152fd5b50903461025e57602036600319011261025e575061085260209235610f63565b90516001600160a01b039091168152f35b5034610261576103c19061087636610e40565b9192519261088384610ea7565b858452611029565b823461025e57606036600319011261025e5761062f610e0f565b5082346103c45760203660031901126103c45760209282913581526007845220549051908152f35b823461025e576103c16108df36610e40565b916108f26108ed84336110c4565b610fc7565b61118c565b508290346103c45760203660031901126103c457600954823584526007602090815282852054835163a9059cbb60e01b8152339581019586528583019190915293909184916001600160a01b0390911690829087908290604001610604565b509134610261578260031936011261026157803592600260243510156103c457600a5481516323b872dd60e01b81523384820190815230602082810191909152604082018890529692879183916001600160a01b03169082908990829060600103925af18015610b0057610ae3575b506008546000198114610ad0576001018060085584526006855281842055600854913315610a905750600082815260026020526040902054610a13906001600160a01b031615155b15611472565b600082815260026020526040902054610a36906001600160a01b03161515610a0d565b3380845260038552818420805460010190558284526002855281842080546001600160a01b031916821790559051927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a46008548152f35b8480606493519262461bcd60e51b845283015260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152fd5b634e487b7160e01b855260118452602485fd5b610af990863d88116104a6576104978183610ed9565b50386109c5565b83513d87823e3d90fd5b5082346103c457816003193601126103c457610b24610e0f565b6024359290916001600160a01b0391908280610b3f87610f63565b16941693808514610c2b57803314908115610c0c575b5015610ba457848652602052842080546001600160a01b03191683179055610b7c83610f63565b167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258480a480f35b6020608492519162461bcd60e51b8352820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c0000006064820152fd5b90508652600560205281862033875260205260ff828720541687610b55565b506020608492519162461bcd60e51b8352820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152fd5b50903461025e57602036600319011261025e575061085260209235610f89565b50903461025e578060031936011261025e5781519181825492600184811c91818616958615610d59575b6020968785108114610748578899509688969785829a529182600014610721575050600114610cfe5750505061033692916106b7910385610ed9565b91908693508280527f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828410610d4157505050820101816106b76103366106a4565b8054848a018601528895508794909301928101610d28565b92607f1692610cc2565b839085346103c45760203660031901126103c4573563ffffffff60e01b81168091036103c457602092506380ac58cd60e01b8114908115610dbe575b8115610dad575b5015158152f35b6301ffc9a760e01b14905083610da6565b635b5e139f60e01b81149150610d9f565b919082519283825260005b848110610dfb575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610dda565b600435906001600160a01b0382168203610e2557565b600080fd5b602435906001600160a01b0382168203610e2557565b6060906003190112610e25576001600160a01b03906004358281168103610e2557916024359081168103610e25579060443590565b34610e25576000366003190112610e2557602060405160008152f35b6040906003190112610e25576004359060243590565b6020810190811067ffffffffffffffff821117610ec357604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610ec357604052565b67ffffffffffffffff8111610ec357601f01601f191660200190565b15610f1e57565b60405162461bcd60e51b815260206004820152601860248201527f4552433732313a20696e76616c696420746f6b656e20494400000000000000006044820152606490fd5b6000908152600260205260409020546001600160a01b0316610f86811515610f17565b90565b600081815260026020526040902054610fac906001600160a01b03161515610f17565b6000908152600460205260409020546001600160a01b031690565b15610fce57565b60405162461bcd60e51b815260206004820152602d60248201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560448201526c1c881bdc88185c1c1c9bdd9959609a1b6064820152608490fd5b9061104d93929161103d6108ed84336110c4565b61104883838361118c565b6112a2565b1561105457565b60405162461bcd60e51b81528061106d60048201611071565b0390fd5b60809060208152603260208201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b60608201520190565b906001600160a01b0380806110d884610f63565b1693169183831493841561110b575b5083156110f5575b50505090565b61110191929350610f89565b16143880806110ef565b909350600052600560205260406000208260005260205260ff6040600020541692386110e7565b1561113957565b60405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608490fd5b906111b49161119a84610f63565b6001600160a01b0393918416928492909183168414611132565b1691821561125157816111d1916111ca86610f63565b1614611132565b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60008481526004602052604081206bffffffffffffffffffffffff60a01b9081815416905583825260036020526040822060001981540190558482526040822060018154019055858252600260205284604083209182541617905580a4565b60405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9293600093909291803b156113b8579484916112fc9660405180948193630a85bd0160e11b9788845233600485015260018060a01b0380921660248501526044840152608060648401528260209b8c976084830190610dcf565b0393165af1849181611378575b50611367575050503d60001461135f573d61132381610efb565b906113316040519283610ed9565b81528091833d92013e5b8051918261135c5760405162461bcd60e51b81528061106d60048201611071565b01fd5b50606061133b565b6001600160e01b0319161492509050565b9091508581813d83116113b1575b6113908183610ed9565b810103126105a157516001600160e01b0319811681036105a1579038611309565b503d611386565b505050915050600190565b604090815160e081019067ffffffffffffffff9181811083821117610ec3578452809360009283835281519060c0820190828210908211176114465791849160c09493825282815282602082015282828201528260608201528260808201528260a082015260208401528201528260608201528260808201528260a08201520152565b634e487b7160e01b85526041600452602485fd5b90816020910312610e2557518015158103610e255790565b1561147957565b60405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606490fdfea264697066735822122064305b5c8e0eed39933c17f6ca5ea344a401b1101cd01c948c66114c3c0ea41864736f6c63430008120033"; type DummyStakingRewardsConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/interfaces/IVaultLiquid__factory.ts b/typechain-types/factories/contracts/interfaces/IVaultLiquid__factory.ts index 982cb4053..2037f275f 100644 --- a/typechain-types/factories/contracts/interfaces/IVaultLiquid__factory.ts +++ b/typechain-types/factories/contracts/interfaces/IVaultLiquid__factory.ts @@ -155,9 +155,21 @@ const _abi = [ name: "redeem", outputs: [ { - internalType: "uint256", + components: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, + ], + internalType: "struct IRouter.RedemptionResponse", name: "", - type: "uint256", + type: "tuple", }, ], stateMutability: "payable", diff --git a/typechain-types/factories/contracts/interfaces/IVaultLocked__factory.ts b/typechain-types/factories/contracts/interfaces/IVaultLocked__factory.ts index 61a40087f..831e2fe11 100644 --- a/typechain-types/factories/contracts/interfaces/IVaultLocked__factory.ts +++ b/typechain-types/factories/contracts/interfaces/IVaultLocked__factory.ts @@ -155,9 +155,21 @@ const _abi = [ name: "redeem", outputs: [ { - internalType: "uint256", + components: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, + ], + internalType: "struct IRouter.RedemptionResponse", name: "", - type: "uint256", + type: "tuple", }, ], stateMutability: "payable", diff --git a/typechain-types/factories/contracts/interfaces/IVault__factory.ts b/typechain-types/factories/contracts/interfaces/IVault__factory.ts index 02fc69b0f..89f65149b 100644 --- a/typechain-types/factories/contracts/interfaces/IVault__factory.ts +++ b/typechain-types/factories/contracts/interfaces/IVault__factory.ts @@ -155,9 +155,21 @@ const _abi = [ name: "redeem", outputs: [ { - internalType: "uint256", + components: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, + ], + internalType: "struct IRouter.RedemptionResponse", name: "", - type: "uint256", + type: "tuple", }, ], stateMutability: "payable", diff --git a/typechain-types/factories/contracts/lib/Strings/string.sol/StringArray__factory.ts b/typechain-types/factories/contracts/lib/Strings/string.sol/StringArray__factory.ts index d4601de59..26900ab57 100644 --- a/typechain-types/factories/contracts/lib/Strings/string.sol/StringArray__factory.ts +++ b/typechain-types/factories/contracts/lib/Strings/string.sol/StringArray__factory.ts @@ -14,7 +14,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curAddr", + name: "addr", type: "address", }, ], @@ -85,7 +85,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001c576109c290816100228239308160520152f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c9081635e57966d146104835750806360353db9146103ea57806373b64e15146103185763c8b6b0fa1461004f57600080fd5b307f000000000000000000000000000000000000000000000000000000000000000014610314578160031936011261031457803592602490813585548110156102d2575b855460001981019081116100f65781101561010857600181018082116100f6576100bd90876107e0565b506100c882886107e0565b6100e4576100df92916100da9161085f565b61073f565b610093565b5050634e487b7160e01b825250808352fd5b5050634e487b7160e01b815260118352fd5b50929391825480156102c057600019019161012383856107e0565b9290926102b05750508061013885925461080e565b80610273575b5050509182825561014e83610727565b61015a85519182610693565b83815260209384820190819484528584209184905b8282106101d057505050508451938085019181865251809252858501958260051b8601019392955b8287106101a45785850386f35b9091929382806101c0600193603f198a8203018652885161066e565b9601920196019592919092610197565b8897949597518589928654926101e58461080e565b808252600194808616908115610257575060011461021f575b5061020d816001960382610693565b8152019401910190929694939661016f565b888d52838d2095508c905b808210610240575081018301945061020d6101fe565b8654838301860152958501958a949091019061022a565b60ff19168584015250151560051b81018301945061020d6101fe565b82601f821160011461028b575050555b82388061013e565b90918082526102a9601f60208420940160051c840160018501610848565b5555610283565b634e487b7160e01b865285905284fd5b50634e487b7160e01b84526031905282fd5b845162461bcd60e51b81526020818601526019818501527f4572726f7220696e2072656d6f76653a20696e7465726e616c000000000000006044820152606490fd5b8280fd5b5082826003193601126103b95781359167ffffffffffffffff808411610314573660238501121561031457838201359261035184610727565b9361035e87519586610693565b8085526020958686016024809360051b830101913683116103e657838101915b8383106103bc5750505050359182116103b957506103a992916103a3913691016106cb565b90610764565b8392919251928352151590820152f35b80fd5b82358781116103e2578a916103d783928836918701016106cb565b81520192019161037e565b8680fd5b8480fd5b50816003193601126103145767ffffffffffffffff81358181116103e65761041590369084016106cb565b936024359182116103b9575061042d913691016106cb565b81519260209361045985828161044c818301968781519384920161064b565b8101038084520182610693565b51902090825161047885828161044c818301968781519384920161064b565b519020149051908152f35b602093929150366003190184136103e65781356001600160a01b03811691908290036106475767ffffffffffffffff9581850187811183821017610634578552601082526f181899199a1a9b1b9c1cb0b131b232b360811b868301528451966060880190811188821017610634578552603387528587018536823787511561062157603090538651916001928310156106215760786021890153815b6014811061053d57865188815280610539818b018c61066e565b0390f35b600c810180821161060e57888110156105fb5785901a6001600160f81b0319600f8161056d848b1c83168761097b565b51169284881b936002908686048214871517156105e8578582018092116105e8576105a28f91926105aa9594938b1a9261097b565b53168561097b565b511660039182018092116105d557906105ca6105d09392861a918c61097b565b5361073f565b61051f565b634e487b7160e01b855260118852602485fd5b634e487b7160e01b895260118c52602489fd5b634e487b7160e01b845260328752602484fd5b634e487b7160e01b845260118752602484fd5b634e487b7160e01b825260328552602482fd5b634e487b7160e01b825260418552602482fd5b8580fd5b60005b83811061065e5750506000910152565b818101518382015260200161064e565b906020916106878151809281855285808601910161064b565b601f01601f1916010190565b90601f8019910116810190811067ffffffffffffffff8211176106b557604052565b634e487b7160e01b600052604160045260246000fd5b81601f820112156107225780359067ffffffffffffffff82116106b55760405192610700601f8401601f191660200185610693565b8284526020838301011161072257816000926020809301838601378301015290565b600080fd5b67ffffffffffffffff81116106b55760051b60200190565b600019811461074e5760010190565b634e487b7160e01b600052601160045260246000fd5b60005b81518110156107d5576020808260051b8401015190604091825161079a83828161044c818301968781519384920161064b565b51902091516107b68282019282885161044c8187858d0161064b565b519020146107cc576107c79061073f565b610767565b91505090600190565b505050600090600090565b80548210156107f85760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c9216801561083e575b602083101461082857565b634e487b7160e01b600052602260045260246000fd5b91607f169161081d565b818110610853575050565b60008155600101610848565b9080821461097757610871815461080e565b9067ffffffffffffffff82116106b557819061088d845461080e565b601f811161093a575b50600090601f83116001146108ce576000926108c3575b50508160011b916000199060031b1c1916179055565b0154905038806108ad565b81526020808220858352818320935090601f1985169083905b828210610921575050908460019594939210610908575b505050811b019055565b015460001960f88460031b161c191690553880806108fe565b84958192958501548155600180910196019401906108e7565b61096790856000526020600020601f850160051c8101916020861061096d575b601f0160051c0190610848565b38610896565b909150819061095a565b5050565b9081518110156107f857016020019056fea26469706673582212206e2b052759c053627476537d1e902a966a517ee2c3816473440acf0fd9bd665a64736f6c63430008120033"; + "0x6080806040523461001c576109c290816100228239308160520152f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c9081635e57966d146104835750806360353db9146103ea57806373b64e15146103185763c8b6b0fa1461004f57600080fd5b307f000000000000000000000000000000000000000000000000000000000000000014610314578160031936011261031457803592602490813585548110156102d2575b855460001981019081116100f65781101561010857600181018082116100f6576100bd90876107e0565b506100c882886107e0565b6100e4576100df92916100da9161085f565b61073f565b610093565b5050634e487b7160e01b825250808352fd5b5050634e487b7160e01b815260118352fd5b50929391825480156102c057600019019161012383856107e0565b9290926102b05750508061013885925461080e565b80610273575b5050509182825561014e83610727565b61015a85519182610693565b83815260209384820190819484528584209184905b8282106101d057505050508451938085019181865251809252858501958260051b8601019392955b8287106101a45785850386f35b9091929382806101c0600193603f198a8203018652885161066e565b9601920196019592919092610197565b8897949597518589928654926101e58461080e565b808252600194808616908115610257575060011461021f575b5061020d816001960382610693565b8152019401910190929694939661016f565b888d52838d2095508c905b808210610240575081018301945061020d6101fe565b8654838301860152958501958a949091019061022a565b60ff19168584015250151560051b81018301945061020d6101fe565b82601f821160011461028b575050555b82388061013e565b90918082526102a9601f60208420940160051c840160018501610848565b5555610283565b634e487b7160e01b865285905284fd5b50634e487b7160e01b84526031905282fd5b845162461bcd60e51b81526020818601526019818501527f4572726f7220696e2072656d6f76653a20696e7465726e616c000000000000006044820152606490fd5b8280fd5b5082826003193601126103b95781359167ffffffffffffffff808411610314573660238501121561031457838201359261035184610727565b9361035e87519586610693565b8085526020958686016024809360051b830101913683116103e657838101915b8383106103bc5750505050359182116103b957506103a992916103a3913691016106cb565b90610764565b8392919251928352151590820152f35b80fd5b82358781116103e2578a916103d783928836918701016106cb565b81520192019161037e565b8680fd5b8480fd5b50816003193601126103145767ffffffffffffffff81358181116103e65761041590369084016106cb565b936024359182116103b9575061042d913691016106cb565b81519260209361045985828161044c818301968781519384920161064b565b8101038084520182610693565b51902090825161047885828161044c818301968781519384920161064b565b519020149051908152f35b602093929150366003190184136103e65781356001600160a01b03811691908290036106475767ffffffffffffffff9581850187811183821017610634578552601082526f181899199a1a9b1b9c1cb0b131b232b360811b868301528451966060880190811188821017610634578552603387528587018536823787511561062157603090538651916001928310156106215760786021890153815b6014811061053d57865188815280610539818b018c61066e565b0390f35b600c810180821161060e57888110156105fb5785901a6001600160f81b0319600f8161056d848b1c83168761097b565b51169284881b936002908686048214871517156105e8578582018092116105e8576105a28f91926105aa9594938b1a9261097b565b53168561097b565b511660039182018092116105d557906105ca6105d09392861a918c61097b565b5361073f565b61051f565b634e487b7160e01b855260118852602485fd5b634e487b7160e01b895260118c52602489fd5b634e487b7160e01b845260328752602484fd5b634e487b7160e01b845260118752602484fd5b634e487b7160e01b825260328552602482fd5b634e487b7160e01b825260418552602482fd5b8580fd5b60005b83811061065e5750506000910152565b818101518382015260200161064e565b906020916106878151809281855285808601910161064b565b601f01601f1916010190565b90601f8019910116810190811067ffffffffffffffff8211176106b557604052565b634e487b7160e01b600052604160045260246000fd5b81601f820112156107225780359067ffffffffffffffff82116106b55760405192610700601f8401601f191660200185610693565b8284526020838301011161072257816000926020809301838601378301015290565b600080fd5b67ffffffffffffffff81116106b55760051b60200190565b600019811461074e5760010190565b634e487b7160e01b600052601160045260246000fd5b60005b81518110156107d5576020808260051b8401015190604091825161079a83828161044c818301968781519384920161064b565b51902091516107b68282019282885161044c8187858d0161064b565b519020146107cc576107c79061073f565b610767565b91505090600190565b505050600090600090565b80548210156107f85760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b90600182811c9216801561083e575b602083101461082857565b634e487b7160e01b600052602260045260246000fd5b91607f169161081d565b818110610853575050565b60008155600101610848565b9080821461097757610871815461080e565b9067ffffffffffffffff82116106b557819061088d845461080e565b601f811161093a575b50600090601f83116001146108ce576000926108c3575b50508160011b916000199060031b1c1916179055565b0154905038806108ad565b81526020808220858352818320935090601f1985169083905b828210610921575050908460019594939210610908575b505050811b019055565b015460001960f88460031b161c191690553880806108fe565b84958192958501548155600180910196019401906108e7565b61096790856000526020600020601f850160051c8101916020861061096d575b601f0160051c0190610848565b38610896565b909150819061095a565b5050565b9081518110156107f857016020019056fea2646970667358221220a5d2cb0732c567ca3e08960c28558282ad2e2a950a1f26547f2e954c2727eabf64736f6c63430008120033"; type StringArrayConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/mock/DummyGateway__factory.ts b/typechain-types/factories/contracts/mock/DummyGateway__factory.ts index 50eb6b4ab..b2a70137b 100644 --- a/typechain-types/factories/contracts/mock/DummyGateway__factory.ts +++ b/typechain-types/factories/contracts/mock/DummyGateway__factory.ts @@ -671,7 +671,7 @@ const _abi = [ type: "bool", }, ], - stateMutability: "view", + stateMutability: "pure", type: "function", }, { @@ -710,7 +710,7 @@ const _abi = [ type: "bool", }, ], - stateMutability: "view", + stateMutability: "pure", type: "function", }, { @@ -928,7 +928,7 @@ const _abi = [ type: "bool", }, ], - stateMutability: "nonpayable", + stateMutability: "pure", type: "function", }, { @@ -972,13 +972,13 @@ const _abi = [ type: "bool", }, ], - stateMutability: "nonpayable", + stateMutability: "pure", type: "function", }, ] as const; const _bytecode = - "0x6080806040523461001657610811908161001c8239f35b600080fdfe608060408181526004918236101561001657600080fd5b600090813560e01c90816309c5eabe1461031957816314bfd6d01461053b575080631876eed9146104d05780631c92115f1461049e578063269eb65e146101ba57806326ef699d1461043b5780632a2dae0a146103e4578063364940d8146102c45780635c60da1b146103e45780635f6970c3146103e957806364940c56146103e457806367ace8eb1461039b5780637b1b769e1461038057806388b305871461019e578063935b13f6146103545780639543fe141461031e5780639ded06df14610319578063a3499c73146102df578063aa1e1f0a146102c4578063b54170841461023b578063bc00c216146101bf578063cec7b359146101ba578063d26ff2101461019e5763f6a5f9f51461012c57600080fd5b346101975760a0366003190112610197576001600160401b039060243582811161019a5761015d9036908601610595565b5050604435918211610197575060209261017d61018e9236908301610595565b505061018761071c565b50356107c9565b90519015158152f35b80fd5b5080fd5b50903461019a57602036600319011261019a5751908152602090f35b6106a0565b50346101975760e0366003190112610197576001600160401b039060243582811161019a576101f19036908601610595565b505060443582811161019a5761020a9036908601610595565b505061021461071c565b5060a435918211610197575060209261023361018e9236908301610595565b5050356107c9565b50823461019a5760a036600319011261019a576001600160401b039080358281116102c05761026d9036908301610595565b50506024358281116102c0576102869036908301610595565b50506044358281116102c05761029f9036908301610595565b50506064359182116102bc576102b791369101610595565b505080f35b8280fd5b8380fd5b50903461019a578160031936011261019a5751908152602090f35b50823461019a57606036600319011261019a576102fa610706565b50604435906001600160401b0382116102bc576102b791369101610595565b6105c7565b5034610197576020366003190112610197576001600160a01b03610340610706565b82546001600160a01b031916911617815580f35b50903461019a5760209061036f61036a36610630565b610732565b90516001600160a01b039091168152f35b50903461019a579060209161039436610630565b5051908152f35b509190346102bc5736600319011261019a576001600160401b039080358281116102c0576103cc90369083016106d6565b50506024359182116102bc576102b7913691016106d6565b6106ba565b5034610197576080366003190112610197576001600160401b039060243582811161019a5761041b9036908601610595565b5050604435918211610197575060209261023361018e9236908301610595565b50823461019a57608036600319011261019a576001600160401b039080358281116102c05761046d9036908301610595565b50506024358281116102c0576104869036908301610595565b50506044359182116102bc576102b791369101610595565b50823461019a57606036600319011261019a576001600160401b039080358281116102c05761046d9036908301610595565b50346101975760c0366003190112610197576001600160401b039060243582811161019a576105029036908601610595565b505060443582811161019a5761051b9036908601610595565b5050608435918211610197575060209261023361018e9236908301610595565b82843461019a576020806003193601126102bc57808452606051848201819052849392840192608092905b82811061057557505050500390f35b83516001600160a01b031685528695509381019392810192600101610566565b9181601f840112156105c2578235916001600160401b0383116105c257602083818601950101116105c257565b600080fd5b346105c25760203660031901126105c2576004356001600160401b0381116105c2576105f7903690600401610595565b005b90601f801991011681019081106001600160401b0382111761061a57604052565b634e487b7160e01b600052604160045260246000fd5b60206003198201126105c2576001600160401b036004358181116105c257826023820112156105c257806004013591821161061a576040519261067d601f8401601f1916602001856105f9565b828452602483830101116105c25781600092602460209301838601378301015290565b346105c2576106ae36610630565b50602060405160008152f35b346105c25760003660031901126105c257602060405160008152f35b9181601f840112156105c2578235916001600160401b0383116105c2576020808501948460051b0101116105c257565b600435906001600160a01b03821682036105c257565b606435906001600160a01b03821682036105c257565b604051908181519160005b8381106107b25750508061076092602092016000838201520380845201826105f9565b602081519101206040516020810190635553444360e01b825260048152604081018181106001600160401b0382111761061a57604052519020036107ad576000546001600160a01b031690565b600090565b60208282018101518683018201528593500161073d565b637472756560e01b036107ad5760019056fea26469706673582212204ad62af77ee86030ea9e773f3c29ddec1d4d87a6ee26a70978195f103f4569af64736f6c63430008120033"; + "0x6080806040523461001657610811908161001c8239f35b600080fdfe608060408181526004918236101561001657600080fd5b600090813560e01c90816309c5eabe1461031957816314bfd6d01461053b575080631876eed9146104d05780631c92115f1461049e578063269eb65e146101ba57806326ef699d1461043b5780632a2dae0a146103e4578063364940d8146102c45780635c60da1b146103e45780635f6970c3146103e957806364940c56146103e457806367ace8eb1461039b5780637b1b769e1461038057806388b305871461019e578063935b13f6146103545780639543fe141461031e5780639ded06df14610319578063a3499c73146102df578063aa1e1f0a146102c4578063b54170841461023b578063bc00c216146101bf578063cec7b359146101ba578063d26ff2101461019e5763f6a5f9f51461012c57600080fd5b346101975760a0366003190112610197576001600160401b039060243582811161019a5761015d9036908601610595565b5050604435918211610197575060209261017d61018e9236908301610595565b505061018761071c565b50356107c9565b90519015158152f35b80fd5b5080fd5b50903461019a57602036600319011261019a5751908152602090f35b6106a0565b50346101975760e0366003190112610197576001600160401b039060243582811161019a576101f19036908601610595565b505060443582811161019a5761020a9036908601610595565b505061021461071c565b5060a435918211610197575060209261023361018e9236908301610595565b5050356107c9565b50823461019a5760a036600319011261019a576001600160401b039080358281116102c05761026d9036908301610595565b50506024358281116102c0576102869036908301610595565b50506044358281116102c05761029f9036908301610595565b50506064359182116102bc576102b791369101610595565b505080f35b8280fd5b8380fd5b50903461019a578160031936011261019a5751908152602090f35b50823461019a57606036600319011261019a576102fa610706565b50604435906001600160401b0382116102bc576102b791369101610595565b6105c7565b5034610197576020366003190112610197576001600160a01b03610340610706565b82546001600160a01b031916911617815580f35b50903461019a5760209061036f61036a36610630565b610732565b90516001600160a01b039091168152f35b50903461019a579060209161039436610630565b5051908152f35b509190346102bc5736600319011261019a576001600160401b039080358281116102c0576103cc90369083016106d6565b50506024359182116102bc576102b7913691016106d6565b6106ba565b5034610197576080366003190112610197576001600160401b039060243582811161019a5761041b9036908601610595565b5050604435918211610197575060209261023361018e9236908301610595565b50823461019a57608036600319011261019a576001600160401b039080358281116102c05761046d9036908301610595565b50506024358281116102c0576104869036908301610595565b50506044359182116102bc576102b791369101610595565b50823461019a57606036600319011261019a576001600160401b039080358281116102c05761046d9036908301610595565b50346101975760c0366003190112610197576001600160401b039060243582811161019a576105029036908601610595565b505060443582811161019a5761051b9036908601610595565b5050608435918211610197575060209261023361018e9236908301610595565b82843461019a576020806003193601126102bc57808452606051848201819052849392840192608092905b82811061057557505050500390f35b83516001600160a01b031685528695509381019392810192600101610566565b9181601f840112156105c2578235916001600160401b0383116105c257602083818601950101116105c257565b600080fd5b346105c25760203660031901126105c2576004356001600160401b0381116105c2576105f7903690600401610595565b005b90601f801991011681019081106001600160401b0382111761061a57604052565b634e487b7160e01b600052604160045260246000fd5b60206003198201126105c2576001600160401b036004358181116105c257826023820112156105c257806004013591821161061a576040519261067d601f8401601f1916602001856105f9565b828452602483830101116105c25781600092602460209301838601378301015290565b346105c2576106ae36610630565b50602060405160008152f35b346105c25760003660031901126105c257602060405160008152f35b9181601f840112156105c2578235916001600160401b0383116105c2576020808501948460051b0101116105c257565b600435906001600160a01b03821682036105c257565b606435906001600160a01b03821682036105c257565b604051908181519160005b8381106107b25750508061076092602092016000838201520380845201826105f9565b602081519101206040516020810190635553444360e01b825260048152604081018181106001600160401b0382111761061a57604052519020036107ad576000546001600160a01b031690565b600090565b60208282018101518683018201528593500161073d565b637472756560e01b036107ad5760019056fea2646970667358221220c8fb820e176bd9c2cd777b566384a253513db63f3e31b64745609edbec58d3e364736f6c63430008120033"; type DummyGatewayConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/mock/MockERC20__factory.ts b/typechain-types/factories/contracts/mock/MockERC20__factory.ts index baf9279a4..f29342e32 100644 --- a/typechain-types/factories/contracts/mock/MockERC20__factory.ts +++ b/typechain-types/factories/contracts/mock/MockERC20__factory.ts @@ -21,12 +21,12 @@ const _abi = [ inputs: [ { internalType: "string", - name: "curName", + name: "name", type: "string", }, { internalType: "string", - name: "curSymbol", + name: "symbol", type: "string", }, { @@ -412,7 +412,7 @@ const _abi = [ ] as const; const _bytecode = - "0x604060808152346200044257620011c6803803806200001e8162000447565b9283398101606082820312620004425781516001600160401b039290838111620004425782620000509183016200046d565b9260209283830151828111620004425786916200006f9185016200046d565b92015193805191808311620003425760038054936001938486811c9616801562000437575b8887101462000421578190601f96878111620003cb575b508890878311600114620003645760009262000358575b505060001982841b1c191690841b1781555b8451918211620003425760049485548481811c9116801562000337575b888210146200032257858111620002d7575b5086908584116001146200026c5793839491849260009562000260575b50501b92600019911b1c19161782555b60058054336001600160a01b03198216811790925586519291906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3670de0b6b3a7640000948581029581870414901517156200024b5733156200020e57505060025490838201809211620001f957506000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160025533835282815284832084815401905584519384523393a351610ce69081620004e08239f35b601190634e487b7160e01b6000525260246000fd5b8360649362461bcd60e51b845283015260248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b601183634e487b7160e01b6000525260246000fd5b01519350388062000120565b9190601f198416928760005284896000209460005b8b89838310620002bf5750505010620002a4575b50505050811b01825562000130565b01519060f884600019921b161c191690553880808062000295565b86860151895590970196948501948893500162000281565b86600052876000208680860160051c8201928a871062000318575b0160051c019085905b8281106200030b57505062000103565b60008155018590620002fb565b92508192620002f2565b602287634e487b7160e01b6000525260246000fd5b90607f1690620000f1565b634e487b7160e01b600052604160045260246000fd5b015190503880620000c2565b90869350601f19831691856000528a6000209260005b8c828210620003b457505084116200039b575b505050811b018155620000d4565b015160001983861b60f8161c191690553880806200038d565b8385015186558a979095019493840193016200037a565b90915083600052886000208780850160051c8201928b861062000417575b918891869594930160051c01915b82811062000407575050620000ab565b60008155859450889101620003f7565b92508192620003e9565b634e487b7160e01b600052602260045260246000fd5b95607f169562000094565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200034257604052565b919080601f84011215620004425782516001600160401b0381116200034257602090620004a3601f8201601f1916830162000447565b92818452828287010111620004425760005b818110620004cb57508260009394955001015290565b8581018301518482018401528201620004b556fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde03146106b757508063095ea7b31461068d57806318160ddd1461066e57806323b872dd14610631578063313ce5671461061557806339509351146105c557806340c10f19146104ff57806342966c68146104e157806370a08231146104aa578063715018a61461044d57806379cc67901461041a5780638da5cb5b146103f157806395d89b41146102d1578063a457c2d71461022a578063a9059cbb146101f9578063dd62ed3e146101ac5763f2fde38b146100de57600080fd5b346101a85760203660031901126101a8576100f76107f5565b90610100610826565b6001600160a01b03918216928315610156575050600554826bffffffffffffffffffffffff60a01b821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346101f557806003193601126101f557806020926101ca6107f5565b6101d2610810565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b5050346101f557806003193601126101f5576020906102236102196107f5565b60243590336108a1565b5160018152f35b5082346102ce57826003193601126102ce576102446107f5565b918360243592338152600160205281812060018060a01b038616825260205220549082821061027d576020856102238585038733610a0f565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b509190346101f557816003193601126101f557805190828454600181811c908083169283156103e7575b60209384841081146103d4578388529081156103b85750600114610363575b505050829003601f01601f191682019267ffffffffffffffff841183851017610350575082918261034c9252826107ac565b0390f35b634e487b7160e01b815260418552602490fd5b8787529192508591837f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8385106103a4575050505083010138808061031a565b80548886018301529301928490820161038e565b60ff1916878501525050151560051b840101905038808061031a565b634e487b7160e01b895260228a52602489fd5b91607f16916102fb565b5050346101f557816003193601126101f55760055490516001600160a01b039091168152602090f35b5050346101f5573660031901126102ce5761044a6104366107f5565b60243590610445823383610b11565b610ba9565b80f35b83346102ce57806003193601126102ce57610466610826565b600580546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346101f55760203660031901126101f55760209181906001600160a01b036104d26107f5565b16815280845220549051908152f35b8382346101f55760203660031901126101f55761044a903533610ba9565b5090346101a857806003193601126101a8576105196107f5565b9060243591610526610826565b6001600160a01b031692831561058357506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610569879560025461087e565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b5050346101f557806003193601126101f55761022360209261060e6105e86107f5565b338352600186528483206001600160a01b0382168452865291849020546024359061087e565b9033610a0f565b5050346101f557816003193601126101f5576020905160128152f35b5050346101f55760603660031901126101f5576020906102236106526107f5565b61065a610810565b60443591610669833383610b11565b6108a1565b5050346101f557816003193601126101f5576020906002549051908152f35b5050346101f557806003193601126101f5576020906102236106ad6107f5565b6024359033610a0f565b84915083346101a857826003193601126101a85782600354600181811c908083169283156107a2575b60209384841081146103d457838852908115610786575060011461073057505050829003601f01601f191682019267ffffffffffffffff841183851017610350575082918261034c9252826107ac565b600387529192508591837fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b838510610772575050505083010185808061031a565b80548886018301529301928490820161075c565b60ff1916878501525050151560051b840101905085808061031a565b91607f16916106e0565b6020808252825181830181905290939260005b8281106107e157505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016107bf565b600435906001600160a01b038216820361080b57565b600080fd5b602435906001600160a01b038216820361080b57565b6005546001600160a01b0316330361083a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9190820180921161088b57565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b039081169182156109bc571691821561096b5760008281528060205260408120549180831061091757604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b03908116918215610ac05716918215610a705760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9060018060a01b0380831660005260016020526040600020908216600052602052604060002054926000198403610b49575b50505050565b808410610b6457610b5b930391610a0f565b38808080610b43565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b6001600160a01b03168015610c6157600091818352826020526040832054818110610c1157817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef926020928587528684520360408620558060025403600255604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fdfea264697066735822122079c454c035a7cd4766aaa04718e29131b7750653dc2c70f709ebcf958ad9025a64736f6c63430008120033"; + "0x604060808152346200044257620011c6803803806200001e8162000447565b9283398101606082820312620004425781516001600160401b039290838111620004425782620000509183016200046d565b9260209283830151828111620004425786916200006f9185016200046d565b92015193805191808311620003425760038054936001938486811c9616801562000437575b8887101462000421578190601f96878111620003cb575b508890878311600114620003645760009262000358575b505060001982841b1c191690841b1781555b8451918211620003425760049485548481811c9116801562000337575b888210146200032257858111620002d7575b5086908584116001146200026c5793839491849260009562000260575b50501b92600019911b1c19161782555b60058054336001600160a01b03198216811790925586519291906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3670de0b6b3a7640000948581029581870414901517156200024b5733156200020e57505060025490838201809211620001f957506000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160025533835282815284832084815401905584519384523393a351610ce69081620004e08239f35b601190634e487b7160e01b6000525260246000fd5b8360649362461bcd60e51b845283015260248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b601183634e487b7160e01b6000525260246000fd5b01519350388062000120565b9190601f198416928760005284896000209460005b8b89838310620002bf5750505010620002a4575b50505050811b01825562000130565b01519060f884600019921b161c191690553880808062000295565b86860151895590970196948501948893500162000281565b86600052876000208680860160051c8201928a871062000318575b0160051c019085905b8281106200030b57505062000103565b60008155018590620002fb565b92508192620002f2565b602287634e487b7160e01b6000525260246000fd5b90607f1690620000f1565b634e487b7160e01b600052604160045260246000fd5b015190503880620000c2565b90869350601f19831691856000528a6000209260005b8c828210620003b457505084116200039b575b505050811b018155620000d4565b015160001983861b60f8161c191690553880806200038d565b8385015186558a979095019493840193016200037a565b90915083600052886000208780850160051c8201928b861062000417575b918891869594930160051c01915b82811062000407575050620000ab565b60008155859450889101620003f7565b92508192620003e9565b634e487b7160e01b600052602260045260246000fd5b95607f169562000094565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200034257604052565b919080601f84011215620004425782516001600160401b0381116200034257602090620004a3601f8201601f1916830162000447565b92818452828287010111620004425760005b818110620004cb57508260009394955001015290565b8581018301518482018401528201620004b556fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde03146106b757508063095ea7b31461068d57806318160ddd1461066e57806323b872dd14610631578063313ce5671461061557806339509351146105c557806340c10f19146104ff57806342966c68146104e157806370a08231146104aa578063715018a61461044d57806379cc67901461041a5780638da5cb5b146103f157806395d89b41146102d1578063a457c2d71461022a578063a9059cbb146101f9578063dd62ed3e146101ac5763f2fde38b146100de57600080fd5b346101a85760203660031901126101a8576100f76107f5565b90610100610826565b6001600160a01b03918216928315610156575050600554826bffffffffffffffffffffffff60a01b821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346101f557806003193601126101f557806020926101ca6107f5565b6101d2610810565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b5050346101f557806003193601126101f5576020906102236102196107f5565b60243590336108a1565b5160018152f35b5082346102ce57826003193601126102ce576102446107f5565b918360243592338152600160205281812060018060a01b038616825260205220549082821061027d576020856102238585038733610a0f565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b509190346101f557816003193601126101f557805190828454600181811c908083169283156103e7575b60209384841081146103d4578388529081156103b85750600114610363575b505050829003601f01601f191682019267ffffffffffffffff841183851017610350575082918261034c9252826107ac565b0390f35b634e487b7160e01b815260418552602490fd5b8787529192508591837f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8385106103a4575050505083010138808061031a565b80548886018301529301928490820161038e565b60ff1916878501525050151560051b840101905038808061031a565b634e487b7160e01b895260228a52602489fd5b91607f16916102fb565b5050346101f557816003193601126101f55760055490516001600160a01b039091168152602090f35b5050346101f5573660031901126102ce5761044a6104366107f5565b60243590610445823383610b11565b610ba9565b80f35b83346102ce57806003193601126102ce57610466610826565b600580546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346101f55760203660031901126101f55760209181906001600160a01b036104d26107f5565b16815280845220549051908152f35b8382346101f55760203660031901126101f55761044a903533610ba9565b5090346101a857806003193601126101a8576105196107f5565b9060243591610526610826565b6001600160a01b031692831561058357506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610569879560025461087e565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b5050346101f557806003193601126101f55761022360209261060e6105e86107f5565b338352600186528483206001600160a01b0382168452865291849020546024359061087e565b9033610a0f565b5050346101f557816003193601126101f5576020905160128152f35b5050346101f55760603660031901126101f5576020906102236106526107f5565b61065a610810565b60443591610669833383610b11565b6108a1565b5050346101f557816003193601126101f5576020906002549051908152f35b5050346101f557806003193601126101f5576020906102236106ad6107f5565b6024359033610a0f565b84915083346101a857826003193601126101a85782600354600181811c908083169283156107a2575b60209384841081146103d457838852908115610786575060011461073057505050829003601f01601f191682019267ffffffffffffffff841183851017610350575082918261034c9252826107ac565b600387529192508591837fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b838510610772575050505083010185808061031a565b80548886018301529301928490820161075c565b60ff1916878501525050151560051b840101905085808061031a565b91607f16916106e0565b6020808252825181830181905290939260005b8281106107e157505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016107bf565b600435906001600160a01b038216820361080b57565b600080fd5b602435906001600160a01b038216820361080b57565b6005546001600160a01b0316330361083a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9190820180921161088b57565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b039081169182156109bc571691821561096b5760008281528060205260408120549180831061091757604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b03908116918215610ac05716918215610a705760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9060018060a01b0380831660005260016020526040600020908216600052602052604060002054926000198403610b49575b50505050565b808410610b6457610b5b930391610a0f565b38808080610b43565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b6001600160a01b03168015610c6157600091818352826020526040832054818110610c1157817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef926020928587528684520360408620558060025403600255604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fdfea26469706673582212206d9117e250fbadd02de468be6af6c5bd748572deca8a29f44d29e96bc2b468b064736f6c63430008120033"; type MockERC20ConstructorParams = | [signer?: Signer] @@ -432,30 +432,25 @@ export class MockERC20__factory extends ContractFactory { } override deploy( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, + name: PromiseOrValue, + symbol: PromiseOrValue, supply: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise { return super.deploy( - curName, - curSymbol, + name, + symbol, supply, overrides || {} ) as Promise; } override getDeployTransaction( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, + name: PromiseOrValue, + symbol: PromiseOrValue, supply: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): TransactionRequest { - return super.getDeployTransaction( - curName, - curSymbol, - supply, - overrides || {} - ); + return super.getDeployTransaction(name, symbol, supply, overrides || {}); } override attach(address: string): MockERC20 { return super.attach(address) as MockERC20; diff --git a/typechain-types/factories/contracts/mock/MockUSDC__factory.ts b/typechain-types/factories/contracts/mock/MockUSDC__factory.ts index 264b00018..ec42aa705 100644 --- a/typechain-types/factories/contracts/mock/MockUSDC__factory.ts +++ b/typechain-types/factories/contracts/mock/MockUSDC__factory.ts @@ -21,12 +21,12 @@ const _abi = [ inputs: [ { internalType: "string", - name: "curName", + name: "name", type: "string", }, { internalType: "string", - name: "curSymbol", + name: "symbol", type: "string", }, { @@ -412,7 +412,7 @@ const _abi = [ ] as const; const _bytecode = - "0x604060808152346200043d57620011c1803803806200001e8162000442565b92833981016060828203126200043d5781516001600160401b0392908381116200043d57826200005091830162000468565b92602092838301518281116200043d5786916200006f91850162000468565b920151938051918083116200033d5760038054936001938486811c9616801562000432575b888710146200041c578190601f96878111620003c6575b5088908783116001146200035f5760009262000353575b505060001982841b1c191690841b1781555b84519182116200033d5760049485548481811c9116801562000332575b888210146200031d57858111620002d2575b50869085841160011462000267579383949184926000956200025b575b50501b92600019911b1c19161782555b60058054336001600160a01b03198216811790925586519291906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3620f424094858102958187041490151715620002465733156200020957505060025490838201809211620001f457506000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160025533835282815284832084815401905584519384523393a351610ce69081620004db8239f35b601190634e487b7160e01b6000525260246000fd5b8360649362461bcd60e51b845283015260248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b601183634e487b7160e01b6000525260246000fd5b01519350388062000120565b9190601f198416928760005284896000209460005b8b89838310620002ba57505050106200029f575b50505050811b01825562000130565b01519060f884600019921b161c191690553880808062000290565b8686015189559097019694850194889350016200027c565b86600052876000208680860160051c8201928a871062000313575b0160051c019085905b8281106200030657505062000103565b60008155018590620002f6565b92508192620002ed565b602287634e487b7160e01b6000525260246000fd5b90607f1690620000f1565b634e487b7160e01b600052604160045260246000fd5b015190503880620000c2565b90869350601f19831691856000528a6000209260005b8c828210620003af575050841162000396575b505050811b018155620000d4565b015160001983861b60f8161c1916905538808062000388565b8385015186558a9790950194938401930162000375565b90915083600052886000208780850160051c8201928b861062000412575b918891869594930160051c01915b82811062000402575050620000ab565b60008155859450889101620003f2565b92508192620003e4565b634e487b7160e01b600052602260045260246000fd5b95607f169562000094565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033d57604052565b919080601f840112156200043d5782516001600160401b0381116200033d576020906200049e601f8201601f1916830162000442565b928184528282870101116200043d5760005b818110620004c657508260009394955001015290565b8581018301518482018401528201620004b056fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde03146106b757508063095ea7b31461068d57806318160ddd1461066e57806323b872dd14610631578063313ce5671461061557806339509351146105c557806340c10f19146104ff57806342966c68146104e157806370a08231146104aa578063715018a61461044d57806379cc67901461041a5780638da5cb5b146103f157806395d89b41146102d1578063a457c2d71461022a578063a9059cbb146101f9578063dd62ed3e146101ac5763f2fde38b146100de57600080fd5b346101a85760203660031901126101a8576100f76107f5565b90610100610826565b6001600160a01b03918216928315610156575050600554826bffffffffffffffffffffffff60a01b821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346101f557806003193601126101f557806020926101ca6107f5565b6101d2610810565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b5050346101f557806003193601126101f5576020906102236102196107f5565b60243590336108a1565b5160018152f35b5082346102ce57826003193601126102ce576102446107f5565b918360243592338152600160205281812060018060a01b038616825260205220549082821061027d576020856102238585038733610a0f565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b509190346101f557816003193601126101f557805190828454600181811c908083169283156103e7575b60209384841081146103d4578388529081156103b85750600114610363575b505050829003601f01601f191682019267ffffffffffffffff841183851017610350575082918261034c9252826107ac565b0390f35b634e487b7160e01b815260418552602490fd5b8787529192508591837f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8385106103a4575050505083010138808061031a565b80548886018301529301928490820161038e565b60ff1916878501525050151560051b840101905038808061031a565b634e487b7160e01b895260228a52602489fd5b91607f16916102fb565b5050346101f557816003193601126101f55760055490516001600160a01b039091168152602090f35b5050346101f5573660031901126102ce5761044a6104366107f5565b60243590610445823383610b11565b610ba9565b80f35b83346102ce57806003193601126102ce57610466610826565b600580546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346101f55760203660031901126101f55760209181906001600160a01b036104d26107f5565b16815280845220549051908152f35b8382346101f55760203660031901126101f55761044a903533610ba9565b5090346101a857806003193601126101a8576105196107f5565b9060243591610526610826565b6001600160a01b031692831561058357506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610569879560025461087e565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b5050346101f557806003193601126101f55761022360209261060e6105e86107f5565b338352600186528483206001600160a01b0382168452865291849020546024359061087e565b9033610a0f565b5050346101f557816003193601126101f5576020905160068152f35b5050346101f55760603660031901126101f5576020906102236106526107f5565b61065a610810565b60443591610669833383610b11565b6108a1565b5050346101f557816003193601126101f5576020906002549051908152f35b5050346101f557806003193601126101f5576020906102236106ad6107f5565b6024359033610a0f565b84915083346101a857826003193601126101a85782600354600181811c908083169283156107a2575b60209384841081146103d457838852908115610786575060011461073057505050829003601f01601f191682019267ffffffffffffffff841183851017610350575082918261034c9252826107ac565b600387529192508591837fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b838510610772575050505083010185808061031a565b80548886018301529301928490820161075c565b60ff1916878501525050151560051b840101905085808061031a565b91607f16916106e0565b6020808252825181830181905290939260005b8281106107e157505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016107bf565b600435906001600160a01b038216820361080b57565b600080fd5b602435906001600160a01b038216820361080b57565b6005546001600160a01b0316330361083a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9190820180921161088b57565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b039081169182156109bc571691821561096b5760008281528060205260408120549180831061091757604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b03908116918215610ac05716918215610a705760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9060018060a01b0380831660005260016020526040600020908216600052602052604060002054926000198403610b49575b50505050565b808410610b6457610b5b930391610a0f565b38808080610b43565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b6001600160a01b03168015610c6157600091818352826020526040832054818110610c1157817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef926020928587528684520360408620558060025403600255604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fdfea264697066735822122009a2a196648ba45eca147d933bf9702d7ba24ecaa93effeb5f82e438e9927a4c64736f6c63430008120033"; + "0x604060808152346200043d57620011c1803803806200001e8162000442565b92833981016060828203126200043d5781516001600160401b0392908381116200043d57826200005091830162000468565b92602092838301518281116200043d5786916200006f91850162000468565b920151938051918083116200033d5760038054936001938486811c9616801562000432575b888710146200041c578190601f96878111620003c6575b5088908783116001146200035f5760009262000353575b505060001982841b1c191690841b1781555b84519182116200033d5760049485548481811c9116801562000332575b888210146200031d57858111620002d2575b50869085841160011462000267579383949184926000956200025b575b50501b92600019911b1c19161782555b60058054336001600160a01b03198216811790925586519291906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3620f424094858102958187041490151715620002465733156200020957505060025490838201809211620001f457506000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9160025533835282815284832084815401905584519384523393a351610ce69081620004db8239f35b601190634e487b7160e01b6000525260246000fd5b8360649362461bcd60e51b845283015260248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b601183634e487b7160e01b6000525260246000fd5b01519350388062000120565b9190601f198416928760005284896000209460005b8b89838310620002ba57505050106200029f575b50505050811b01825562000130565b01519060f884600019921b161c191690553880808062000290565b8686015189559097019694850194889350016200027c565b86600052876000208680860160051c8201928a871062000313575b0160051c019085905b8281106200030657505062000103565b60008155018590620002f6565b92508192620002ed565b602287634e487b7160e01b6000525260246000fd5b90607f1690620000f1565b634e487b7160e01b600052604160045260246000fd5b015190503880620000c2565b90869350601f19831691856000528a6000209260005b8c828210620003af575050841162000396575b505050811b018155620000d4565b015160001983861b60f8161c1916905538808062000388565b8385015186558a9790950194938401930162000375565b90915083600052886000208780850160051c8201928b861062000412575b918891869594930160051c01915b82811062000402575050620000ab565b60008155859450889101620003f2565b92508192620003e4565b634e487b7160e01b600052602260045260246000fd5b95607f169562000094565b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033d57604052565b919080601f840112156200043d5782516001600160401b0381116200033d576020906200049e601f8201601f1916830162000442565b928184528282870101116200043d5760005b818110620004c657508260009394955001015290565b8581018301518482018401528201620004b056fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde03146106b757508063095ea7b31461068d57806318160ddd1461066e57806323b872dd14610631578063313ce5671461061557806339509351146105c557806340c10f19146104ff57806342966c68146104e157806370a08231146104aa578063715018a61461044d57806379cc67901461041a5780638da5cb5b146103f157806395d89b41146102d1578063a457c2d71461022a578063a9059cbb146101f9578063dd62ed3e146101ac5763f2fde38b146100de57600080fd5b346101a85760203660031901126101a8576100f76107f5565b90610100610826565b6001600160a01b03918216928315610156575050600554826bffffffffffffffffffffffff60a01b821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b8280fd5b5050346101f557806003193601126101f557806020926101ca6107f5565b6101d2610810565b6001600160a01b0391821683526001865283832091168252845220549051908152f35b5080fd5b5050346101f557806003193601126101f5576020906102236102196107f5565b60243590336108a1565b5160018152f35b5082346102ce57826003193601126102ce576102446107f5565b918360243592338152600160205281812060018060a01b038616825260205220549082821061027d576020856102238585038733610a0f565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b509190346101f557816003193601126101f557805190828454600181811c908083169283156103e7575b60209384841081146103d4578388529081156103b85750600114610363575b505050829003601f01601f191682019267ffffffffffffffff841183851017610350575082918261034c9252826107ac565b0390f35b634e487b7160e01b815260418552602490fd5b8787529192508591837f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8385106103a4575050505083010138808061031a565b80548886018301529301928490820161038e565b60ff1916878501525050151560051b840101905038808061031a565b634e487b7160e01b895260228a52602489fd5b91607f16916102fb565b5050346101f557816003193601126101f55760055490516001600160a01b039091168152602090f35b5050346101f5573660031901126102ce5761044a6104366107f5565b60243590610445823383610b11565b610ba9565b80f35b83346102ce57806003193601126102ce57610466610826565b600580546001600160a01b0319811690915581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346101f55760203660031901126101f55760209181906001600160a01b036104d26107f5565b16815280845220549051908152f35b8382346101f55760203660031901126101f55761044a903533610ba9565b5090346101a857806003193601126101a8576105196107f5565b9060243591610526610826565b6001600160a01b031692831561058357506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610569879560025461087e565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b5050346101f557806003193601126101f55761022360209261060e6105e86107f5565b338352600186528483206001600160a01b0382168452865291849020546024359061087e565b9033610a0f565b5050346101f557816003193601126101f5576020905160068152f35b5050346101f55760603660031901126101f5576020906102236106526107f5565b61065a610810565b60443591610669833383610b11565b6108a1565b5050346101f557816003193601126101f5576020906002549051908152f35b5050346101f557806003193601126101f5576020906102236106ad6107f5565b6024359033610a0f565b84915083346101a857826003193601126101a85782600354600181811c908083169283156107a2575b60209384841081146103d457838852908115610786575060011461073057505050829003601f01601f191682019267ffffffffffffffff841183851017610350575082918261034c9252826107ac565b600387529192508591837fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b838510610772575050505083010185808061031a565b80548886018301529301928490820161075c565b60ff1916878501525050151560051b840101905085808061031a565b91607f16916106e0565b6020808252825181830181905290939260005b8281106107e157505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016107bf565b600435906001600160a01b038216820361080b57565b600080fd5b602435906001600160a01b038216820361080b57565b6005546001600160a01b0316330361083a57565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b9190820180921161088b57565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b039081169182156109bc571691821561096b5760008281528060205260408120549180831061091757604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b03908116918215610ac05716918215610a705760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b9060018060a01b0380831660005260016020526040600020908216600052602052604060002054926000198403610b49575b50505050565b808410610b6457610b5b930391610a0f565b38808080610b43565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b6001600160a01b03168015610c6157600091818352826020526040832054818110610c1157817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef926020928587528684520360408620558060025403600255604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fdfea2646970667358221220f65136c0bd43f5b0a2c086fcc324edeec135b0a567d737c05091b59665e5a1e764736f6c63430008120033"; type MockUSDCConstructorParams = | [signer?: Signer] @@ -432,30 +432,25 @@ export class MockUSDC__factory extends ContractFactory { } override deploy( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, + name: PromiseOrValue, + symbol: PromiseOrValue, supply: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise { return super.deploy( - curName, - curSymbol, + name, + symbol, supply, overrides || {} ) as Promise; } override getDeployTransaction( - curName: PromiseOrValue, - curSymbol: PromiseOrValue, + name: PromiseOrValue, + symbol: PromiseOrValue, supply: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): TransactionRequest { - return super.getDeployTransaction( - curName, - curSymbol, - supply, - overrides || {} - ); + return super.getDeployTransaction(name, symbol, supply, overrides || {}); } override attach(address: string): MockUSDC { return super.attach(address) as MockUSDC; diff --git a/typechain-types/factories/contracts/mock/uniswapUtils.sol/UniswapUtils__factory.ts b/typechain-types/factories/contracts/mock/uniswapUtils.sol/UniswapUtils__factory.ts index c43eb6c9b..a9be5a6c5 100644 --- a/typechain-types/factories/contracts/mock/uniswapUtils.sol/UniswapUtils__factory.ts +++ b/typechain-types/factories/contracts/mock/uniswapUtils.sol/UniswapUtils__factory.ts @@ -148,7 +148,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461003c57600080546001600160a01b03191673c36442b4a4522e871399cd717abdd847ab11fe8817905561176d90816100428239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630ff1c332146100475780633e9c9fa5146100425763b44a27221461003d57600080fd5b61025f565b6101e1565b346100de57610100806003193601126100de57610065610180604052565b61006d610169565b608052610078610178565b60a052610083610185565b60c05260643560e0526084359052610099610197565b610120526100a56101b1565b610140526100b16101c1565b610160526100da6100c0610743565b6040516001600160a01b0390911681529081906020820190565b0390f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60e0810190811067ffffffffffffffff82111761011557604052565b6100e3565b6040810190811067ffffffffffffffff82111761011557604052565b90601f8019910116810190811067ffffffffffffffff82111761011557604052565b6001600160a01b038116036100de57565b6004359061017682610158565b565b6024359061017682610158565b6044359062ffffff821682036100de57565b60a4359061017682610158565b6084359061017682610158565b60c435908160020b82036100de57565b60e435908160020b82036100de57565b60a435908160020b82036100de57565b60e03660031901126100de576100da6100c06040516101ff816100f9565b60043561020b81610158565b815260243561021981610158565b6020820152610226610185565b6040820152606435606082015261023b6101a4565b60808201526102486101d1565b60a08201526102556101b1565b60c082015261109c565b346100de5760003660031901126100de576000546040516001600160a01b039091168152602090f35b908160209103126100de575190565b6040513d6000823e3d90fd5b156102aa57565b60405162461bcd60e51b815260206004820152602160248201527f496e73756666696369656e742070726f6a656374546f6b656e2062616c616e636044820152606560f81b6064820152608490fd5b1561030057565b60405162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e742075736463546f6b656e2062616c616e636500006044820152606490fd5b908160209103126100de575180151581036100de5790565b1561036457565b60405162461bcd60e51b81526020600482015260136024820152721d1c985b9cd9995c919c9bdb4819985a5b1959606a1b6044820152606490fd5b156103a657565b60405162461bcd60e51b815260206004820152600e60248201526d185c1c1c9bdd994819985a5b195960921b6044820152606490fd5b67ffffffffffffffff81116101155760051b60200190565b604090815191606080840184811067ffffffffffffffff821117610115578252600284528360005b8381106104295750505050565b808360208093850101520161041c565b8051156104465760200190565b634e487b7160e01b600052603260045260246000fd5b8051600110156104465760400190565b634e487b7160e01b600052601160045260246000fd5b906107d0820180921161049157565b61046c565b67ffffffffffffffff811161011557601f01601f191660200190565b60005b8381106104c55750506000910152565b81810151838201526020016104b5565b60209081818403126100de57805167ffffffffffffffff918282116100de57019083601f830112156100de57815161050c816103dc565b9460409261051c84519788610136565b828752858088019360051b860101948286116100de57868101935b86851061054957505050505050505090565b84518381116100de5782019084603f830112156100de57888201519061056e82610496565b61057a89519182610136565b828152868984860101116100de5761059b8b949385948b86850191016104b2565b815201940193610537565b906020916105bf815180928185528580860191016104b2565b601f01601f1916010190565b602080820190808352835180925260408301928160408460051b8301019501936000915b8483106105ff5750505050505090565b909192939495848061061d600193603f198682030187528a516105a6565b98019301930191949392906105ef565b908160209103126100de575161064281610158565b90565b91908260809103126100de5781519160208101516fffffffffffffffffffffffffffffffff811681036100de57916060604083015192015190565b9190820391821161049157565b6040519061069a8261011a565b600b82526a0526566756e6420616d74360ac1b6020830152565b156106bb57565b60405162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b604051906106ff8261011a565b600b82526a526566756e6420616d743160a81b6020830152565b604051906107268261011a565b600e82526d031b932b0ba32b2103837b7b61d160951b6020830152565b608080516107679061075b906001600160a01b031681565b6001600160a01b031690565b604080516370a0823160e01b80825233600480840191909152602094919390918590849060249082905afa928315610d4057600093610f45575b506107b160e093845111156102a3565b60a091856107cb61075b61075b865160018060a01b031690565b8351968752338388019081528791908290819060200103915afa948515610d4057600095610f16575b5061080561010095865111156102f9565b865161081b9061075b906001600160a01b031681565b845183516323b872dd60e01b808252338583019081523060208201526040810193909352909992909189918b918290600090829060600103925af1908115610d405761087489926108b99b600091610eff575b5061035d565b855161088a9061075b906001600160a01b031681565b88518651928352338684019081523060208201526040810191909152919a8b9283916000918391606090910190565b03925af1978815610d40576000986108d7918a91610ee2575061035d565b80516108ed9061075b906001600160a01b031681565b948761093961090561075b8c5460018060a01b031690565b97835187519c8d8094819363095ea7b360e01b9d8e84528b840160209093929193604081019460018060a01b031681520152565b03925af1988915610d40576109b69961095a91600091610ecb575b5061039f565b845188906109729061075b906001600160a01b031681565b600054610987906001600160a01b031661075b565b9089519160008a89519e8f958694859384528b840160209093929193604081019460018060a01b031681520152565b03925af1918215610d40576109d7610b359360009b8c91610e69575061039f565b89610b848a87610b418c6109e96103f4565b93610a158d610a0f610a018b5160018060a01b031690565b91516001600160a01b031690565b90610f64565b9b90959091898d14610ec3578b51945b8d8b14610ebb57515b60c0516101205184516309f56ab160e11b888201526001600160a01b0385811660248301528b8116604483015262ffffff909316606482015291166084808301919091528152601f199690610a8460a482610136565b610a8d8b610439565b52610a978a610439565b5060c05162ffffff166101405160020b6101605160020b5b91610ab942610482565b96519b8c99634418b22b60e11b908b0152309660248b01959194909998979362ffffff610140989461016089019c60018060a01b0398898092168b521660208a015216604088015260020b606087015260020b608086015260a085015260c0840152600160e08401526001610100840152166101208201520152565b03908101835282610136565b610b4a8261045c565b52610b548161045c565b508254610b69906001600160a01b031661075b565b9088519d8e80948193631592ca1b60e31b83528b83016105cb565b03925af1998a15610d405760009a610e86575b50610bd1610bc2610bbc61075b610bad8e610439565b518d808251830101910161062d565b9b61045c565b518a8082518301019101610645565b9591509150600014610e80575b82518110610d62575b50505085518110610c0b575b5050505050505061064281610c06610719565b6116e9565b8351610c69958891610c279061075b906001600160a01b031681565b600054610c3c906001600160a01b031661075b565b86519283526001600160a01b03168583019081526000602082018190529298899384929091839160400190565b03925af1908115610d405761075b61075b610c9f610cbe93610ce99a610c996000978e9c8991610d45575061039f565b51610680565b96610cb188610cac6106f2565b6116a6565b516001600160a01b031690565b925163a9059cbb60e01b81523392810192835260208301949094529294859384929091839160400190565b03925af1908115610d4057610d0792600092610d13575b50506106b4565b38808080808080610bf3565b610d329250803d10610d39575b610d2a8183610136565b810190610345565b3880610d00565b503d610d20565b610297565b610d5c91508d803d10610d3957610d2a8183610136565b38610954565b8151610dc092908b90610d7f9061075b906001600160a01b031681565b600054610d94906001600160a01b031661075b565b908b60008b5180988195829483528d83016020600091939293604081019460018060a01b031681520152565b03925af1918215610d405761075b61075b610df1610dfe938f9798610c99610e289860009b8c91610e69575061039f565b93610cb185610cac61068d565b875163a9059cbb60e01b815233888201908152602081019390935294859391928492839160400190565b03925af18015610d4057610e4491600091610e4c575b506106b4565b388080610be7565b610e639150893d8b11610d3957610d2a8183610136565b38610e3e565b610d5c91508b3d8d11610d3957610d2a8183610136565b92610bde565b610bc2610bbc61075b610eb1610bd194610bad9f3d8091833e610ea98183610136565b8101906104d5565b9d50505050610b97565b508b51610a2e565b845194610a25565b610d5c91508a3d8c11610d3957610d2a8183610136565b610ef99150893d8b11610d3957610d2a8183610136565b3861086e565b610ef99150843d8611610d3957610d2a8183610136565b610f37919550863d8811610f3e575b610f2f8183610136565b810190610288565b93386107f4565b503d610f25565b610f5d919350853d8711610f3e57610f2f8183610136565b91386107a1565b90916001600160a01b039190828416838316808214610fd4571015610fc95760019193925b841615610f9257565b60405162461bcd60e51b815260206004820152600f60248201526e6e6f2061646472657373207a65726f60881b6044820152606490fd5b909160009190610f89565b60405162461bcd60e51b815260206004820152600a60248201526939b0b6b2903a37b5b2b760b11b6044820152606490fd5b1561100d57565b60405162461bcd60e51b815260206004820152601b60248201527f496e73756666696369656e7420746f6b656e412062616c616e636500000000006044820152606490fd5b6040519061105f8261011a565b60068252651c99599d5b9960d21b6020830152565b604051906110818261011a565b600c82526b706f6f6c206164647265737360a01b6020830152565b80516110b29061075b906001600160a01b031681565b604080516370a0823160e01b81523360048083019190915260209491939192918590859060249082905afa908115610d40576000948592611630575b50611100606085019283511115611006565b8351869061114e9061111c9061075b906001600160a01b031681565b845186516323b872dd60e01b815233868201908152306020820152604081019290925298899384928391606090910190565b03925af1948515610d405760009561116c918791611619575061035d565b83516111829061075b906001600160a01b031681565b91866111ce61119a61075b895460018060a01b031690565b9483518751998a8094819363095ea7b360e01b9a8b84528a840160209093929193604081019460018060a01b031681520152565b03925af1958615610d40576000966111ec918891611602575061039f565b868501908761124a61120a61075b61075b865160018060a01b031690565b895461121e906001600160a01b031661075b565b88518881526001600160a01b03909116878201908152346020820152909a8b9384928391604090910190565b03925af1958615610d405761126d610b35976113b899600091610e69575061039f565b60006112776103f4565b87611377848d6112a0611290835160018060a01b031690565b8a516001600160a01b0316610a0f565b9e909590918f8981146115fb578b51905b8a146115f35734905b61135a8488018a6113296112e560806112d6855162ffffff1690565b9c01516001600160a01b031690565b88516309f56ab160e11b8c8201526001600160a01b03808a166024830152938416604482015262ffffff909c1660648d01529190911660848b0152899060a4820190565b039861133d601f199a8b8101835282610136565b6113468d610439565b526113508c610439565b505162ffffff1690565b8c610aaf60c061136e60a084015160020b90565b92015160020b90565b6113808261045c565b5261138a8161045c565b50815461139f906001600160a01b031661075b565b885180809c8194631592ca1b60e31b83528a83016105cb565b039134905af1978815610d40576000986115d8575b506113da610bc28961045c565b99915091506000146115d2575b825181106114e9575b50505034851061142e575b505050505061141e9161141061075b92610439565b51805181018201910161062d565b610642611429611074565b61164f565b9186949391600061144f61075b61075b61148e9b975160018060a01b031690565b8154909390611466906001600160a01b031661075b565b9451998a9586948593845283016020600091939293604081019460018060a01b031681520152565b03925af1928315610d40576114c96114c1611410936114bb61075b9761141e996000916114d2575061039f565b34610680565b610cac611052565b928294386113fb565b610d5c9150883d8a11610d3957610d2a8183610136565b815161154792908b906115069061075b906001600160a01b031681565b60005461151b906001600160a01b031661075b565b908960008c5180988195829483528d83016020600091939293604081019460018060a01b031681520152565b03925af1918215610d405761075b61075b611578611585938f9798610c996115af9860009b8c91610e69575061039f565b93610cb185610cac611052565b885163a9059cbb60e01b815233888201908152602081019390935294859391928492839160400190565b03925af18015610d40576115ca91600091610e4c57506106b4565b3880806113f0565b966113e7565b6115ec91983d8091833e610ea98183610136565b96386113cd565b8b51906112ba565b34906112b1565b610d5c9150893d8b11610d3957610d2a8183610136565b610ef99150883d8a11610d3957610d2a8183610136565b611648919250863d8811610f3e57610f2f8183610136565b90386110ee565b61167d61168b6101769260405192839163104c13eb60e21b60208401526020602484015260448301906105a6565b03601f198101835282610136565b600080916020815191016a636f6e736f6c652e6c6f675afa50565b61168b6116d59161017693604051938492632d839cb360e21b60208501526040602485015260648401906105a6565b90604483015203601f198101835282610136565b61168b611718916101769360405193849263319af33360e01b60208501526040602485015260648401906105a6565b6001600160a01b0391909116604483015203601f19810183528261013656fea2646970667358221220dee754475a926fda95e8b0eb5cb13f6201082de274ce53b547f73d7d1b3f730e64736f6c63430008120033"; + "0x6080806040523461003c57600080546001600160a01b03191673c36442b4a4522e871399cd717abdd847ab11fe8817905561176d90816100428239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80630ff1c332146100475780633e9c9fa5146100425763b44a27221461003d57600080fd5b61025f565b6101e1565b346100de57610100806003193601126100de57610065610180604052565b61006d610169565b608052610078610178565b60a052610083610185565b60c05260643560e0526084359052610099610197565b610120526100a56101b1565b610140526100b16101c1565b610160526100da6100c0610743565b6040516001600160a01b0390911681529081906020820190565b0390f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b60e0810190811067ffffffffffffffff82111761011557604052565b6100e3565b6040810190811067ffffffffffffffff82111761011557604052565b90601f8019910116810190811067ffffffffffffffff82111761011557604052565b6001600160a01b038116036100de57565b6004359061017682610158565b565b6024359061017682610158565b6044359062ffffff821682036100de57565b60a4359061017682610158565b6084359061017682610158565b60c435908160020b82036100de57565b60e435908160020b82036100de57565b60a435908160020b82036100de57565b60e03660031901126100de576100da6100c06040516101ff816100f9565b60043561020b81610158565b815260243561021981610158565b6020820152610226610185565b6040820152606435606082015261023b6101a4565b60808201526102486101d1565b60a08201526102556101b1565b60c082015261109c565b346100de5760003660031901126100de576000546040516001600160a01b039091168152602090f35b908160209103126100de575190565b6040513d6000823e3d90fd5b156102aa57565b60405162461bcd60e51b815260206004820152602160248201527f496e73756666696369656e742070726f6a656374546f6b656e2062616c616e636044820152606560f81b6064820152608490fd5b1561030057565b60405162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e742075736463546f6b656e2062616c616e636500006044820152606490fd5b908160209103126100de575180151581036100de5790565b1561036457565b60405162461bcd60e51b81526020600482015260136024820152721d1c985b9cd9995c919c9bdb4819985a5b1959606a1b6044820152606490fd5b156103a657565b60405162461bcd60e51b815260206004820152600e60248201526d185c1c1c9bdd994819985a5b195960921b6044820152606490fd5b67ffffffffffffffff81116101155760051b60200190565b604090815191606080840184811067ffffffffffffffff821117610115578252600284528360005b8381106104295750505050565b808360208093850101520161041c565b8051156104465760200190565b634e487b7160e01b600052603260045260246000fd5b8051600110156104465760400190565b634e487b7160e01b600052601160045260246000fd5b906107d0820180921161049157565b61046c565b67ffffffffffffffff811161011557601f01601f191660200190565b60005b8381106104c55750506000910152565b81810151838201526020016104b5565b60209081818403126100de57805167ffffffffffffffff918282116100de57019083601f830112156100de57815161050c816103dc565b9460409261051c84519788610136565b828752858088019360051b860101948286116100de57868101935b86851061054957505050505050505090565b84518381116100de5782019084603f830112156100de57888201519061056e82610496565b61057a89519182610136565b828152868984860101116100de5761059b8b949385948b86850191016104b2565b815201940193610537565b906020916105bf815180928185528580860191016104b2565b601f01601f1916010190565b602080820190808352835180925260408301928160408460051b8301019501936000915b8483106105ff5750505050505090565b909192939495848061061d600193603f198682030187528a516105a6565b98019301930191949392906105ef565b908160209103126100de575161064281610158565b90565b91908260809103126100de5781519160208101516fffffffffffffffffffffffffffffffff811681036100de57916060604083015192015190565b9190820391821161049157565b6040519061069a8261011a565b600b82526a0526566756e6420616d74360ac1b6020830152565b156106bb57565b60405162461bcd60e51b815260206004820152600f60248201526e1d1c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b604051906106ff8261011a565b600b82526a526566756e6420616d743160a81b6020830152565b604051906107268261011a565b600e82526d031b932b0ba32b2103837b7b61d160951b6020830152565b608080516107679061075b906001600160a01b031681565b6001600160a01b031690565b604080516370a0823160e01b80825233600480840191909152602094919390918590849060249082905afa928315610d4057600093610f45575b506107b160e093845111156102a3565b60a091856107cb61075b61075b865160018060a01b031690565b8351968752338388019081528791908290819060200103915afa948515610d4057600095610f16575b5061080561010095865111156102f9565b865161081b9061075b906001600160a01b031681565b845183516323b872dd60e01b808252338583019081523060208201526040810193909352909992909189918b918290600090829060600103925af1908115610d405761087489926108b99b600091610eff575b5061035d565b855161088a9061075b906001600160a01b031681565b88518651928352338684019081523060208201526040810191909152919a8b9283916000918391606090910190565b03925af1978815610d40576000986108d7918a91610ee2575061035d565b80516108ed9061075b906001600160a01b031681565b948761093961090561075b8c5460018060a01b031690565b97835187519c8d8094819363095ea7b360e01b9d8e84528b840160209093929193604081019460018060a01b031681520152565b03925af1988915610d40576109b69961095a91600091610ecb575b5061039f565b845188906109729061075b906001600160a01b031681565b600054610987906001600160a01b031661075b565b9089519160008a89519e8f958694859384528b840160209093929193604081019460018060a01b031681520152565b03925af1918215610d40576109d7610b359360009b8c91610e69575061039f565b89610b848a87610b418c6109e96103f4565b93610a158d610a0f610a018b5160018060a01b031690565b91516001600160a01b031690565b90610f64565b9b90959091898d14610ec3578b51945b8d8b14610ebb57515b60c0516101205184516309f56ab160e11b888201526001600160a01b0385811660248301528b8116604483015262ffffff909316606482015291166084808301919091528152601f199690610a8460a482610136565b610a8d8b610439565b52610a978a610439565b5060c05162ffffff166101405160020b6101605160020b5b91610ab942610482565b96519b8c99634418b22b60e11b908b0152309660248b01959194909998979362ffffff610140989461016089019c60018060a01b0398898092168b521660208a015216604088015260020b606087015260020b608086015260a085015260c0840152600160e08401526001610100840152166101208201520152565b03908101835282610136565b610b4a8261045c565b52610b548161045c565b508254610b69906001600160a01b031661075b565b9088519d8e80948193631592ca1b60e31b83528b83016105cb565b03925af1998a15610d405760009a610e86575b50610bd1610bc2610bbc61075b610bad8e610439565b518d808251830101910161062d565b9b61045c565b518a8082518301019101610645565b9591509150600014610e80575b82518110610d62575b50505085518110610c0b575b5050505050505061064281610c06610719565b6116e9565b8351610c69958891610c279061075b906001600160a01b031681565b600054610c3c906001600160a01b031661075b565b86519283526001600160a01b03168583019081526000602082018190529298899384929091839160400190565b03925af1908115610d405761075b61075b610c9f610cbe93610ce99a610c996000978e9c8991610d45575061039f565b51610680565b96610cb188610cac6106f2565b6116a6565b516001600160a01b031690565b925163a9059cbb60e01b81523392810192835260208301949094529294859384929091839160400190565b03925af1908115610d4057610d0792600092610d13575b50506106b4565b38808080808080610bf3565b610d329250803d10610d39575b610d2a8183610136565b810190610345565b3880610d00565b503d610d20565b610297565b610d5c91508d803d10610d3957610d2a8183610136565b38610954565b8151610dc092908b90610d7f9061075b906001600160a01b031681565b600054610d94906001600160a01b031661075b565b908b60008b5180988195829483528d83016020600091939293604081019460018060a01b031681520152565b03925af1918215610d405761075b61075b610df1610dfe938f9798610c99610e289860009b8c91610e69575061039f565b93610cb185610cac61068d565b875163a9059cbb60e01b815233888201908152602081019390935294859391928492839160400190565b03925af18015610d4057610e4491600091610e4c575b506106b4565b388080610be7565b610e639150893d8b11610d3957610d2a8183610136565b38610e3e565b610d5c91508b3d8d11610d3957610d2a8183610136565b92610bde565b610bc2610bbc61075b610eb1610bd194610bad9f3d8091833e610ea98183610136565b8101906104d5565b9d50505050610b97565b508b51610a2e565b845194610a25565b610d5c91508a3d8c11610d3957610d2a8183610136565b610ef99150893d8b11610d3957610d2a8183610136565b3861086e565b610ef99150843d8611610d3957610d2a8183610136565b610f37919550863d8811610f3e575b610f2f8183610136565b810190610288565b93386107f4565b503d610f25565b610f5d919350853d8711610f3e57610f2f8183610136565b91386107a1565b90916001600160a01b039190828416838316808214610fd4571015610fc95760019193925b841615610f9257565b60405162461bcd60e51b815260206004820152600f60248201526e6e6f2061646472657373207a65726f60881b6044820152606490fd5b909160009190610f89565b60405162461bcd60e51b815260206004820152600a60248201526939b0b6b2903a37b5b2b760b11b6044820152606490fd5b1561100d57565b60405162461bcd60e51b815260206004820152601b60248201527f496e73756666696369656e7420746f6b656e412062616c616e636500000000006044820152606490fd5b6040519061105f8261011a565b60068252651c99599d5b9960d21b6020830152565b604051906110818261011a565b600c82526b706f6f6c206164647265737360a01b6020830152565b80516110b29061075b906001600160a01b031681565b604080516370a0823160e01b81523360048083019190915260209491939192918590859060249082905afa908115610d40576000948592611630575b50611100606085019283511115611006565b8351869061114e9061111c9061075b906001600160a01b031681565b845186516323b872dd60e01b815233868201908152306020820152604081019290925298899384928391606090910190565b03925af1948515610d405760009561116c918791611619575061035d565b83516111829061075b906001600160a01b031681565b91866111ce61119a61075b895460018060a01b031690565b9483518751998a8094819363095ea7b360e01b9a8b84528a840160209093929193604081019460018060a01b031681520152565b03925af1958615610d40576000966111ec918891611602575061039f565b868501908761124a61120a61075b61075b865160018060a01b031690565b895461121e906001600160a01b031661075b565b88518881526001600160a01b03909116878201908152346020820152909a8b9384928391604090910190565b03925af1958615610d405761126d610b35976113b899600091610e69575061039f565b60006112776103f4565b87611377848d6112a0611290835160018060a01b031690565b8a516001600160a01b0316610a0f565b9e909590918f8981146115fb578b51905b8a146115f35734905b61135a8488018a6113296112e560806112d6855162ffffff1690565b9c01516001600160a01b031690565b88516309f56ab160e11b8c8201526001600160a01b03808a166024830152938416604482015262ffffff909c1660648d01529190911660848b0152899060a4820190565b039861133d601f199a8b8101835282610136565b6113468d610439565b526113508c610439565b505162ffffff1690565b8c610aaf60c061136e60a084015160020b90565b92015160020b90565b6113808261045c565b5261138a8161045c565b50815461139f906001600160a01b031661075b565b885180809c8194631592ca1b60e31b83528a83016105cb565b039134905af1978815610d40576000986115d8575b506113da610bc28961045c565b99915091506000146115d2575b825181106114e9575b50505034851061142e575b505050505061141e9161141061075b92610439565b51805181018201910161062d565b610642611429611074565b61164f565b9186949391600061144f61075b61075b61148e9b975160018060a01b031690565b8154909390611466906001600160a01b031661075b565b9451998a9586948593845283016020600091939293604081019460018060a01b031681520152565b03925af1928315610d40576114c96114c1611410936114bb61075b9761141e996000916114d2575061039f565b34610680565b610cac611052565b928294386113fb565b610d5c9150883d8a11610d3957610d2a8183610136565b815161154792908b906115069061075b906001600160a01b031681565b60005461151b906001600160a01b031661075b565b908960008c5180988195829483528d83016020600091939293604081019460018060a01b031681520152565b03925af1918215610d405761075b61075b611578611585938f9798610c996115af9860009b8c91610e69575061039f565b93610cb185610cac611052565b885163a9059cbb60e01b815233888201908152602081019390935294859391928492839160400190565b03925af18015610d40576115ca91600091610e4c57506106b4565b3880806113f0565b966113e7565b6115ec91983d8091833e610ea98183610136565b96386113cd565b8b51906112ba565b34906112b1565b610d5c9150893d8b11610d3957610d2a8183610136565b610ef99150883d8a11610d3957610d2a8183610136565b611648919250863d8811610f3e57610f2f8183610136565b90386110ee565b61167d61168b6101769260405192839163104c13eb60e21b60208401526020602484015260448301906105a6565b03601f198101835282610136565b600080916020815191016a636f6e736f6c652e6c6f675afa50565b61168b6116d59161017693604051938492632d839cb360e21b60208501526040602485015260648401906105a6565b90604483015203601f198101835282610136565b61168b611718916101769360405193849263319af33360e01b60208501526040602485015260648401906105a6565b6001600160a01b0391909116604483015203601f19810183528261013656fea2646970667358221220e847b2c0eea9aafcf26fc97e3aa462e11c4fbd4cc59c7b8fec6145b1c0c1684964736f6c63430008120033"; type UniswapUtilsConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/multisigs/APTeamMultiSig__factory.ts b/typechain-types/factories/contracts/multisigs/APTeamMultiSig__factory.ts index a703f6976..d74bb5f27 100644 --- a/typechain-types/factories/contracts/multisigs/APTeamMultiSig__factory.ts +++ b/typechain-types/factories/contracts/multisigs/APTeamMultiSig__factory.ts @@ -222,7 +222,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "owner", + name: "_owner", type: "address", }, ], @@ -235,7 +235,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curRequired", + name: "_required", type: "uint256", }, ], @@ -325,7 +325,7 @@ const _abi = [ outputs: [ { internalType: "address[]", - name: "curConfirmations", + name: "ownerConfirmations", type: "address[]", }, ], @@ -396,7 +396,7 @@ const _abi = [ outputs: [ { internalType: "uint256[]", - name: "curTransactionids", + name: "transactionIds", type: "uint256[]", }, ], @@ -407,17 +407,17 @@ const _abi = [ inputs: [ { internalType: "address[]", - name: "curOwners", + name: "_owners", type: "address[]", }, { internalType: "uint256", - name: "curRequired", + name: "_required", type: "uint256", }, { internalType: "bool", - name: "curRequireexecution", + name: "_requireExecution", type: "bool", }, ], @@ -487,7 +487,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "owner", + name: "_owner", type: "address", }, ], @@ -500,12 +500,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "owner", + name: "_owner", type: "address", }, { internalType: "address", - name: "newOwner", + name: "_newOwner", type: "address", }, ], @@ -685,7 +685,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001b57600160075561201390816100218239f35b600080fdfe6080806040526004361015610028575b5036156100205761001e611d87565b005b61001e611d87565b60003560e01c90816301ffc9a714611ad257508063025e7c2714611a90578063173825d9146118fb57806320ea8d86146118455780632f54bf6e146118065780633411c81c146117b957806354741525146117005780637065cb4814611604578063784547a7146115dc5780638b51d13f1461154f5780639ace38c214611448578063a0e67e2b146113ca578063a8abe69a14611265578063b5dc40c314611162578063b77bf60014611144578063b781694a14611121578063ba51a6df14611095578063c01a8c8414610efe578063d74f8edd14610ee2578063dc8452cd14610ec4578063e20056e614610d83578063ee22610b14610c27578063f06a7522146104695763f72b230d1461013d573861000f565b34610288576060366003190112610288576001600160401b0360043581811161028857366023820112156102885780600401359161017a83611d70565b926101886040519485611c69565b80845260209081850193846024809360051b83010191368311610288578301905b82821061044a575050506101bb611b6f565b9060069081549060ff95868360101c16159283809461043b575b8015610422575b156103c75761ff00198116610100178555836103b4575b508851603281111590816103a7575b8161039c575b81610392575b50156102885760005b89518110156102a4576001600160a01b039081610234828d611dcb565b511660005260028089528b83838c6040600020541615928361028d575b505050156102885761028392610267838e611dcb565b511660005288526040600020600160ff19825416179055611dbc565b610217565b600080fd5b610298929350611dcb565b5116151583838e610251565b50878997939495975191821161037d57600160401b821161037d5760035482600355808310610359575b50600360005260005b8281106103305750505035600455825494151516908160ff1986161783556102fb57005b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989362ff00ff191617905560405160018152a1005b81516001600160a01b0316600080516020611fbe833981519152820155908701906001016102d7565b6103779083600080516020611fbe8339815191529182019101611ddf565b886102ce565b82634e487b7160e01b60005260416004526000fd5b905015153861020e565b833515159150610208565b8091508335111590610202565b62ffff00191662010100178455386101f3565b60405162461bcd60e51b815260048101889052602e818501527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101dc57506001888260081c16146101dc565b506001888260081c16106101d5565b81356001600160a01b03811681036102885781529084019084016101a9565b346102885760c0366003190112610288576004356001600160401b03811161028857610499903690600401611d29565b6024356001600160401b038111610288576104b8903690600401611d29565b906044356001600160a01b03811690819003610288576084356001600160401b038111610288576104ed903690600401611d29565b60a4356001600160401b0381116102885761050c903690600401611d29565b90821561028857600554926040519460e086018681106001600160401b03821117610aa857604052855260208501958652604085015260643560608501526080840152600060a084015260c083015280600052600060205260406000209282518051906001600160401b038211610aa85781906105938261058d8954611b7e565b89611f44565b602090601f8311600114610bc157600092610bb6575b50508160011b916000199060031b1c19161784555b519283516001600160401b038111610aa8576105ea816105e16001850154611b7e565b60018501611f44565b6020601f8211600114610b47578192939495600092610b3c575b50508160011b916000199060031b1c19161760018201555b6002810160018060a01b036040850151166bffffffffffffffffffffffff60a01b8254161790556060830151600382015560808301519283516001600160401b038111610aa85761067d816106746004860154611b7e565b60048601611f44565b6020601f8211600114610ac957819060c0949596600092610abe575b50508160011b916000199060031b1c19161760048401555b6005830160a0820151151560ff8019835416911617905501518051906001600160401b038211610aa8576106f5826106ec6006860154611b7e565b60068601611f44565b602090601f8311600114610a38576006929160009183610a2d575b50508160011b916000199060031b1c1916179101555b60055460018101809111610a1757600555806000526000602052807f180494405e1822cfac7f46cb28e05d25c4e51a01231c971781dfcab4f00639216107f860406000206040519182916020835260e06020840152600661078b610100850183611bb8565b916107d96107a9601f19948588820301604089015260018401611bb8565b60028301546001600160a01b0316606088015260038301546080880152868103850160a088015260048301611bb8565b9260ff600583015416151560c08701528584030160e086015201611bb8565b0390a2610803611e03565b33600052600260205260ff6040600020541615610288576000818152602081905260409020600201546001600160a01b03161561028857600160205260406000203360005260205260ff60406000205416610288578060005260016020526040600020336000526020526040600020600160ff1982541617905580337f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef600080a360ff60065416156108c0575b6020906001600755604051908152f35b600260205260ff60406000205416156102885780600052600160205260406000203360005260205260ff60406000205416156102885780600052600060205260ff60056040600020015416610288578061091b602092611e9d565b610927575b90506108b0565b80600052600082526109e3604060002060058101600160ff19825416179055600080600460018060a01b036002850154166109786003860154956109716040518095819301611bb8565b0383611c69565b6040519461098586611c4e565b601d86527f63616c6c20726576657274656420776974686f7574206d657373616765000000898701528883519301915af13d15610a0f573d906109c782611d0e565b916109d56040519384611c69565b82523d60008784013e611e59565b50807f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a2610920565b606090611e59565b634e487b7160e01b600052601160045260246000fd5b015190508580610710565b906006840160005260206000209160005b601f1985168110610a905750918391600193600695601f19811610610a77575b505050811b01910155610726565b015160001960f88460031b161c19169055858080610a69565b91926020600181928685015181550194019201610a49565b634e487b7160e01b600052604160045260246000fd5b015190508680610699565b6004840160005260206000209560005b601f1984168110610b24575095829160c0959697600194601f19811610610b0b575b505050811b0160048401556106b1565b015160001960f88460031b161c19169055868080610afb565b82820151885560019097019660209283019201610ad9565b015190508580610604565b6001830160005260206000209060005b601f1984168110610b9e575060019394959683601f19811610610b85575b505050811b01600182015561061c565b015160001960f88460031b161c19169055858080610b75565b9091602060018192858b015181550193019101610b57565b0151905086806105a9565b6000888152602081209350601f198516905b818110610c0f5750908460019594939210610bf6575b505050811b0184556105be565b015160001960f88460031b161c19169055868080610be9565b92936020600181928786015181550195019301610bd3565b34610288576020806003193601126102885760043590336000526002815260ff6040600020541615610288578160005260018152604060002033600052815260ff604060002054161561028857816000526000815260ff6005604060002001541661028857610c9582611e9d565b610c9b57005b610d5290826000526000815260406000209060058201600160ff19825416179055600080600460018060a01b03600286015416610ce76003870154966109716040518095819301611bb8565b60405195610cf487611c4e565b601d87527f63616c6c20726576657274656420776974686f7574206d657373616765000000868801528583519301915af13d15610d7a573d610d3581611d0e565b90610d436040519283611c69565b8152600081933d92013e611e59565b507f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a2005b60609150611e59565b3461028857604036600319011261028857610d9c611b43565b610da4611b59565b90303303610288576001600160a01b0390811660008181526002602052604090205460ff161561028857818316928360005260ff604060002054166102885760005b60038054821015610eba57848491610dfd84611b08565b9054911b1c1614610e1657610e1190611dbc565b610de6565b610e44929350610e2590611b08565b90919082549060031b9160018060a01b03809116831b921b1916179055565b806000526002602052604060002060ff19908181541690558260005260016040600020918254161790557f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90600080a27ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d600080a2005b5050509050610e44565b34610288576000366003190112610288576020600454604051908152f35b3461028857600036600319011261028857602060405160328152f35b346102885760208060031936011261028857600435610f1b611e03565b336000526002825260ff80604060002054161561028857600082815280845260409020600201546001600160a01b03919082161561028857600193848152604060002033600052815281604060002054166102885783600052848152604060002033600052815260406000209160ff1992868482541617905584337f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef600080a3806006541615610fcd575b6007869055005b6002825280604060002054161561028857846000528582526040600020336000528252806040600020541615610288578460005260008252600560406000200154166102885761101c84611e9d565b611027575b80610fc6565b6000806004611066958783528285526040832095896005880191825416179055600286015416610ce76003870154966109716040518095819301611bb8565b507f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a281808080611021565b34610288576020366003190112610288576004353033036102885760035460328111159081611116575b8161110c575b81611102575b5015610288576020817fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a92600455604051908152a1005b90501515826110cb565b82151591506110c5565b8083111591506110bf565b3461028857600036600319011261028857602060ff600654166040519015158152f35b34610288576000366003190112610288576020600554604051908152f35b346102885760208060031936011261028857600435600380549061118582611f8b565b9360009360005b8481106111e857868661119e81611f8b565b9160005b8281106111bb57604051806111b78682611cca565b0390f35b6111e3906001600160a01b036111d18285611dcb565b51166111dd8287611dcb565b52611dbc565b6111a2565b81600052600180845260406000206111ff83611b08565b90546001600160a01b0391881b1c8116600090815291865260409091205460ff16611235575b505061123090611dbc565b61118c565b611240839893611b08565b905490871b1c16611251838a611dcb565b528101809111610a17579461123088611225565b346102885760803660031901126102885760248035600435611285611b6f565b926064359384151585036102885760058054916112a183611f8b565b9660009260005b858110611339578989896112c46112bf8284611df6565b611f8b565b92815b8381106113125784604051809160208083018184528251809152816040850193019160005b8281106112fb57505050500390f35b8351855286955093810193928101926001016112ec565b806113206113349284611dcb565b516111dd61132e8684611df6565b88611dcb565b6112c7565b83806113af575b801561138d575b61135a575b61135590611dbc565b6112a8565b9384611366828c611dcb565b5260018101809111611378579361134c565b86634e487b7160e01b60005260116004526000fd5b50828015611347575080600052600060205260ff826040600020015416611347565b5080600052600060205260ff82604060002001541615611340565b346102885760003660031901126102885760405180600354918281526020809101926003600052600080516020611fbe833981519152916000905b828210611428576111b78561141c81890382611c69565b60405191829182611cca565b83546001600160a01b031686529485019460019384019390910190611405565b3461028857602036600319011261028857600435600052600060205261151460406000206111b760405191611488836114818184611bb8565b0384611c69565b600661153a6040516114a8816114a18160018801611bb8565b0382611c69565b600284015460038501546040516001600160a01b0390921692611522906114dd846114d68160048c01611bb8565b0385611c69565b61150060ff60058a015416986114f9604051809a819301611bb8565b0388611c69565b6040519a8b9a60e08c5260e08c0190611c8a565b908a820360208c0152611c8a565b92604089015260608801528682036080880152611c8a565b91151560a085015283820360c0850152611c8a565b34610288576020806003193601126102885760038054600091600435835b83811061157e578585604051908152f35b816000526001808752604060002061159583611b08565b905490861b1c6001600160a01b03166000908152908852604090205460ff166115c8575b506115c390611dbc565b61156d565b85919501809111610a1757936115c36115b9565b346102885760203660031901126102885760206115fa600435611e9d565b6040519015158152f35b346102885760203660031901126102885761161d611b43565b303303610288576001600160a01b03811660008181526002602052604090205490919060ff166102885781156102885760035460018101809111610a175760045490603281111591826116f5575b826116eb575b50816116e1575b5015610288578160005260026020526040600020600160ff1982541617905560035490600160401b821015610aa857610e258260016116ba9401600355611b08565b7ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d600080a2005b9050151583611678565b1515915084611671565b81811115925061166b565b3461028857604036600319011261028857600435801515810361028857602490813580151581036102885760009160009160058054935b84811061174957602086604051908152f35b838061179e575b801561177c575b61176a575b61176590611dbc565b611737565b9460018101809111611378579461175c565b50828015611757575080600052600060205260ff826040600020015416611757565b5080600052600060205260ff82604060002001541615611750565b34610288576040366003190112610288576117d2611b59565b600435600052600160205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34610288576020366003190112610288576001600160a01b03611827611b43565b166000526002602052602060ff604060002054166040519015158152f35b34610288576020806003193601126102885760043590611863611e03565b336000526002815260ff6040600020541615610288578160005260018152604060002033600052815260ff604060002054161561028857816000526000815260ff6005604060002001541661028857600181526040600020903360005252604060002060ff198154169055337ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9600080a36001600755005b3461028857602036600319011261028857611914611b43565b303303610288576001600160a01b039081166000818152600260205260409020805491929160ff8116156102885760ff1916905560005b6003805460001981019291908311610a1757828493831015611a8757858461197285611b08565b905490851b1c161461198f57505061198a9150611dbc565b61194b565b92610e25916119a06119ac95611b08565b9054911b1c1691611b08565b6003548015611a715760001901906119c382611b08565b909182549160031b1b19169055806003558060045411611a06575b507f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90600080a2005b603281111580611a69575b80611a60575b80611a57575b15610288576020817fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a92600455604051908152a1816119de565b50801515611a1d565b50801515611a17565b506001611a11565b634e487b7160e01b600052603160045260246000fd5b505050506119ac565b346102885760203660031901126102885760043560035481101561028857611ab9602091611b08565b905460405160039290921b1c6001600160a01b03168152f35b34610288576020366003190112610288576004359063ffffffff60e01b8216809203610288576020916301ffc9a760e01b148152f35b600354811015611b2d576003600052600080516020611fbe8339815191520190600090565b634e487b7160e01b600052603260045260246000fd5b600435906001600160a01b038216820361028857565b602435906001600160a01b038216820361028857565b60443590811515820361028857565b90600182811c92168015611bae575b6020831014611b9857565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b8d565b9060009291805491611bc983611b7e565b918282526001938481169081600014611c2b5750600114611beb575b50505050565b90919394506000526020928360002092846000945b838610611c17575050505001019038808080611be5565b805485870183015294019385908201611c00565b9294505050602093945060ff191683830152151560051b01019038808080611be5565b604081019081106001600160401b03821117610aa857604052565b90601f801991011681019081106001600160401b03821117610aa857604052565b919082519283825260005b848110611cb6575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611c95565b6020908160408183019282815285518094520193019160005b828110611cf1575050505090565b83516001600160a01b031685529381019392810192600101611ce3565b6001600160401b038111610aa857601f01601f191660200190565b81601f8201121561028857803590611d4082611d0e565b92611d4e6040519485611c69565b8284526020838301011161028857816000926020809301838601378301015290565b6001600160401b038111610aa85760051b60200190565b34611d8e57565b6040513481527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c60203392a2565b6000198114610a175760010190565b8051821015611b2d5760209160051b010190565b818110611dea575050565b60008155600101611ddf565b91908203918211610a1757565b600260075414611e14576002600755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90919015611e65575090565b815115611e755750805190602001fd5b60405162461bcd60e51b815260206004820152908190611e99906024830190611c8a565b0390fd5b6000806003918254936004908154935b868110611ec05750505050505050600090565b81600052600160ff60208281526040908160002090611ede86611b08565b9054908c1b1c6001600160a01b03166000908152919052205416611f1e575b858514611f135750611f0e90611dbc565b611ead565b965050505050505090565b93848101809111611f2f5793611efd565b601184634e487b7160e01b6000525260246000fd5b9190601f8111611f5357505050565b611f7f926000526020600020906020601f840160051c83019310611f81575b601f0160051c0190611ddf565b565b9091508190611f72565b90611f9582611d70565b611fa26040519182611c69565b8281528092611fb3601f1991611d70565b019060203691013756fec2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85ba2646970667358221220f59f39946f7a24c6082e0c59a97a4232046f9f03efb45685243d980f7f471ab564736f6c63430008120033"; + "0x6080806040523461001b57600160075561201390816100218239f35b600080fdfe6080806040526004361015610028575b5036156100205761001e611d87565b005b61001e611d87565b60003560e01c90816301ffc9a714611ad257508063025e7c2714611a90578063173825d9146118fb57806320ea8d86146118455780632f54bf6e146118065780633411c81c146117b957806354741525146117005780637065cb4814611604578063784547a7146115dc5780638b51d13f1461154f5780639ace38c214611448578063a0e67e2b146113ca578063a8abe69a14611265578063b5dc40c314611162578063b77bf60014611144578063b781694a14611121578063ba51a6df14611095578063c01a8c8414610efe578063d74f8edd14610ee2578063dc8452cd14610ec4578063e20056e614610d83578063ee22610b14610c27578063f06a7522146104695763f72b230d1461013d573861000f565b34610288576060366003190112610288576001600160401b0360043581811161028857366023820112156102885780600401359161017a83611d70565b926101886040519485611c69565b80845260209081850193846024809360051b83010191368311610288578301905b82821061044a575050506101bb611b6f565b9060069081549060ff95868360101c16159283809461043b575b8015610422575b156103c75761ff00198116610100178555836103b4575b508851603281111590816103a7575b8161039c575b81610392575b50156102885760005b89518110156102a4576001600160a01b039081610234828d611dcb565b511660005260028089528b83838c6040600020541615928361028d575b505050156102885761028392610267838e611dcb565b511660005288526040600020600160ff19825416179055611dbc565b610217565b600080fd5b610298929350611dcb565b5116151583838e610251565b50878997939495975191821161037d57600160401b821161037d5760035482600355808310610359575b50600360005260005b8281106103305750505035600455825494151516908160ff1986161783556102fb57005b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989362ff00ff191617905560405160018152a1005b81516001600160a01b0316600080516020611fbe833981519152820155908701906001016102d7565b6103779083600080516020611fbe8339815191529182019101611ddf565b886102ce565b82634e487b7160e01b60005260416004526000fd5b905015153861020e565b833515159150610208565b8091508335111590610202565b62ffff00191662010100178455386101f3565b60405162461bcd60e51b815260048101889052602e818501527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101dc57506001888260081c16146101dc565b506001888260081c16106101d5565b81356001600160a01b03811681036102885781529084019084016101a9565b346102885760c0366003190112610288576004356001600160401b03811161028857610499903690600401611d29565b6024356001600160401b038111610288576104b8903690600401611d29565b906044356001600160a01b03811690819003610288576084356001600160401b038111610288576104ed903690600401611d29565b60a4356001600160401b0381116102885761050c903690600401611d29565b90821561028857600554926040519460e086018681106001600160401b03821117610aa857604052855260208501958652604085015260643560608501526080840152600060a084015260c083015280600052600060205260406000209282518051906001600160401b038211610aa85781906105938261058d8954611b7e565b89611f44565b602090601f8311600114610bc157600092610bb6575b50508160011b916000199060031b1c19161784555b519283516001600160401b038111610aa8576105ea816105e16001850154611b7e565b60018501611f44565b6020601f8211600114610b47578192939495600092610b3c575b50508160011b916000199060031b1c19161760018201555b6002810160018060a01b036040850151166bffffffffffffffffffffffff60a01b8254161790556060830151600382015560808301519283516001600160401b038111610aa85761067d816106746004860154611b7e565b60048601611f44565b6020601f8211600114610ac957819060c0949596600092610abe575b50508160011b916000199060031b1c19161760048401555b6005830160a0820151151560ff8019835416911617905501518051906001600160401b038211610aa8576106f5826106ec6006860154611b7e565b60068601611f44565b602090601f8311600114610a38576006929160009183610a2d575b50508160011b916000199060031b1c1916179101555b60055460018101809111610a1757600555806000526000602052807f180494405e1822cfac7f46cb28e05d25c4e51a01231c971781dfcab4f00639216107f860406000206040519182916020835260e06020840152600661078b610100850183611bb8565b916107d96107a9601f19948588820301604089015260018401611bb8565b60028301546001600160a01b0316606088015260038301546080880152868103850160a088015260048301611bb8565b9260ff600583015416151560c08701528584030160e086015201611bb8565b0390a2610803611e03565b33600052600260205260ff6040600020541615610288576000818152602081905260409020600201546001600160a01b03161561028857600160205260406000203360005260205260ff60406000205416610288578060005260016020526040600020336000526020526040600020600160ff1982541617905580337f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef600080a360ff60065416156108c0575b6020906001600755604051908152f35b600260205260ff60406000205416156102885780600052600160205260406000203360005260205260ff60406000205416156102885780600052600060205260ff60056040600020015416610288578061091b602092611e9d565b610927575b90506108b0565b80600052600082526109e3604060002060058101600160ff19825416179055600080600460018060a01b036002850154166109786003860154956109716040518095819301611bb8565b0383611c69565b6040519461098586611c4e565b601d86527f63616c6c20726576657274656420776974686f7574206d657373616765000000898701528883519301915af13d15610a0f573d906109c782611d0e565b916109d56040519384611c69565b82523d60008784013e611e59565b50807f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a2610920565b606090611e59565b634e487b7160e01b600052601160045260246000fd5b015190508580610710565b906006840160005260206000209160005b601f1985168110610a905750918391600193600695601f19811610610a77575b505050811b01910155610726565b015160001960f88460031b161c19169055858080610a69565b91926020600181928685015181550194019201610a49565b634e487b7160e01b600052604160045260246000fd5b015190508680610699565b6004840160005260206000209560005b601f1984168110610b24575095829160c0959697600194601f19811610610b0b575b505050811b0160048401556106b1565b015160001960f88460031b161c19169055868080610afb565b82820151885560019097019660209283019201610ad9565b015190508580610604565b6001830160005260206000209060005b601f1984168110610b9e575060019394959683601f19811610610b85575b505050811b01600182015561061c565b015160001960f88460031b161c19169055858080610b75565b9091602060018192858b015181550193019101610b57565b0151905086806105a9565b6000888152602081209350601f198516905b818110610c0f5750908460019594939210610bf6575b505050811b0184556105be565b015160001960f88460031b161c19169055868080610be9565b92936020600181928786015181550195019301610bd3565b34610288576020806003193601126102885760043590336000526002815260ff6040600020541615610288578160005260018152604060002033600052815260ff604060002054161561028857816000526000815260ff6005604060002001541661028857610c9582611e9d565b610c9b57005b610d5290826000526000815260406000209060058201600160ff19825416179055600080600460018060a01b03600286015416610ce76003870154966109716040518095819301611bb8565b60405195610cf487611c4e565b601d87527f63616c6c20726576657274656420776974686f7574206d657373616765000000868801528583519301915af13d15610d7a573d610d3581611d0e565b90610d436040519283611c69565b8152600081933d92013e611e59565b507f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a2005b60609150611e59565b3461028857604036600319011261028857610d9c611b43565b610da4611b59565b90303303610288576001600160a01b0390811660008181526002602052604090205460ff161561028857818316928360005260ff604060002054166102885760005b60038054821015610eba57848491610dfd84611b08565b9054911b1c1614610e1657610e1190611dbc565b610de6565b610e44929350610e2590611b08565b90919082549060031b9160018060a01b03809116831b921b1916179055565b806000526002602052604060002060ff19908181541690558260005260016040600020918254161790557f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90600080a27ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d600080a2005b5050509050610e44565b34610288576000366003190112610288576020600454604051908152f35b3461028857600036600319011261028857602060405160328152f35b346102885760208060031936011261028857600435610f1b611e03565b336000526002825260ff80604060002054161561028857600082815280845260409020600201546001600160a01b03919082161561028857600193848152604060002033600052815281604060002054166102885783600052848152604060002033600052815260406000209160ff1992868482541617905584337f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef600080a3806006541615610fcd575b6007869055005b6002825280604060002054161561028857846000528582526040600020336000528252806040600020541615610288578460005260008252600560406000200154166102885761101c84611e9d565b611027575b80610fc6565b6000806004611066958783528285526040832095896005880191825416179055600286015416610ce76003870154966109716040518095819301611bb8565b507f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a281808080611021565b34610288576020366003190112610288576004353033036102885760035460328111159081611116575b8161110c575b81611102575b5015610288576020817fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a92600455604051908152a1005b90501515826110cb565b82151591506110c5565b8083111591506110bf565b3461028857600036600319011261028857602060ff600654166040519015158152f35b34610288576000366003190112610288576020600554604051908152f35b346102885760208060031936011261028857600435600380549061118582611f8b565b9360009360005b8481106111e857868661119e81611f8b565b9160005b8281106111bb57604051806111b78682611cca565b0390f35b6111e3906001600160a01b036111d18285611dcb565b51166111dd8287611dcb565b52611dbc565b6111a2565b81600052600180845260406000206111ff83611b08565b90546001600160a01b0391881b1c8116600090815291865260409091205460ff16611235575b505061123090611dbc565b61118c565b611240839893611b08565b905490871b1c16611251838a611dcb565b528101809111610a17579461123088611225565b346102885760803660031901126102885760248035600435611285611b6f565b926064359384151585036102885760058054916112a183611f8b565b9660009260005b858110611339578989896112c46112bf8284611df6565b611f8b565b92815b8381106113125784604051809160208083018184528251809152816040850193019160005b8281106112fb57505050500390f35b8351855286955093810193928101926001016112ec565b806113206113349284611dcb565b516111dd61132e8684611df6565b88611dcb565b6112c7565b83806113af575b801561138d575b61135a575b61135590611dbc565b6112a8565b9384611366828c611dcb565b5260018101809111611378579361134c565b86634e487b7160e01b60005260116004526000fd5b50828015611347575080600052600060205260ff826040600020015416611347565b5080600052600060205260ff82604060002001541615611340565b346102885760003660031901126102885760405180600354918281526020809101926003600052600080516020611fbe833981519152916000905b828210611428576111b78561141c81890382611c69565b60405191829182611cca565b83546001600160a01b031686529485019460019384019390910190611405565b3461028857602036600319011261028857600435600052600060205261151460406000206111b760405191611488836114818184611bb8565b0384611c69565b600661153a6040516114a8816114a18160018801611bb8565b0382611c69565b600284015460038501546040516001600160a01b0390921692611522906114dd846114d68160048c01611bb8565b0385611c69565b61150060ff60058a015416986114f9604051809a819301611bb8565b0388611c69565b6040519a8b9a60e08c5260e08c0190611c8a565b908a820360208c0152611c8a565b92604089015260608801528682036080880152611c8a565b91151560a085015283820360c0850152611c8a565b34610288576020806003193601126102885760038054600091600435835b83811061157e578585604051908152f35b816000526001808752604060002061159583611b08565b905490861b1c6001600160a01b03166000908152908852604090205460ff166115c8575b506115c390611dbc565b61156d565b85919501809111610a1757936115c36115b9565b346102885760203660031901126102885760206115fa600435611e9d565b6040519015158152f35b346102885760203660031901126102885761161d611b43565b303303610288576001600160a01b03811660008181526002602052604090205490919060ff166102885781156102885760035460018101809111610a175760045490603281111591826116f5575b826116eb575b50816116e1575b5015610288578160005260026020526040600020600160ff1982541617905560035490600160401b821015610aa857610e258260016116ba9401600355611b08565b7ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d600080a2005b9050151583611678565b1515915084611671565b81811115925061166b565b3461028857604036600319011261028857600435801515810361028857602490813580151581036102885760009160009160058054935b84811061174957602086604051908152f35b838061179e575b801561177c575b61176a575b61176590611dbc565b611737565b9460018101809111611378579461175c565b50828015611757575080600052600060205260ff826040600020015416611757565b5080600052600060205260ff82604060002001541615611750565b34610288576040366003190112610288576117d2611b59565b600435600052600160205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34610288576020366003190112610288576001600160a01b03611827611b43565b166000526002602052602060ff604060002054166040519015158152f35b34610288576020806003193601126102885760043590611863611e03565b336000526002815260ff6040600020541615610288578160005260018152604060002033600052815260ff604060002054161561028857816000526000815260ff6005604060002001541661028857600181526040600020903360005252604060002060ff198154169055337ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9600080a36001600755005b3461028857602036600319011261028857611914611b43565b303303610288576001600160a01b039081166000818152600260205260409020805491929160ff8116156102885760ff1916905560005b6003805460001981019291908311610a1757828493831015611a8757858461197285611b08565b905490851b1c161461198f57505061198a9150611dbc565b61194b565b92610e25916119a06119ac95611b08565b9054911b1c1691611b08565b6003548015611a715760001901906119c382611b08565b909182549160031b1b19169055806003558060045411611a06575b507f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90600080a2005b603281111580611a69575b80611a60575b80611a57575b15610288576020817fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a92600455604051908152a1816119de565b50801515611a1d565b50801515611a17565b506001611a11565b634e487b7160e01b600052603160045260246000fd5b505050506119ac565b346102885760203660031901126102885760043560035481101561028857611ab9602091611b08565b905460405160039290921b1c6001600160a01b03168152f35b34610288576020366003190112610288576004359063ffffffff60e01b8216809203610288576020916301ffc9a760e01b148152f35b600354811015611b2d576003600052600080516020611fbe8339815191520190600090565b634e487b7160e01b600052603260045260246000fd5b600435906001600160a01b038216820361028857565b602435906001600160a01b038216820361028857565b60443590811515820361028857565b90600182811c92168015611bae575b6020831014611b9857565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b8d565b9060009291805491611bc983611b7e565b918282526001938481169081600014611c2b5750600114611beb575b50505050565b90919394506000526020928360002092846000945b838610611c17575050505001019038808080611be5565b805485870183015294019385908201611c00565b9294505050602093945060ff191683830152151560051b01019038808080611be5565b604081019081106001600160401b03821117610aa857604052565b90601f801991011681019081106001600160401b03821117610aa857604052565b919082519283825260005b848110611cb6575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611c95565b6020908160408183019282815285518094520193019160005b828110611cf1575050505090565b83516001600160a01b031685529381019392810192600101611ce3565b6001600160401b038111610aa857601f01601f191660200190565b81601f8201121561028857803590611d4082611d0e565b92611d4e6040519485611c69565b8284526020838301011161028857816000926020809301838601378301015290565b6001600160401b038111610aa85760051b60200190565b34611d8e57565b6040513481527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c60203392a2565b6000198114610a175760010190565b8051821015611b2d5760209160051b010190565b818110611dea575050565b60008155600101611ddf565b91908203918211610a1757565b600260075414611e14576002600755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90919015611e65575090565b815115611e755750805190602001fd5b60405162461bcd60e51b815260206004820152908190611e99906024830190611c8a565b0390fd5b6000806003918254936004908154935b868110611ec05750505050505050600090565b81600052600160ff60208281526040908160002090611ede86611b08565b9054908c1b1c6001600160a01b03166000908152919052205416611f1e575b858514611f135750611f0e90611dbc565b611ead565b965050505050505090565b93848101809111611f2f5793611efd565b601184634e487b7160e01b6000525260246000fd5b9190601f8111611f5357505050565b611f7f926000526020600020906020601f840160051c83019310611f81575b601f0160051c0190611ddf565b565b9091508190611f72565b90611f9582611d70565b611fa26040519182611c69565b8281528092611fb3601f1991611d70565b019060203691013756fec2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85ba2646970667358221220712f2d70c43760822b8f1ef085bedec57c163ba6d1211a304158aeab6094c45a64736f6c63430008120033"; type APTeamMultiSigConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/multisigs/ApplicationsMultiSig__factory.ts b/typechain-types/factories/contracts/multisigs/ApplicationsMultiSig__factory.ts index 18fa2afe5..a2b2e1862 100644 --- a/typechain-types/factories/contracts/multisigs/ApplicationsMultiSig__factory.ts +++ b/typechain-types/factories/contracts/multisigs/ApplicationsMultiSig__factory.ts @@ -222,7 +222,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "owner", + name: "_owner", type: "address", }, ], @@ -235,7 +235,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curRequired", + name: "_required", type: "uint256", }, ], @@ -325,7 +325,7 @@ const _abi = [ outputs: [ { internalType: "address[]", - name: "curConfirmations", + name: "ownerConfirmations", type: "address[]", }, ], @@ -396,7 +396,7 @@ const _abi = [ outputs: [ { internalType: "uint256[]", - name: "curTransactionids", + name: "transactionIds", type: "uint256[]", }, ], @@ -407,17 +407,17 @@ const _abi = [ inputs: [ { internalType: "address[]", - name: "curOwners", + name: "_owners", type: "address[]", }, { internalType: "uint256", - name: "curRequired", + name: "_required", type: "uint256", }, { internalType: "bool", - name: "curRequireexecution", + name: "_requireExecution", type: "bool", }, ], @@ -487,7 +487,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "owner", + name: "_owner", type: "address", }, ], @@ -500,12 +500,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "owner", + name: "_owner", type: "address", }, { internalType: "address", - name: "newOwner", + name: "_newOwner", type: "address", }, ], @@ -685,7 +685,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001b57600160075561201390816100218239f35b600080fdfe6080806040526004361015610028575b5036156100205761001e611d87565b005b61001e611d87565b60003560e01c90816301ffc9a714611ad257508063025e7c2714611a90578063173825d9146118fb57806320ea8d86146118455780632f54bf6e146118065780633411c81c146117b957806354741525146117005780637065cb4814611604578063784547a7146115dc5780638b51d13f1461154f5780639ace38c214611448578063a0e67e2b146113ca578063a8abe69a14611265578063b5dc40c314611162578063b77bf60014611144578063b781694a14611121578063ba51a6df14611095578063c01a8c8414610efe578063d74f8edd14610ee2578063dc8452cd14610ec4578063e20056e614610d83578063ee22610b14610c27578063f06a7522146104695763f72b230d1461013d573861000f565b34610288576060366003190112610288576001600160401b0360043581811161028857366023820112156102885780600401359161017a83611d70565b926101886040519485611c69565b80845260209081850193846024809360051b83010191368311610288578301905b82821061044a575050506101bb611b6f565b9060069081549060ff95868360101c16159283809461043b575b8015610422575b156103c75761ff00198116610100178555836103b4575b508851603281111590816103a7575b8161039c575b81610392575b50156102885760005b89518110156102a4576001600160a01b039081610234828d611dcb565b511660005260028089528b83838c6040600020541615928361028d575b505050156102885761028392610267838e611dcb565b511660005288526040600020600160ff19825416179055611dbc565b610217565b600080fd5b610298929350611dcb565b5116151583838e610251565b50878997939495975191821161037d57600160401b821161037d5760035482600355808310610359575b50600360005260005b8281106103305750505035600455825494151516908160ff1986161783556102fb57005b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989362ff00ff191617905560405160018152a1005b81516001600160a01b0316600080516020611fbe833981519152820155908701906001016102d7565b6103779083600080516020611fbe8339815191529182019101611ddf565b886102ce565b82634e487b7160e01b60005260416004526000fd5b905015153861020e565b833515159150610208565b8091508335111590610202565b62ffff00191662010100178455386101f3565b60405162461bcd60e51b815260048101889052602e818501527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101dc57506001888260081c16146101dc565b506001888260081c16106101d5565b81356001600160a01b03811681036102885781529084019084016101a9565b346102885760c0366003190112610288576004356001600160401b03811161028857610499903690600401611d29565b6024356001600160401b038111610288576104b8903690600401611d29565b906044356001600160a01b03811690819003610288576084356001600160401b038111610288576104ed903690600401611d29565b60a4356001600160401b0381116102885761050c903690600401611d29565b90821561028857600554926040519460e086018681106001600160401b03821117610aa857604052855260208501958652604085015260643560608501526080840152600060a084015260c083015280600052600060205260406000209282518051906001600160401b038211610aa85781906105938261058d8954611b7e565b89611f44565b602090601f8311600114610bc157600092610bb6575b50508160011b916000199060031b1c19161784555b519283516001600160401b038111610aa8576105ea816105e16001850154611b7e565b60018501611f44565b6020601f8211600114610b47578192939495600092610b3c575b50508160011b916000199060031b1c19161760018201555b6002810160018060a01b036040850151166bffffffffffffffffffffffff60a01b8254161790556060830151600382015560808301519283516001600160401b038111610aa85761067d816106746004860154611b7e565b60048601611f44565b6020601f8211600114610ac957819060c0949596600092610abe575b50508160011b916000199060031b1c19161760048401555b6005830160a0820151151560ff8019835416911617905501518051906001600160401b038211610aa8576106f5826106ec6006860154611b7e565b60068601611f44565b602090601f8311600114610a38576006929160009183610a2d575b50508160011b916000199060031b1c1916179101555b60055460018101809111610a1757600555806000526000602052807f180494405e1822cfac7f46cb28e05d25c4e51a01231c971781dfcab4f00639216107f860406000206040519182916020835260e06020840152600661078b610100850183611bb8565b916107d96107a9601f19948588820301604089015260018401611bb8565b60028301546001600160a01b0316606088015260038301546080880152868103850160a088015260048301611bb8565b9260ff600583015416151560c08701528584030160e086015201611bb8565b0390a2610803611e03565b33600052600260205260ff6040600020541615610288576000818152602081905260409020600201546001600160a01b03161561028857600160205260406000203360005260205260ff60406000205416610288578060005260016020526040600020336000526020526040600020600160ff1982541617905580337f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef600080a360ff60065416156108c0575b6020906001600755604051908152f35b600260205260ff60406000205416156102885780600052600160205260406000203360005260205260ff60406000205416156102885780600052600060205260ff60056040600020015416610288578061091b602092611e9d565b610927575b90506108b0565b80600052600082526109e3604060002060058101600160ff19825416179055600080600460018060a01b036002850154166109786003860154956109716040518095819301611bb8565b0383611c69565b6040519461098586611c4e565b601d86527f63616c6c20726576657274656420776974686f7574206d657373616765000000898701528883519301915af13d15610a0f573d906109c782611d0e565b916109d56040519384611c69565b82523d60008784013e611e59565b50807f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a2610920565b606090611e59565b634e487b7160e01b600052601160045260246000fd5b015190508580610710565b906006840160005260206000209160005b601f1985168110610a905750918391600193600695601f19811610610a77575b505050811b01910155610726565b015160001960f88460031b161c19169055858080610a69565b91926020600181928685015181550194019201610a49565b634e487b7160e01b600052604160045260246000fd5b015190508680610699565b6004840160005260206000209560005b601f1984168110610b24575095829160c0959697600194601f19811610610b0b575b505050811b0160048401556106b1565b015160001960f88460031b161c19169055868080610afb565b82820151885560019097019660209283019201610ad9565b015190508580610604565b6001830160005260206000209060005b601f1984168110610b9e575060019394959683601f19811610610b85575b505050811b01600182015561061c565b015160001960f88460031b161c19169055858080610b75565b9091602060018192858b015181550193019101610b57565b0151905086806105a9565b6000888152602081209350601f198516905b818110610c0f5750908460019594939210610bf6575b505050811b0184556105be565b015160001960f88460031b161c19169055868080610be9565b92936020600181928786015181550195019301610bd3565b34610288576020806003193601126102885760043590336000526002815260ff6040600020541615610288578160005260018152604060002033600052815260ff604060002054161561028857816000526000815260ff6005604060002001541661028857610c9582611e9d565b610c9b57005b610d5290826000526000815260406000209060058201600160ff19825416179055600080600460018060a01b03600286015416610ce76003870154966109716040518095819301611bb8565b60405195610cf487611c4e565b601d87527f63616c6c20726576657274656420776974686f7574206d657373616765000000868801528583519301915af13d15610d7a573d610d3581611d0e565b90610d436040519283611c69565b8152600081933d92013e611e59565b507f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a2005b60609150611e59565b3461028857604036600319011261028857610d9c611b43565b610da4611b59565b90303303610288576001600160a01b0390811660008181526002602052604090205460ff161561028857818316928360005260ff604060002054166102885760005b60038054821015610eba57848491610dfd84611b08565b9054911b1c1614610e1657610e1190611dbc565b610de6565b610e44929350610e2590611b08565b90919082549060031b9160018060a01b03809116831b921b1916179055565b806000526002602052604060002060ff19908181541690558260005260016040600020918254161790557f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90600080a27ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d600080a2005b5050509050610e44565b34610288576000366003190112610288576020600454604051908152f35b3461028857600036600319011261028857602060405160328152f35b346102885760208060031936011261028857600435610f1b611e03565b336000526002825260ff80604060002054161561028857600082815280845260409020600201546001600160a01b03919082161561028857600193848152604060002033600052815281604060002054166102885783600052848152604060002033600052815260406000209160ff1992868482541617905584337f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef600080a3806006541615610fcd575b6007869055005b6002825280604060002054161561028857846000528582526040600020336000528252806040600020541615610288578460005260008252600560406000200154166102885761101c84611e9d565b611027575b80610fc6565b6000806004611066958783528285526040832095896005880191825416179055600286015416610ce76003870154966109716040518095819301611bb8565b507f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a281808080611021565b34610288576020366003190112610288576004353033036102885760035460328111159081611116575b8161110c575b81611102575b5015610288576020817fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a92600455604051908152a1005b90501515826110cb565b82151591506110c5565b8083111591506110bf565b3461028857600036600319011261028857602060ff600654166040519015158152f35b34610288576000366003190112610288576020600554604051908152f35b346102885760208060031936011261028857600435600380549061118582611f8b565b9360009360005b8481106111e857868661119e81611f8b565b9160005b8281106111bb57604051806111b78682611cca565b0390f35b6111e3906001600160a01b036111d18285611dcb565b51166111dd8287611dcb565b52611dbc565b6111a2565b81600052600180845260406000206111ff83611b08565b90546001600160a01b0391881b1c8116600090815291865260409091205460ff16611235575b505061123090611dbc565b61118c565b611240839893611b08565b905490871b1c16611251838a611dcb565b528101809111610a17579461123088611225565b346102885760803660031901126102885760248035600435611285611b6f565b926064359384151585036102885760058054916112a183611f8b565b9660009260005b858110611339578989896112c46112bf8284611df6565b611f8b565b92815b8381106113125784604051809160208083018184528251809152816040850193019160005b8281106112fb57505050500390f35b8351855286955093810193928101926001016112ec565b806113206113349284611dcb565b516111dd61132e8684611df6565b88611dcb565b6112c7565b83806113af575b801561138d575b61135a575b61135590611dbc565b6112a8565b9384611366828c611dcb565b5260018101809111611378579361134c565b86634e487b7160e01b60005260116004526000fd5b50828015611347575080600052600060205260ff826040600020015416611347565b5080600052600060205260ff82604060002001541615611340565b346102885760003660031901126102885760405180600354918281526020809101926003600052600080516020611fbe833981519152916000905b828210611428576111b78561141c81890382611c69565b60405191829182611cca565b83546001600160a01b031686529485019460019384019390910190611405565b3461028857602036600319011261028857600435600052600060205261151460406000206111b760405191611488836114818184611bb8565b0384611c69565b600661153a6040516114a8816114a18160018801611bb8565b0382611c69565b600284015460038501546040516001600160a01b0390921692611522906114dd846114d68160048c01611bb8565b0385611c69565b61150060ff60058a015416986114f9604051809a819301611bb8565b0388611c69565b6040519a8b9a60e08c5260e08c0190611c8a565b908a820360208c0152611c8a565b92604089015260608801528682036080880152611c8a565b91151560a085015283820360c0850152611c8a565b34610288576020806003193601126102885760038054600091600435835b83811061157e578585604051908152f35b816000526001808752604060002061159583611b08565b905490861b1c6001600160a01b03166000908152908852604090205460ff166115c8575b506115c390611dbc565b61156d565b85919501809111610a1757936115c36115b9565b346102885760203660031901126102885760206115fa600435611e9d565b6040519015158152f35b346102885760203660031901126102885761161d611b43565b303303610288576001600160a01b03811660008181526002602052604090205490919060ff166102885781156102885760035460018101809111610a175760045490603281111591826116f5575b826116eb575b50816116e1575b5015610288578160005260026020526040600020600160ff1982541617905560035490600160401b821015610aa857610e258260016116ba9401600355611b08565b7ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d600080a2005b9050151583611678565b1515915084611671565b81811115925061166b565b3461028857604036600319011261028857600435801515810361028857602490813580151581036102885760009160009160058054935b84811061174957602086604051908152f35b838061179e575b801561177c575b61176a575b61176590611dbc565b611737565b9460018101809111611378579461175c565b50828015611757575080600052600060205260ff826040600020015416611757565b5080600052600060205260ff82604060002001541615611750565b34610288576040366003190112610288576117d2611b59565b600435600052600160205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34610288576020366003190112610288576001600160a01b03611827611b43565b166000526002602052602060ff604060002054166040519015158152f35b34610288576020806003193601126102885760043590611863611e03565b336000526002815260ff6040600020541615610288578160005260018152604060002033600052815260ff604060002054161561028857816000526000815260ff6005604060002001541661028857600181526040600020903360005252604060002060ff198154169055337ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9600080a36001600755005b3461028857602036600319011261028857611914611b43565b303303610288576001600160a01b039081166000818152600260205260409020805491929160ff8116156102885760ff1916905560005b6003805460001981019291908311610a1757828493831015611a8757858461197285611b08565b905490851b1c161461198f57505061198a9150611dbc565b61194b565b92610e25916119a06119ac95611b08565b9054911b1c1691611b08565b6003548015611a715760001901906119c382611b08565b909182549160031b1b19169055806003558060045411611a06575b507f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90600080a2005b603281111580611a69575b80611a60575b80611a57575b15610288576020817fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a92600455604051908152a1816119de565b50801515611a1d565b50801515611a17565b506001611a11565b634e487b7160e01b600052603160045260246000fd5b505050506119ac565b346102885760203660031901126102885760043560035481101561028857611ab9602091611b08565b905460405160039290921b1c6001600160a01b03168152f35b34610288576020366003190112610288576004359063ffffffff60e01b8216809203610288576020916301ffc9a760e01b148152f35b600354811015611b2d576003600052600080516020611fbe8339815191520190600090565b634e487b7160e01b600052603260045260246000fd5b600435906001600160a01b038216820361028857565b602435906001600160a01b038216820361028857565b60443590811515820361028857565b90600182811c92168015611bae575b6020831014611b9857565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b8d565b9060009291805491611bc983611b7e565b918282526001938481169081600014611c2b5750600114611beb575b50505050565b90919394506000526020928360002092846000945b838610611c17575050505001019038808080611be5565b805485870183015294019385908201611c00565b9294505050602093945060ff191683830152151560051b01019038808080611be5565b604081019081106001600160401b03821117610aa857604052565b90601f801991011681019081106001600160401b03821117610aa857604052565b919082519283825260005b848110611cb6575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611c95565b6020908160408183019282815285518094520193019160005b828110611cf1575050505090565b83516001600160a01b031685529381019392810192600101611ce3565b6001600160401b038111610aa857601f01601f191660200190565b81601f8201121561028857803590611d4082611d0e565b92611d4e6040519485611c69565b8284526020838301011161028857816000926020809301838601378301015290565b6001600160401b038111610aa85760051b60200190565b34611d8e57565b6040513481527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c60203392a2565b6000198114610a175760010190565b8051821015611b2d5760209160051b010190565b818110611dea575050565b60008155600101611ddf565b91908203918211610a1757565b600260075414611e14576002600755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90919015611e65575090565b815115611e755750805190602001fd5b60405162461bcd60e51b815260206004820152908190611e99906024830190611c8a565b0390fd5b6000806003918254936004908154935b868110611ec05750505050505050600090565b81600052600160ff60208281526040908160002090611ede86611b08565b9054908c1b1c6001600160a01b03166000908152919052205416611f1e575b858514611f135750611f0e90611dbc565b611ead565b965050505050505090565b93848101809111611f2f5793611efd565b601184634e487b7160e01b6000525260246000fd5b9190601f8111611f5357505050565b611f7f926000526020600020906020601f840160051c83019310611f81575b601f0160051c0190611ddf565b565b9091508190611f72565b90611f9582611d70565b611fa26040519182611c69565b8281528092611fb3601f1991611d70565b019060203691013756fec2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85ba26469706673582212208a9ae523a0654732ce357da830e6039eed5bb69d3fc07447fb95a1379a89f53f64736f6c63430008120033"; + "0x6080806040523461001b57600160075561201390816100218239f35b600080fdfe6080806040526004361015610028575b5036156100205761001e611d87565b005b61001e611d87565b60003560e01c90816301ffc9a714611ad257508063025e7c2714611a90578063173825d9146118fb57806320ea8d86146118455780632f54bf6e146118065780633411c81c146117b957806354741525146117005780637065cb4814611604578063784547a7146115dc5780638b51d13f1461154f5780639ace38c214611448578063a0e67e2b146113ca578063a8abe69a14611265578063b5dc40c314611162578063b77bf60014611144578063b781694a14611121578063ba51a6df14611095578063c01a8c8414610efe578063d74f8edd14610ee2578063dc8452cd14610ec4578063e20056e614610d83578063ee22610b14610c27578063f06a7522146104695763f72b230d1461013d573861000f565b34610288576060366003190112610288576001600160401b0360043581811161028857366023820112156102885780600401359161017a83611d70565b926101886040519485611c69565b80845260209081850193846024809360051b83010191368311610288578301905b82821061044a575050506101bb611b6f565b9060069081549060ff95868360101c16159283809461043b575b8015610422575b156103c75761ff00198116610100178555836103b4575b508851603281111590816103a7575b8161039c575b81610392575b50156102885760005b89518110156102a4576001600160a01b039081610234828d611dcb565b511660005260028089528b83838c6040600020541615928361028d575b505050156102885761028392610267838e611dcb565b511660005288526040600020600160ff19825416179055611dbc565b610217565b600080fd5b610298929350611dcb565b5116151583838e610251565b50878997939495975191821161037d57600160401b821161037d5760035482600355808310610359575b50600360005260005b8281106103305750505035600455825494151516908160ff1986161783556102fb57005b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989362ff00ff191617905560405160018152a1005b81516001600160a01b0316600080516020611fbe833981519152820155908701906001016102d7565b6103779083600080516020611fbe8339815191529182019101611ddf565b886102ce565b82634e487b7160e01b60005260416004526000fd5b905015153861020e565b833515159150610208565b8091508335111590610202565b62ffff00191662010100178455386101f3565b60405162461bcd60e51b815260048101889052602e818501527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101dc57506001888260081c16146101dc565b506001888260081c16106101d5565b81356001600160a01b03811681036102885781529084019084016101a9565b346102885760c0366003190112610288576004356001600160401b03811161028857610499903690600401611d29565b6024356001600160401b038111610288576104b8903690600401611d29565b906044356001600160a01b03811690819003610288576084356001600160401b038111610288576104ed903690600401611d29565b60a4356001600160401b0381116102885761050c903690600401611d29565b90821561028857600554926040519460e086018681106001600160401b03821117610aa857604052855260208501958652604085015260643560608501526080840152600060a084015260c083015280600052600060205260406000209282518051906001600160401b038211610aa85781906105938261058d8954611b7e565b89611f44565b602090601f8311600114610bc157600092610bb6575b50508160011b916000199060031b1c19161784555b519283516001600160401b038111610aa8576105ea816105e16001850154611b7e565b60018501611f44565b6020601f8211600114610b47578192939495600092610b3c575b50508160011b916000199060031b1c19161760018201555b6002810160018060a01b036040850151166bffffffffffffffffffffffff60a01b8254161790556060830151600382015560808301519283516001600160401b038111610aa85761067d816106746004860154611b7e565b60048601611f44565b6020601f8211600114610ac957819060c0949596600092610abe575b50508160011b916000199060031b1c19161760048401555b6005830160a0820151151560ff8019835416911617905501518051906001600160401b038211610aa8576106f5826106ec6006860154611b7e565b60068601611f44565b602090601f8311600114610a38576006929160009183610a2d575b50508160011b916000199060031b1c1916179101555b60055460018101809111610a1757600555806000526000602052807f180494405e1822cfac7f46cb28e05d25c4e51a01231c971781dfcab4f00639216107f860406000206040519182916020835260e06020840152600661078b610100850183611bb8565b916107d96107a9601f19948588820301604089015260018401611bb8565b60028301546001600160a01b0316606088015260038301546080880152868103850160a088015260048301611bb8565b9260ff600583015416151560c08701528584030160e086015201611bb8565b0390a2610803611e03565b33600052600260205260ff6040600020541615610288576000818152602081905260409020600201546001600160a01b03161561028857600160205260406000203360005260205260ff60406000205416610288578060005260016020526040600020336000526020526040600020600160ff1982541617905580337f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef600080a360ff60065416156108c0575b6020906001600755604051908152f35b600260205260ff60406000205416156102885780600052600160205260406000203360005260205260ff60406000205416156102885780600052600060205260ff60056040600020015416610288578061091b602092611e9d565b610927575b90506108b0565b80600052600082526109e3604060002060058101600160ff19825416179055600080600460018060a01b036002850154166109786003860154956109716040518095819301611bb8565b0383611c69565b6040519461098586611c4e565b601d86527f63616c6c20726576657274656420776974686f7574206d657373616765000000898701528883519301915af13d15610a0f573d906109c782611d0e565b916109d56040519384611c69565b82523d60008784013e611e59565b50807f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a2610920565b606090611e59565b634e487b7160e01b600052601160045260246000fd5b015190508580610710565b906006840160005260206000209160005b601f1985168110610a905750918391600193600695601f19811610610a77575b505050811b01910155610726565b015160001960f88460031b161c19169055858080610a69565b91926020600181928685015181550194019201610a49565b634e487b7160e01b600052604160045260246000fd5b015190508680610699565b6004840160005260206000209560005b601f1984168110610b24575095829160c0959697600194601f19811610610b0b575b505050811b0160048401556106b1565b015160001960f88460031b161c19169055868080610afb565b82820151885560019097019660209283019201610ad9565b015190508580610604565b6001830160005260206000209060005b601f1984168110610b9e575060019394959683601f19811610610b85575b505050811b01600182015561061c565b015160001960f88460031b161c19169055858080610b75565b9091602060018192858b015181550193019101610b57565b0151905086806105a9565b6000888152602081209350601f198516905b818110610c0f5750908460019594939210610bf6575b505050811b0184556105be565b015160001960f88460031b161c19169055868080610be9565b92936020600181928786015181550195019301610bd3565b34610288576020806003193601126102885760043590336000526002815260ff6040600020541615610288578160005260018152604060002033600052815260ff604060002054161561028857816000526000815260ff6005604060002001541661028857610c9582611e9d565b610c9b57005b610d5290826000526000815260406000209060058201600160ff19825416179055600080600460018060a01b03600286015416610ce76003870154966109716040518095819301611bb8565b60405195610cf487611c4e565b601d87527f63616c6c20726576657274656420776974686f7574206d657373616765000000868801528583519301915af13d15610d7a573d610d3581611d0e565b90610d436040519283611c69565b8152600081933d92013e611e59565b507f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a2005b60609150611e59565b3461028857604036600319011261028857610d9c611b43565b610da4611b59565b90303303610288576001600160a01b0390811660008181526002602052604090205460ff161561028857818316928360005260ff604060002054166102885760005b60038054821015610eba57848491610dfd84611b08565b9054911b1c1614610e1657610e1190611dbc565b610de6565b610e44929350610e2590611b08565b90919082549060031b9160018060a01b03809116831b921b1916179055565b806000526002602052604060002060ff19908181541690558260005260016040600020918254161790557f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90600080a27ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d600080a2005b5050509050610e44565b34610288576000366003190112610288576020600454604051908152f35b3461028857600036600319011261028857602060405160328152f35b346102885760208060031936011261028857600435610f1b611e03565b336000526002825260ff80604060002054161561028857600082815280845260409020600201546001600160a01b03919082161561028857600193848152604060002033600052815281604060002054166102885783600052848152604060002033600052815260406000209160ff1992868482541617905584337f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef600080a3806006541615610fcd575b6007869055005b6002825280604060002054161561028857846000528582526040600020336000528252806040600020541615610288578460005260008252600560406000200154166102885761101c84611e9d565b611027575b80610fc6565b6000806004611066958783528285526040832095896005880191825416179055600286015416610ce76003870154966109716040518095819301611bb8565b507f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a281808080611021565b34610288576020366003190112610288576004353033036102885760035460328111159081611116575b8161110c575b81611102575b5015610288576020817fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a92600455604051908152a1005b90501515826110cb565b82151591506110c5565b8083111591506110bf565b3461028857600036600319011261028857602060ff600654166040519015158152f35b34610288576000366003190112610288576020600554604051908152f35b346102885760208060031936011261028857600435600380549061118582611f8b565b9360009360005b8481106111e857868661119e81611f8b565b9160005b8281106111bb57604051806111b78682611cca565b0390f35b6111e3906001600160a01b036111d18285611dcb565b51166111dd8287611dcb565b52611dbc565b6111a2565b81600052600180845260406000206111ff83611b08565b90546001600160a01b0391881b1c8116600090815291865260409091205460ff16611235575b505061123090611dbc565b61118c565b611240839893611b08565b905490871b1c16611251838a611dcb565b528101809111610a17579461123088611225565b346102885760803660031901126102885760248035600435611285611b6f565b926064359384151585036102885760058054916112a183611f8b565b9660009260005b858110611339578989896112c46112bf8284611df6565b611f8b565b92815b8381106113125784604051809160208083018184528251809152816040850193019160005b8281106112fb57505050500390f35b8351855286955093810193928101926001016112ec565b806113206113349284611dcb565b516111dd61132e8684611df6565b88611dcb565b6112c7565b83806113af575b801561138d575b61135a575b61135590611dbc565b6112a8565b9384611366828c611dcb565b5260018101809111611378579361134c565b86634e487b7160e01b60005260116004526000fd5b50828015611347575080600052600060205260ff826040600020015416611347565b5080600052600060205260ff82604060002001541615611340565b346102885760003660031901126102885760405180600354918281526020809101926003600052600080516020611fbe833981519152916000905b828210611428576111b78561141c81890382611c69565b60405191829182611cca565b83546001600160a01b031686529485019460019384019390910190611405565b3461028857602036600319011261028857600435600052600060205261151460406000206111b760405191611488836114818184611bb8565b0384611c69565b600661153a6040516114a8816114a18160018801611bb8565b0382611c69565b600284015460038501546040516001600160a01b0390921692611522906114dd846114d68160048c01611bb8565b0385611c69565b61150060ff60058a015416986114f9604051809a819301611bb8565b0388611c69565b6040519a8b9a60e08c5260e08c0190611c8a565b908a820360208c0152611c8a565b92604089015260608801528682036080880152611c8a565b91151560a085015283820360c0850152611c8a565b34610288576020806003193601126102885760038054600091600435835b83811061157e578585604051908152f35b816000526001808752604060002061159583611b08565b905490861b1c6001600160a01b03166000908152908852604090205460ff166115c8575b506115c390611dbc565b61156d565b85919501809111610a1757936115c36115b9565b346102885760203660031901126102885760206115fa600435611e9d565b6040519015158152f35b346102885760203660031901126102885761161d611b43565b303303610288576001600160a01b03811660008181526002602052604090205490919060ff166102885781156102885760035460018101809111610a175760045490603281111591826116f5575b826116eb575b50816116e1575b5015610288578160005260026020526040600020600160ff1982541617905560035490600160401b821015610aa857610e258260016116ba9401600355611b08565b7ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d600080a2005b9050151583611678565b1515915084611671565b81811115925061166b565b3461028857604036600319011261028857600435801515810361028857602490813580151581036102885760009160009160058054935b84811061174957602086604051908152f35b838061179e575b801561177c575b61176a575b61176590611dbc565b611737565b9460018101809111611378579461175c565b50828015611757575080600052600060205260ff826040600020015416611757565b5080600052600060205260ff82604060002001541615611750565b34610288576040366003190112610288576117d2611b59565b600435600052600160205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34610288576020366003190112610288576001600160a01b03611827611b43565b166000526002602052602060ff604060002054166040519015158152f35b34610288576020806003193601126102885760043590611863611e03565b336000526002815260ff6040600020541615610288578160005260018152604060002033600052815260ff604060002054161561028857816000526000815260ff6005604060002001541661028857600181526040600020903360005252604060002060ff198154169055337ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9600080a36001600755005b3461028857602036600319011261028857611914611b43565b303303610288576001600160a01b039081166000818152600260205260409020805491929160ff8116156102885760ff1916905560005b6003805460001981019291908311610a1757828493831015611a8757858461197285611b08565b905490851b1c161461198f57505061198a9150611dbc565b61194b565b92610e25916119a06119ac95611b08565b9054911b1c1691611b08565b6003548015611a715760001901906119c382611b08565b909182549160031b1b19169055806003558060045411611a06575b507f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90600080a2005b603281111580611a69575b80611a60575b80611a57575b15610288576020817fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a92600455604051908152a1816119de565b50801515611a1d565b50801515611a17565b506001611a11565b634e487b7160e01b600052603160045260246000fd5b505050506119ac565b346102885760203660031901126102885760043560035481101561028857611ab9602091611b08565b905460405160039290921b1c6001600160a01b03168152f35b34610288576020366003190112610288576004359063ffffffff60e01b8216809203610288576020916301ffc9a760e01b148152f35b600354811015611b2d576003600052600080516020611fbe8339815191520190600090565b634e487b7160e01b600052603260045260246000fd5b600435906001600160a01b038216820361028857565b602435906001600160a01b038216820361028857565b60443590811515820361028857565b90600182811c92168015611bae575b6020831014611b9857565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b8d565b9060009291805491611bc983611b7e565b918282526001938481169081600014611c2b5750600114611beb575b50505050565b90919394506000526020928360002092846000945b838610611c17575050505001019038808080611be5565b805485870183015294019385908201611c00565b9294505050602093945060ff191683830152151560051b01019038808080611be5565b604081019081106001600160401b03821117610aa857604052565b90601f801991011681019081106001600160401b03821117610aa857604052565b919082519283825260005b848110611cb6575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611c95565b6020908160408183019282815285518094520193019160005b828110611cf1575050505090565b83516001600160a01b031685529381019392810192600101611ce3565b6001600160401b038111610aa857601f01601f191660200190565b81601f8201121561028857803590611d4082611d0e565b92611d4e6040519485611c69565b8284526020838301011161028857816000926020809301838601378301015290565b6001600160401b038111610aa85760051b60200190565b34611d8e57565b6040513481527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c60203392a2565b6000198114610a175760010190565b8051821015611b2d5760209160051b010190565b818110611dea575050565b60008155600101611ddf565b91908203918211610a1757565b600260075414611e14576002600755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90919015611e65575090565b815115611e755750805190602001fd5b60405162461bcd60e51b815260206004820152908190611e99906024830190611c8a565b0390fd5b6000806003918254936004908154935b868110611ec05750505050505050600090565b81600052600160ff60208281526040908160002090611ede86611b08565b9054908c1b1c6001600160a01b03166000908152919052205416611f1e575b858514611f135750611f0e90611dbc565b611ead565b965050505050505090565b93848101809111611f2f5793611efd565b601184634e487b7160e01b6000525260246000fd5b9190601f8111611f5357505050565b611f7f926000526020600020906020601f840160051c83019310611f81575b601f0160051c0190611ddf565b565b9091508190611f72565b90611f9582611d70565b611fa26040519182611c69565b8281528092611fb3601f1991611d70565b019060203691013756fec2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85ba2646970667358221220a811b090e42c97975eec0fbe09f083130d0365665834d2707a8d2380f8ffafa364736f6c63430008120033"; type ApplicationsMultiSigConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/multisigs/MultiSigGeneric__factory.ts b/typechain-types/factories/contracts/multisigs/MultiSigGeneric__factory.ts index 3a84c5e74..b77cdcc79 100644 --- a/typechain-types/factories/contracts/multisigs/MultiSigGeneric__factory.ts +++ b/typechain-types/factories/contracts/multisigs/MultiSigGeneric__factory.ts @@ -222,7 +222,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "owner", + name: "_owner", type: "address", }, ], @@ -235,7 +235,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curRequired", + name: "_required", type: "uint256", }, ], @@ -325,7 +325,7 @@ const _abi = [ outputs: [ { internalType: "address[]", - name: "curConfirmations", + name: "ownerConfirmations", type: "address[]", }, ], @@ -396,7 +396,7 @@ const _abi = [ outputs: [ { internalType: "uint256[]", - name: "curTransactionids", + name: "transactionIds", type: "uint256[]", }, ], @@ -407,17 +407,17 @@ const _abi = [ inputs: [ { internalType: "address[]", - name: "curOwners", + name: "_owners", type: "address[]", }, { internalType: "uint256", - name: "curRequired", + name: "_required", type: "uint256", }, { internalType: "bool", - name: "curRequireexecution", + name: "_requireExecution", type: "bool", }, ], @@ -487,7 +487,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "owner", + name: "_owner", type: "address", }, ], @@ -500,12 +500,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "owner", + name: "_owner", type: "address", }, { internalType: "address", - name: "newOwner", + name: "_newOwner", type: "address", }, ], @@ -685,7 +685,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001b57600160075561201390816100218239f35b600080fdfe6080806040526004361015610028575b5036156100205761001e611d87565b005b61001e611d87565b60003560e01c90816301ffc9a714611ad257508063025e7c2714611a90578063173825d9146118fb57806320ea8d86146118455780632f54bf6e146118065780633411c81c146117b957806354741525146117005780637065cb4814611604578063784547a7146115dc5780638b51d13f1461154f5780639ace38c214611448578063a0e67e2b146113ca578063a8abe69a14611265578063b5dc40c314611162578063b77bf60014611144578063b781694a14611121578063ba51a6df14611095578063c01a8c8414610efe578063d74f8edd14610ee2578063dc8452cd14610ec4578063e20056e614610d83578063ee22610b14610c27578063f06a7522146104695763f72b230d1461013d573861000f565b34610288576060366003190112610288576001600160401b0360043581811161028857366023820112156102885780600401359161017a83611d70565b926101886040519485611c69565b80845260209081850193846024809360051b83010191368311610288578301905b82821061044a575050506101bb611b6f565b9060069081549060ff95868360101c16159283809461043b575b8015610422575b156103c75761ff00198116610100178555836103b4575b508851603281111590816103a7575b8161039c575b81610392575b50156102885760005b89518110156102a4576001600160a01b039081610234828d611dcb565b511660005260028089528b83838c6040600020541615928361028d575b505050156102885761028392610267838e611dcb565b511660005288526040600020600160ff19825416179055611dbc565b610217565b600080fd5b610298929350611dcb565b5116151583838e610251565b50878997939495975191821161037d57600160401b821161037d5760035482600355808310610359575b50600360005260005b8281106103305750505035600455825494151516908160ff1986161783556102fb57005b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989362ff00ff191617905560405160018152a1005b81516001600160a01b0316600080516020611fbe833981519152820155908701906001016102d7565b6103779083600080516020611fbe8339815191529182019101611ddf565b886102ce565b82634e487b7160e01b60005260416004526000fd5b905015153861020e565b833515159150610208565b8091508335111590610202565b62ffff00191662010100178455386101f3565b60405162461bcd60e51b815260048101889052602e818501527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101dc57506001888260081c16146101dc565b506001888260081c16106101d5565b81356001600160a01b03811681036102885781529084019084016101a9565b346102885760c0366003190112610288576004356001600160401b03811161028857610499903690600401611d29565b6024356001600160401b038111610288576104b8903690600401611d29565b906044356001600160a01b03811690819003610288576084356001600160401b038111610288576104ed903690600401611d29565b60a4356001600160401b0381116102885761050c903690600401611d29565b90821561028857600554926040519460e086018681106001600160401b03821117610aa857604052855260208501958652604085015260643560608501526080840152600060a084015260c083015280600052600060205260406000209282518051906001600160401b038211610aa85781906105938261058d8954611b7e565b89611f44565b602090601f8311600114610bc157600092610bb6575b50508160011b916000199060031b1c19161784555b519283516001600160401b038111610aa8576105ea816105e16001850154611b7e565b60018501611f44565b6020601f8211600114610b47578192939495600092610b3c575b50508160011b916000199060031b1c19161760018201555b6002810160018060a01b036040850151166bffffffffffffffffffffffff60a01b8254161790556060830151600382015560808301519283516001600160401b038111610aa85761067d816106746004860154611b7e565b60048601611f44565b6020601f8211600114610ac957819060c0949596600092610abe575b50508160011b916000199060031b1c19161760048401555b6005830160a0820151151560ff8019835416911617905501518051906001600160401b038211610aa8576106f5826106ec6006860154611b7e565b60068601611f44565b602090601f8311600114610a38576006929160009183610a2d575b50508160011b916000199060031b1c1916179101555b60055460018101809111610a1757600555806000526000602052807f180494405e1822cfac7f46cb28e05d25c4e51a01231c971781dfcab4f00639216107f860406000206040519182916020835260e06020840152600661078b610100850183611bb8565b916107d96107a9601f19948588820301604089015260018401611bb8565b60028301546001600160a01b0316606088015260038301546080880152868103850160a088015260048301611bb8565b9260ff600583015416151560c08701528584030160e086015201611bb8565b0390a2610803611e03565b33600052600260205260ff6040600020541615610288576000818152602081905260409020600201546001600160a01b03161561028857600160205260406000203360005260205260ff60406000205416610288578060005260016020526040600020336000526020526040600020600160ff1982541617905580337f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef600080a360ff60065416156108c0575b6020906001600755604051908152f35b600260205260ff60406000205416156102885780600052600160205260406000203360005260205260ff60406000205416156102885780600052600060205260ff60056040600020015416610288578061091b602092611e9d565b610927575b90506108b0565b80600052600082526109e3604060002060058101600160ff19825416179055600080600460018060a01b036002850154166109786003860154956109716040518095819301611bb8565b0383611c69565b6040519461098586611c4e565b601d86527f63616c6c20726576657274656420776974686f7574206d657373616765000000898701528883519301915af13d15610a0f573d906109c782611d0e565b916109d56040519384611c69565b82523d60008784013e611e59565b50807f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a2610920565b606090611e59565b634e487b7160e01b600052601160045260246000fd5b015190508580610710565b906006840160005260206000209160005b601f1985168110610a905750918391600193600695601f19811610610a77575b505050811b01910155610726565b015160001960f88460031b161c19169055858080610a69565b91926020600181928685015181550194019201610a49565b634e487b7160e01b600052604160045260246000fd5b015190508680610699565b6004840160005260206000209560005b601f1984168110610b24575095829160c0959697600194601f19811610610b0b575b505050811b0160048401556106b1565b015160001960f88460031b161c19169055868080610afb565b82820151885560019097019660209283019201610ad9565b015190508580610604565b6001830160005260206000209060005b601f1984168110610b9e575060019394959683601f19811610610b85575b505050811b01600182015561061c565b015160001960f88460031b161c19169055858080610b75565b9091602060018192858b015181550193019101610b57565b0151905086806105a9565b6000888152602081209350601f198516905b818110610c0f5750908460019594939210610bf6575b505050811b0184556105be565b015160001960f88460031b161c19169055868080610be9565b92936020600181928786015181550195019301610bd3565b34610288576020806003193601126102885760043590336000526002815260ff6040600020541615610288578160005260018152604060002033600052815260ff604060002054161561028857816000526000815260ff6005604060002001541661028857610c9582611e9d565b610c9b57005b610d5290826000526000815260406000209060058201600160ff19825416179055600080600460018060a01b03600286015416610ce76003870154966109716040518095819301611bb8565b60405195610cf487611c4e565b601d87527f63616c6c20726576657274656420776974686f7574206d657373616765000000868801528583519301915af13d15610d7a573d610d3581611d0e565b90610d436040519283611c69565b8152600081933d92013e611e59565b507f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a2005b60609150611e59565b3461028857604036600319011261028857610d9c611b43565b610da4611b59565b90303303610288576001600160a01b0390811660008181526002602052604090205460ff161561028857818316928360005260ff604060002054166102885760005b60038054821015610eba57848491610dfd84611b08565b9054911b1c1614610e1657610e1190611dbc565b610de6565b610e44929350610e2590611b08565b90919082549060031b9160018060a01b03809116831b921b1916179055565b806000526002602052604060002060ff19908181541690558260005260016040600020918254161790557f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90600080a27ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d600080a2005b5050509050610e44565b34610288576000366003190112610288576020600454604051908152f35b3461028857600036600319011261028857602060405160328152f35b346102885760208060031936011261028857600435610f1b611e03565b336000526002825260ff80604060002054161561028857600082815280845260409020600201546001600160a01b03919082161561028857600193848152604060002033600052815281604060002054166102885783600052848152604060002033600052815260406000209160ff1992868482541617905584337f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef600080a3806006541615610fcd575b6007869055005b6002825280604060002054161561028857846000528582526040600020336000528252806040600020541615610288578460005260008252600560406000200154166102885761101c84611e9d565b611027575b80610fc6565b6000806004611066958783528285526040832095896005880191825416179055600286015416610ce76003870154966109716040518095819301611bb8565b507f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a281808080611021565b34610288576020366003190112610288576004353033036102885760035460328111159081611116575b8161110c575b81611102575b5015610288576020817fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a92600455604051908152a1005b90501515826110cb565b82151591506110c5565b8083111591506110bf565b3461028857600036600319011261028857602060ff600654166040519015158152f35b34610288576000366003190112610288576020600554604051908152f35b346102885760208060031936011261028857600435600380549061118582611f8b565b9360009360005b8481106111e857868661119e81611f8b565b9160005b8281106111bb57604051806111b78682611cca565b0390f35b6111e3906001600160a01b036111d18285611dcb565b51166111dd8287611dcb565b52611dbc565b6111a2565b81600052600180845260406000206111ff83611b08565b90546001600160a01b0391881b1c8116600090815291865260409091205460ff16611235575b505061123090611dbc565b61118c565b611240839893611b08565b905490871b1c16611251838a611dcb565b528101809111610a17579461123088611225565b346102885760803660031901126102885760248035600435611285611b6f565b926064359384151585036102885760058054916112a183611f8b565b9660009260005b858110611339578989896112c46112bf8284611df6565b611f8b565b92815b8381106113125784604051809160208083018184528251809152816040850193019160005b8281106112fb57505050500390f35b8351855286955093810193928101926001016112ec565b806113206113349284611dcb565b516111dd61132e8684611df6565b88611dcb565b6112c7565b83806113af575b801561138d575b61135a575b61135590611dbc565b6112a8565b9384611366828c611dcb565b5260018101809111611378579361134c565b86634e487b7160e01b60005260116004526000fd5b50828015611347575080600052600060205260ff826040600020015416611347565b5080600052600060205260ff82604060002001541615611340565b346102885760003660031901126102885760405180600354918281526020809101926003600052600080516020611fbe833981519152916000905b828210611428576111b78561141c81890382611c69565b60405191829182611cca565b83546001600160a01b031686529485019460019384019390910190611405565b3461028857602036600319011261028857600435600052600060205261151460406000206111b760405191611488836114818184611bb8565b0384611c69565b600661153a6040516114a8816114a18160018801611bb8565b0382611c69565b600284015460038501546040516001600160a01b0390921692611522906114dd846114d68160048c01611bb8565b0385611c69565b61150060ff60058a015416986114f9604051809a819301611bb8565b0388611c69565b6040519a8b9a60e08c5260e08c0190611c8a565b908a820360208c0152611c8a565b92604089015260608801528682036080880152611c8a565b91151560a085015283820360c0850152611c8a565b34610288576020806003193601126102885760038054600091600435835b83811061157e578585604051908152f35b816000526001808752604060002061159583611b08565b905490861b1c6001600160a01b03166000908152908852604090205460ff166115c8575b506115c390611dbc565b61156d565b85919501809111610a1757936115c36115b9565b346102885760203660031901126102885760206115fa600435611e9d565b6040519015158152f35b346102885760203660031901126102885761161d611b43565b303303610288576001600160a01b03811660008181526002602052604090205490919060ff166102885781156102885760035460018101809111610a175760045490603281111591826116f5575b826116eb575b50816116e1575b5015610288578160005260026020526040600020600160ff1982541617905560035490600160401b821015610aa857610e258260016116ba9401600355611b08565b7ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d600080a2005b9050151583611678565b1515915084611671565b81811115925061166b565b3461028857604036600319011261028857600435801515810361028857602490813580151581036102885760009160009160058054935b84811061174957602086604051908152f35b838061179e575b801561177c575b61176a575b61176590611dbc565b611737565b9460018101809111611378579461175c565b50828015611757575080600052600060205260ff826040600020015416611757565b5080600052600060205260ff82604060002001541615611750565b34610288576040366003190112610288576117d2611b59565b600435600052600160205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34610288576020366003190112610288576001600160a01b03611827611b43565b166000526002602052602060ff604060002054166040519015158152f35b34610288576020806003193601126102885760043590611863611e03565b336000526002815260ff6040600020541615610288578160005260018152604060002033600052815260ff604060002054161561028857816000526000815260ff6005604060002001541661028857600181526040600020903360005252604060002060ff198154169055337ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9600080a36001600755005b3461028857602036600319011261028857611914611b43565b303303610288576001600160a01b039081166000818152600260205260409020805491929160ff8116156102885760ff1916905560005b6003805460001981019291908311610a1757828493831015611a8757858461197285611b08565b905490851b1c161461198f57505061198a9150611dbc565b61194b565b92610e25916119a06119ac95611b08565b9054911b1c1691611b08565b6003548015611a715760001901906119c382611b08565b909182549160031b1b19169055806003558060045411611a06575b507f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90600080a2005b603281111580611a69575b80611a60575b80611a57575b15610288576020817fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a92600455604051908152a1816119de565b50801515611a1d565b50801515611a17565b506001611a11565b634e487b7160e01b600052603160045260246000fd5b505050506119ac565b346102885760203660031901126102885760043560035481101561028857611ab9602091611b08565b905460405160039290921b1c6001600160a01b03168152f35b34610288576020366003190112610288576004359063ffffffff60e01b8216809203610288576020916301ffc9a760e01b148152f35b600354811015611b2d576003600052600080516020611fbe8339815191520190600090565b634e487b7160e01b600052603260045260246000fd5b600435906001600160a01b038216820361028857565b602435906001600160a01b038216820361028857565b60443590811515820361028857565b90600182811c92168015611bae575b6020831014611b9857565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b8d565b9060009291805491611bc983611b7e565b918282526001938481169081600014611c2b5750600114611beb575b50505050565b90919394506000526020928360002092846000945b838610611c17575050505001019038808080611be5565b805485870183015294019385908201611c00565b9294505050602093945060ff191683830152151560051b01019038808080611be5565b604081019081106001600160401b03821117610aa857604052565b90601f801991011681019081106001600160401b03821117610aa857604052565b919082519283825260005b848110611cb6575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611c95565b6020908160408183019282815285518094520193019160005b828110611cf1575050505090565b83516001600160a01b031685529381019392810192600101611ce3565b6001600160401b038111610aa857601f01601f191660200190565b81601f8201121561028857803590611d4082611d0e565b92611d4e6040519485611c69565b8284526020838301011161028857816000926020809301838601378301015290565b6001600160401b038111610aa85760051b60200190565b34611d8e57565b6040513481527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c60203392a2565b6000198114610a175760010190565b8051821015611b2d5760209160051b010190565b818110611dea575050565b60008155600101611ddf565b91908203918211610a1757565b600260075414611e14576002600755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90919015611e65575090565b815115611e755750805190602001fd5b60405162461bcd60e51b815260206004820152908190611e99906024830190611c8a565b0390fd5b6000806003918254936004908154935b868110611ec05750505050505050600090565b81600052600160ff60208281526040908160002090611ede86611b08565b9054908c1b1c6001600160a01b03166000908152919052205416611f1e575b858514611f135750611f0e90611dbc565b611ead565b965050505050505090565b93848101809111611f2f5793611efd565b601184634e487b7160e01b6000525260246000fd5b9190601f8111611f5357505050565b611f7f926000526020600020906020601f840160051c83019310611f81575b601f0160051c0190611ddf565b565b9091508190611f72565b90611f9582611d70565b611fa26040519182611c69565b8281528092611fb3601f1991611d70565b019060203691013756fec2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85ba26469706673582212204d34d18aa4b719dd4cc1b9172a5ad3b1333fc9bc175846d83ee02afbf1e270e664736f6c63430008120033"; + "0x6080806040523461001b57600160075561201390816100218239f35b600080fdfe6080806040526004361015610028575b5036156100205761001e611d87565b005b61001e611d87565b60003560e01c90816301ffc9a714611ad257508063025e7c2714611a90578063173825d9146118fb57806320ea8d86146118455780632f54bf6e146118065780633411c81c146117b957806354741525146117005780637065cb4814611604578063784547a7146115dc5780638b51d13f1461154f5780639ace38c214611448578063a0e67e2b146113ca578063a8abe69a14611265578063b5dc40c314611162578063b77bf60014611144578063b781694a14611121578063ba51a6df14611095578063c01a8c8414610efe578063d74f8edd14610ee2578063dc8452cd14610ec4578063e20056e614610d83578063ee22610b14610c27578063f06a7522146104695763f72b230d1461013d573861000f565b34610288576060366003190112610288576001600160401b0360043581811161028857366023820112156102885780600401359161017a83611d70565b926101886040519485611c69565b80845260209081850193846024809360051b83010191368311610288578301905b82821061044a575050506101bb611b6f565b9060069081549060ff95868360101c16159283809461043b575b8015610422575b156103c75761ff00198116610100178555836103b4575b508851603281111590816103a7575b8161039c575b81610392575b50156102885760005b89518110156102a4576001600160a01b039081610234828d611dcb565b511660005260028089528b83838c6040600020541615928361028d575b505050156102885761028392610267838e611dcb565b511660005288526040600020600160ff19825416179055611dbc565b610217565b600080fd5b610298929350611dcb565b5116151583838e610251565b50878997939495975191821161037d57600160401b821161037d5760035482600355808310610359575b50600360005260005b8281106103305750505035600455825494151516908160ff1986161783556102fb57005b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989362ff00ff191617905560405160018152a1005b81516001600160a01b0316600080516020611fbe833981519152820155908701906001016102d7565b6103779083600080516020611fbe8339815191529182019101611ddf565b886102ce565b82634e487b7160e01b60005260416004526000fd5b905015153861020e565b833515159150610208565b8091508335111590610202565b62ffff00191662010100178455386101f3565b60405162461bcd60e51b815260048101889052602e818501527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101dc57506001888260081c16146101dc565b506001888260081c16106101d5565b81356001600160a01b03811681036102885781529084019084016101a9565b346102885760c0366003190112610288576004356001600160401b03811161028857610499903690600401611d29565b6024356001600160401b038111610288576104b8903690600401611d29565b906044356001600160a01b03811690819003610288576084356001600160401b038111610288576104ed903690600401611d29565b60a4356001600160401b0381116102885761050c903690600401611d29565b90821561028857600554926040519460e086018681106001600160401b03821117610aa857604052855260208501958652604085015260643560608501526080840152600060a084015260c083015280600052600060205260406000209282518051906001600160401b038211610aa85781906105938261058d8954611b7e565b89611f44565b602090601f8311600114610bc157600092610bb6575b50508160011b916000199060031b1c19161784555b519283516001600160401b038111610aa8576105ea816105e16001850154611b7e565b60018501611f44565b6020601f8211600114610b47578192939495600092610b3c575b50508160011b916000199060031b1c19161760018201555b6002810160018060a01b036040850151166bffffffffffffffffffffffff60a01b8254161790556060830151600382015560808301519283516001600160401b038111610aa85761067d816106746004860154611b7e565b60048601611f44565b6020601f8211600114610ac957819060c0949596600092610abe575b50508160011b916000199060031b1c19161760048401555b6005830160a0820151151560ff8019835416911617905501518051906001600160401b038211610aa8576106f5826106ec6006860154611b7e565b60068601611f44565b602090601f8311600114610a38576006929160009183610a2d575b50508160011b916000199060031b1c1916179101555b60055460018101809111610a1757600555806000526000602052807f180494405e1822cfac7f46cb28e05d25c4e51a01231c971781dfcab4f00639216107f860406000206040519182916020835260e06020840152600661078b610100850183611bb8565b916107d96107a9601f19948588820301604089015260018401611bb8565b60028301546001600160a01b0316606088015260038301546080880152868103850160a088015260048301611bb8565b9260ff600583015416151560c08701528584030160e086015201611bb8565b0390a2610803611e03565b33600052600260205260ff6040600020541615610288576000818152602081905260409020600201546001600160a01b03161561028857600160205260406000203360005260205260ff60406000205416610288578060005260016020526040600020336000526020526040600020600160ff1982541617905580337f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef600080a360ff60065416156108c0575b6020906001600755604051908152f35b600260205260ff60406000205416156102885780600052600160205260406000203360005260205260ff60406000205416156102885780600052600060205260ff60056040600020015416610288578061091b602092611e9d565b610927575b90506108b0565b80600052600082526109e3604060002060058101600160ff19825416179055600080600460018060a01b036002850154166109786003860154956109716040518095819301611bb8565b0383611c69565b6040519461098586611c4e565b601d86527f63616c6c20726576657274656420776974686f7574206d657373616765000000898701528883519301915af13d15610a0f573d906109c782611d0e565b916109d56040519384611c69565b82523d60008784013e611e59565b50807f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a2610920565b606090611e59565b634e487b7160e01b600052601160045260246000fd5b015190508580610710565b906006840160005260206000209160005b601f1985168110610a905750918391600193600695601f19811610610a77575b505050811b01910155610726565b015160001960f88460031b161c19169055858080610a69565b91926020600181928685015181550194019201610a49565b634e487b7160e01b600052604160045260246000fd5b015190508680610699565b6004840160005260206000209560005b601f1984168110610b24575095829160c0959697600194601f19811610610b0b575b505050811b0160048401556106b1565b015160001960f88460031b161c19169055868080610afb565b82820151885560019097019660209283019201610ad9565b015190508580610604565b6001830160005260206000209060005b601f1984168110610b9e575060019394959683601f19811610610b85575b505050811b01600182015561061c565b015160001960f88460031b161c19169055858080610b75565b9091602060018192858b015181550193019101610b57565b0151905086806105a9565b6000888152602081209350601f198516905b818110610c0f5750908460019594939210610bf6575b505050811b0184556105be565b015160001960f88460031b161c19169055868080610be9565b92936020600181928786015181550195019301610bd3565b34610288576020806003193601126102885760043590336000526002815260ff6040600020541615610288578160005260018152604060002033600052815260ff604060002054161561028857816000526000815260ff6005604060002001541661028857610c9582611e9d565b610c9b57005b610d5290826000526000815260406000209060058201600160ff19825416179055600080600460018060a01b03600286015416610ce76003870154966109716040518095819301611bb8565b60405195610cf487611c4e565b601d87527f63616c6c20726576657274656420776974686f7574206d657373616765000000868801528583519301915af13d15610d7a573d610d3581611d0e565b90610d436040519283611c69565b8152600081933d92013e611e59565b507f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a2005b60609150611e59565b3461028857604036600319011261028857610d9c611b43565b610da4611b59565b90303303610288576001600160a01b0390811660008181526002602052604090205460ff161561028857818316928360005260ff604060002054166102885760005b60038054821015610eba57848491610dfd84611b08565b9054911b1c1614610e1657610e1190611dbc565b610de6565b610e44929350610e2590611b08565b90919082549060031b9160018060a01b03809116831b921b1916179055565b806000526002602052604060002060ff19908181541690558260005260016040600020918254161790557f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90600080a27ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d600080a2005b5050509050610e44565b34610288576000366003190112610288576020600454604051908152f35b3461028857600036600319011261028857602060405160328152f35b346102885760208060031936011261028857600435610f1b611e03565b336000526002825260ff80604060002054161561028857600082815280845260409020600201546001600160a01b03919082161561028857600193848152604060002033600052815281604060002054166102885783600052848152604060002033600052815260406000209160ff1992868482541617905584337f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef600080a3806006541615610fcd575b6007869055005b6002825280604060002054161561028857846000528582526040600020336000528252806040600020541615610288578460005260008252600560406000200154166102885761101c84611e9d565b611027575b80610fc6565b6000806004611066958783528285526040832095896005880191825416179055600286015416610ce76003870154966109716040518095819301611bb8565b507f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed75600080a281808080611021565b34610288576020366003190112610288576004353033036102885760035460328111159081611116575b8161110c575b81611102575b5015610288576020817fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a92600455604051908152a1005b90501515826110cb565b82151591506110c5565b8083111591506110bf565b3461028857600036600319011261028857602060ff600654166040519015158152f35b34610288576000366003190112610288576020600554604051908152f35b346102885760208060031936011261028857600435600380549061118582611f8b565b9360009360005b8481106111e857868661119e81611f8b565b9160005b8281106111bb57604051806111b78682611cca565b0390f35b6111e3906001600160a01b036111d18285611dcb565b51166111dd8287611dcb565b52611dbc565b6111a2565b81600052600180845260406000206111ff83611b08565b90546001600160a01b0391881b1c8116600090815291865260409091205460ff16611235575b505061123090611dbc565b61118c565b611240839893611b08565b905490871b1c16611251838a611dcb565b528101809111610a17579461123088611225565b346102885760803660031901126102885760248035600435611285611b6f565b926064359384151585036102885760058054916112a183611f8b565b9660009260005b858110611339578989896112c46112bf8284611df6565b611f8b565b92815b8381106113125784604051809160208083018184528251809152816040850193019160005b8281106112fb57505050500390f35b8351855286955093810193928101926001016112ec565b806113206113349284611dcb565b516111dd61132e8684611df6565b88611dcb565b6112c7565b83806113af575b801561138d575b61135a575b61135590611dbc565b6112a8565b9384611366828c611dcb565b5260018101809111611378579361134c565b86634e487b7160e01b60005260116004526000fd5b50828015611347575080600052600060205260ff826040600020015416611347565b5080600052600060205260ff82604060002001541615611340565b346102885760003660031901126102885760405180600354918281526020809101926003600052600080516020611fbe833981519152916000905b828210611428576111b78561141c81890382611c69565b60405191829182611cca565b83546001600160a01b031686529485019460019384019390910190611405565b3461028857602036600319011261028857600435600052600060205261151460406000206111b760405191611488836114818184611bb8565b0384611c69565b600661153a6040516114a8816114a18160018801611bb8565b0382611c69565b600284015460038501546040516001600160a01b0390921692611522906114dd846114d68160048c01611bb8565b0385611c69565b61150060ff60058a015416986114f9604051809a819301611bb8565b0388611c69565b6040519a8b9a60e08c5260e08c0190611c8a565b908a820360208c0152611c8a565b92604089015260608801528682036080880152611c8a565b91151560a085015283820360c0850152611c8a565b34610288576020806003193601126102885760038054600091600435835b83811061157e578585604051908152f35b816000526001808752604060002061159583611b08565b905490861b1c6001600160a01b03166000908152908852604090205460ff166115c8575b506115c390611dbc565b61156d565b85919501809111610a1757936115c36115b9565b346102885760203660031901126102885760206115fa600435611e9d565b6040519015158152f35b346102885760203660031901126102885761161d611b43565b303303610288576001600160a01b03811660008181526002602052604090205490919060ff166102885781156102885760035460018101809111610a175760045490603281111591826116f5575b826116eb575b50816116e1575b5015610288578160005260026020526040600020600160ff1982541617905560035490600160401b821015610aa857610e258260016116ba9401600355611b08565b7ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d600080a2005b9050151583611678565b1515915084611671565b81811115925061166b565b3461028857604036600319011261028857600435801515810361028857602490813580151581036102885760009160009160058054935b84811061174957602086604051908152f35b838061179e575b801561177c575b61176a575b61176590611dbc565b611737565b9460018101809111611378579461175c565b50828015611757575080600052600060205260ff826040600020015416611757565b5080600052600060205260ff82604060002001541615611750565b34610288576040366003190112610288576117d2611b59565b600435600052600160205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b34610288576020366003190112610288576001600160a01b03611827611b43565b166000526002602052602060ff604060002054166040519015158152f35b34610288576020806003193601126102885760043590611863611e03565b336000526002815260ff6040600020541615610288578160005260018152604060002033600052815260ff604060002054161561028857816000526000815260ff6005604060002001541661028857600181526040600020903360005252604060002060ff198154169055337ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e9600080a36001600755005b3461028857602036600319011261028857611914611b43565b303303610288576001600160a01b039081166000818152600260205260409020805491929160ff8116156102885760ff1916905560005b6003805460001981019291908311610a1757828493831015611a8757858461197285611b08565b905490851b1c161461198f57505061198a9150611dbc565b61194b565b92610e25916119a06119ac95611b08565b9054911b1c1691611b08565b6003548015611a715760001901906119c382611b08565b909182549160031b1b19169055806003558060045411611a06575b507f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b90600080a2005b603281111580611a69575b80611a60575b80611a57575b15610288576020817fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a92600455604051908152a1816119de565b50801515611a1d565b50801515611a17565b506001611a11565b634e487b7160e01b600052603160045260246000fd5b505050506119ac565b346102885760203660031901126102885760043560035481101561028857611ab9602091611b08565b905460405160039290921b1c6001600160a01b03168152f35b34610288576020366003190112610288576004359063ffffffff60e01b8216809203610288576020916301ffc9a760e01b148152f35b600354811015611b2d576003600052600080516020611fbe8339815191520190600090565b634e487b7160e01b600052603260045260246000fd5b600435906001600160a01b038216820361028857565b602435906001600160a01b038216820361028857565b60443590811515820361028857565b90600182811c92168015611bae575b6020831014611b9857565b634e487b7160e01b600052602260045260246000fd5b91607f1691611b8d565b9060009291805491611bc983611b7e565b918282526001938481169081600014611c2b5750600114611beb575b50505050565b90919394506000526020928360002092846000945b838610611c17575050505001019038808080611be5565b805485870183015294019385908201611c00565b9294505050602093945060ff191683830152151560051b01019038808080611be5565b604081019081106001600160401b03821117610aa857604052565b90601f801991011681019081106001600160401b03821117610aa857604052565b919082519283825260005b848110611cb6575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611c95565b6020908160408183019282815285518094520193019160005b828110611cf1575050505090565b83516001600160a01b031685529381019392810192600101611ce3565b6001600160401b038111610aa857601f01601f191660200190565b81601f8201121561028857803590611d4082611d0e565b92611d4e6040519485611c69565b8284526020838301011161028857816000926020809301838601378301015290565b6001600160401b038111610aa85760051b60200190565b34611d8e57565b6040513481527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c60203392a2565b6000198114610a175760010190565b8051821015611b2d5760209160051b010190565b818110611dea575050565b60008155600101611ddf565b91908203918211610a1757565b600260075414611e14576002600755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90919015611e65575090565b815115611e755750805190602001fd5b60405162461bcd60e51b815260206004820152908190611e99906024830190611c8a565b0390fd5b6000806003918254936004908154935b868110611ec05750505050505050600090565b81600052600160ff60208281526040908160002090611ede86611b08565b9054908c1b1c6001600160a01b03166000908152919052205416611f1e575b858514611f135750611f0e90611dbc565b611ead565b965050505050505090565b93848101809111611f2f5793611efd565b601184634e487b7160e01b6000525260246000fd5b9190601f8111611f5357505050565b611f7f926000526020600020906020601f840160051c83019310611f81575b601f0160051c0190611ddf565b565b9091508190611f72565b90611f9582611d70565b611fa26040519182611c69565b8281528092611fb3601f1991611d70565b019060203691013756fec2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85ba2646970667358221220224057f36aba6c3428e14a960466ea5fade783358e687ea217f148e606c7664364736f6c63430008120033"; type MultiSigGenericConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/multisigs/charity_applications/CharityApplication.sol/CharityApplication__factory.ts b/typechain-types/factories/contracts/multisigs/charity_applications/CharityApplication.sol/CharityApplication__factory.ts index 6549f2456..26fa6edd7 100644 --- a/typechain-types/factories/contracts/multisigs/charity_applications/CharityApplication.sol/CharityApplication__factory.ts +++ b/typechain-types/factories/contracts/multisigs/charity_applications/CharityApplication.sol/CharityApplication__factory.ts @@ -95,7 +95,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -110,7 +110,7 @@ const _abi = [ }, { internalType: "address[]", - name: "cw4_members", + name: "members", type: "address[]", }, { @@ -149,17 +149,17 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.Duration", - name: "cw3MaxVotingPeriod", + name: "maxVotingPeriod", type: "tuple", }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { @@ -186,17 +186,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -208,14 +203,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -230,14 +220,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -252,17 +237,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -313,29 +293,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -361,44 +341,43 @@ const _abi = [ type: "uint128", }, ], - internalType: - "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -432,24 +411,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -464,31 +433,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -503,31 +462,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -542,31 +491,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -581,31 +520,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -620,31 +549,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -659,31 +578,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -698,31 +607,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -737,31 +636,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -783,24 +672,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -822,63 +701,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -893,31 +723,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -939,24 +759,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -978,24 +788,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1017,24 +817,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1056,24 +846,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1095,24 +875,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1136,13 +906,13 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1409,47 +1179,47 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curExpiry", + name: "expiry", type: "uint256", }, { internalType: "address", - name: "curApplicationmultisig", + name: "applicationmultisig", type: "address", }, { internalType: "address", - name: "curAccountscontract", + name: "accountscontract", type: "address", }, { internalType: "uint256", - name: "curSeedsplittoliquid", + name: "seedsplittoliquid", type: "uint256", }, { internalType: "bool", - name: "curNewendowgasmoney", + name: "newendowgasmoney", type: "bool", }, { internalType: "uint256", - name: "curGasamount", + name: "gasamount", type: "uint256", }, { internalType: "bool", - name: "curFundseedasset", + name: "fundseedasset", type: "bool", }, { internalType: "address", - name: "curSeedasset", + name: "seedasset", type: "address", }, { internalType: "uint256", - name: "curSeedassetamount", + name: "seedassetamount", type: "uint256", }, ], @@ -1529,7 +1299,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1544,7 +1314,7 @@ const _abi = [ }, { internalType: "address[]", - name: "cw4_members", + name: "members", type: "address[]", }, { @@ -1583,17 +1353,17 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.Duration", - name: "cw3MaxVotingPeriod", + name: "maxVotingPeriod", type: "tuple", }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { @@ -1620,17 +1390,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1642,14 +1407,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1664,14 +1424,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1686,17 +1441,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1747,29 +1497,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -1795,44 +1545,43 @@ const _abi = [ type: "uint128", }, ], - internalType: - "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -1866,24 +1615,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1898,31 +1637,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1937,31 +1666,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1976,31 +1695,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2015,31 +1724,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2054,31 +1753,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2093,31 +1782,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2132,31 +1811,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2171,31 +1840,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2217,24 +1876,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2256,24 +1905,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2288,70 +1927,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2373,24 +1963,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2412,24 +1992,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2451,24 +2021,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2490,24 +2050,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2529,24 +2079,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2570,13 +2110,13 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -2688,7 +2228,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -2703,7 +2243,7 @@ const _abi = [ }, { internalType: "address[]", - name: "cw4_members", + name: "members", type: "address[]", }, { @@ -2742,17 +2282,17 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.Duration", - name: "cw3MaxVotingPeriod", + name: "maxVotingPeriod", type: "tuple", }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { @@ -2779,17 +2319,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -2801,14 +2336,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -2823,14 +2353,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -2845,17 +2370,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -2906,29 +2426,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -2954,44 +2474,43 @@ const _abi = [ type: "uint128", }, ], - internalType: - "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -3025,24 +2544,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3057,31 +2566,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3096,31 +2595,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3135,31 +2624,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3174,31 +2653,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3213,31 +2682,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3252,31 +2711,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3291,31 +2740,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3330,31 +2769,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3376,24 +2805,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3415,24 +2834,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3447,70 +2856,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3532,24 +2892,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3571,24 +2921,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3610,24 +2950,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3649,24 +2979,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3688,24 +3008,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -3729,13 +3039,13 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -3882,47 +3192,47 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curExpiry", + name: "expiry", type: "uint256", }, { internalType: "address", - name: "curApplicationmultisig", + name: "applicationmultisig", type: "address", }, { internalType: "address", - name: "curAccountscontract", + name: "accountscontract", type: "address", }, { internalType: "uint256", - name: "curSeedsplittoliquid", + name: "seedsplittoliquid", type: "uint256", }, { internalType: "bool", - name: "curNewendowgasmoney", + name: "newendowgasmoney", type: "bool", }, { internalType: "uint256", - name: "curGasamount", + name: "gasamount", type: "uint256", }, { internalType: "bool", - name: "curFundseedasset", + name: "fundseedasset", type: "bool", }, { internalType: "address", - name: "curSeedasset", + name: "seedasset", type: "address", }, { internalType: "uint256", - name: "curSeedassetamount", + name: "seedassetamount", type: "uint256", }, ], @@ -3938,7 +3248,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60808060405234610025576001600a5560ff19600b5416600b55613edc908161002b8239f35b600080fdfe60806040526004361015610026575b361561001e5761001c613a33565b005b61001c613a33565b6000803560e01c8063013cf08b1461284f57806301ffc9a71461281457806379502c55146127995780639eaec803146126ce578063a7233ef914612564578063b0099137146123e2578063e2ccacce14611231578063e68f909d1461111e5763fb6ab90514610095575061000e565b3461111b57604036600319011261111b576001600160401b036004351161111b576110a06004353603600319011261111b576040516100d381612f37565b6100e1600435600401613798565b81526100f16024600435016137b1565b60208201526044600435013560408201526064600435013560608201526001600160401b0360846004350135116110ff57610136366004803560848101350101613842565b608082015260a460043501356001600160401b0381116110f05760406004358201360360031901126110f0576040519061016f82612f69565b60048181350101356001600160401b0381116111175761019890600436918482350101016138a0565b82526001600160401b0360248260043501013511611113576101c990369060048035909101602481013501016138a0565b602082015260a082015260c4600435013560c0820152600360e4600435013510156110ff5760e4600435013560e08201526001600160401b036101046004350135116110ff5761022436600480356101048101350101613842565b61010082015261012460043501356001600160401b0381116110f057610251906004369181350101613842565b6101208201526001600160401b036101446004350135116110ff57610281366004803561014481013501016138fe565b610140820152610296610164600435016137b1565b610160820152610184600435013561018082015260606101a319600435360301126110ff576040516102c781612f69565b6101a460043501356002811015611113578152604060043536036101c31901126110f0576040516102f781612f69565b6101c4600435013581526101e46004350135602082015260208201526101a082015261020460043501356001600160401b0381116110f0576103409060043691813501016138fe565b6101c082015261022460043501356001600160401b0381116110f05761036d9060043691813501016138fe565b6101e08201526004356102448101356102008301526102648101356102208301526102848101356102408301526103a99036906102a401613964565b6102608201526103bf3661030460043501613964565b6102808201526103d53661036460043501613964565b6102a08201526103eb366103c460043501613964565b6102c082015261042460043501356001600160401b0381116110f0576101006004358201360360031901126110f0576040519061042782612f84565b600480358201908101358352602481013560208401526044810135604084015260648101356060840152608481013560808401526104679060a4016139a4565b60a0830152600435810160c481013560c08401526001600160401b0360e49091013511611113576040600435820160e4810135013603600319011261111357604051906104b382612f69565b60048035820160e4810135010135600381101561110f578252600435810160e48101350160240135906001600160401b03821161110f576101e0600435820160e48101350183013603600319011261110f576040519161051283612fa0565b61052960048035840160e481013501830101613798565b8352600435820160e481013501810160248101356020850152604401356001600160401b0381116111035761057190369060048035860160e481013501850190910101613842565b6040840152600435820160e4810135018101606401356001600160401b038111611103576105b290369060048035860160e481013501850190910101613842565b606084015260a0600435830160e48101350182013603608319011261110b576040516105dd81612f69565b600435830160e48101350182016084013560038110156111075781526080600435840160e4810135018301360360a31901126111035760405161061f81612fbc565b610637600435850160e481013501840160a4016139a4565b815260c460e460043586018181013501850191820135602084015261065c91016139a4565b604082015261067a600435850160e4810135018401610104016139a4565b606082015260208201526080840152600435820160e481013501810161012401356001600160401b038111611103576106c690369060048035860160e481013501850190910101613842565b60a0840152600435820160e48101350181016101440135916001600160401b0383116111035761070d6101c493600436918560e48684350101358684350101010101613842565b60c0850152600435810160e481013501820161016481013560e08601526107379061018401613798565b61010085015260043590810160e4810135019091016101a48101356101208501529190910135610140830152602083019190915260e08301919091526102e083019190915261078990610444016137b1565b6103008201526104646004350135610320820152610b4061048319600435360301126110ff576040516107bb81612fd7565b6107cb36610484600435016139b8565b81526107dd36610524600435016139b8565b60208201526107f2366105c4600435016139b8565b604082015261080736610664600435016139b8565b606082015261081c36610704600435016139b8565b6080820152610831366107a4600435016139b8565b60a082015261084636610844600435016139b8565b60c082015261085b366108e4600435016139b8565b60e082015261087036610984600435016139b8565b61010082015261088636610a24600435016139b8565b61012082015261089c36610ac4600435016139b8565b6101408201526108b236610b64600435016139b8565b6101608201526108c836610c04600435016139b8565b6101808201526108de36610ca4600435016139b8565b6101a08201526108f436610d44600435016139b8565b6101c082015261090a36610de4600435016139b8565b6101e082015261092036610e84600435016139b8565b61020082015261093636610f24600435016139b8565b610220820152610340820152600435610fc4810135610360830152610fe401356001600160401b0381116110f0576109759060043691813501016138fe565b61038082015261098a611004600435016137b1565b6103a0820152606060043536036110231901126110ff576040516109ad81612ff3565b6110246004350135815261104460043501356020820152611064600435013560408201526103c082015261108460043501356103e08201526024356001600160401b0381116110f057610a04903690600401613842565b610a0c613a68565b8260095473__$c7501c16596bbbb9bc03e91bedf67b5faa$__3b156110ff578160405180809362eb417360e31b825260a0600483015260018060a01b0388511660a48301526020880151151560c4830152604088015160e4830152606088015161010483015261101e610fcf610bbc610ba48b6020806101a0610b4e610b36610b1e610ae58d610aae60808a01516110a06101248401526111448301906131b8565b60a08a01519161014460a3198284030191015287610ad583516040845260408401906131dd565b92015190888184039101526131dd565b60c08801516101648f015260e08801516101848f610b028361309b565b01528d610100890151906101a460a319828503019101526131b8565b6101208701518d820360a319016101c48f01526131b8565b6101408601518c820360a319016101e48e0152613211565b9361016081015115156102048c01526101808101516102248c01520151610b7a6102448b01825161324e565b015180516102648a015201516102848801526101c08d015187820360a319016102a4890152613211565b6101e08c015186820360a319016102c4880152613211565b6102008b01516102e48601526102208b01516103048601526102408b01516103248601526102608b015180516001600160a01b031661034487015260208101516103648701526040015115156103848601526102808b015180516001600160a01b03166103a487015260208101516103c48701526040015115156103e48601526102a08b015180516001600160a01b031661040487015260208101516104248701526040015115156104448601526102c08b015180516001600160a01b031661046487015260208101516104848701526040015115156104a4860152602060e06102e08d015160a319888503016104c48901528051845282810151838501526040810151604085015260608101516060850152608081015160808501526001600160801b0360a08201511660a085015260c081015160c0850152015161010060e08401528051610d0b8161309b565b610100840152015190604061012082015260018060a01b038251166101408201526020820151610160820152610300610140610dff610d5c60408601516101e06101808701526103208601906131b8565b610de9610d7d60608801519261013f199384898303016101a08a01526131b8565b610dd4602060808a01518051610d928161309b565b6101c08b0152015180516001600160801b039081166101e08b015260208201516102008b0152604082015181166102208b015260609091015116610240890152565b60a088015183888303016102608901526131b8565b9060c087015190868303016102808701526131b8565b9360e08101516102a085015260018060a01b03610100820151166102c08501526101208101516102e085015201519101526103008b015115156104e48601526103208b0151610504860152610fab6102206103408d0151610e656105248901825161325b565b610e7860208201516105c48a019061325b565b610e8b60408201516106648a019061325b565b610e9e60608201516107048a019061325b565b610eb160808201516107a48a019061325b565b610ec460a08201516108448a019061325b565b610ed760c08201516108e48a019061325b565b610eea60e08201516109848a019061325b565b610efe610100820151610a248a019061325b565b610f12610120820151610ac48a019061325b565b610f26610140820151610b648a019061325b565b610f3a610160820151610c048a019061325b565b610f4e610180820151610ca48a019061325b565b610f626101a0820151610d448a019061325b565b610f766101c0820151610de48a019061325b565b610f8a6101e0820151610e848a019061325b565b610f9e610200820151610f248a019061325b565b0151610fc487019061325b565b6103608b01516110648601526103808b015185820360a31901611084870152613211565b6103a08a015115156110a48501526103c08a015180516110c486015260208101516110e4860152604001516111048501526103e08a0151611124850152838103600319016024850152886131b8565b90604483015283606483015260016084830152038173__$c7501c16596bbbb9bc03e91bedf67b5faa$__5af480156110f4576110dc575b50506009549160001983146110c857600183018060095583116110c8576110ae7f544563bee62109f053c4548407eb231571f00fae3d44167fae532984b96a9f8a916110bd604051928392604084526040840190613296565b828103602084015233956131b8565b0390a36001600a5580f35b634e487b7160e01b84526011600452602484fd5b6110e59061300e565b6110f0578238611055565b8280fd5b6040513d84823e3d90fd5b5080fd5b8780fd5b8880fd5b8680fd5b8580fd5b8380fd5b8480fd5b80fd5b503461111b578060031936011261111b576040516101209161113f82613021565b8082528060208301528060408301528060608301528060808301528060a08301528060c08301528060e0830152610100809201526040519061118082613021565b6001549182815260018060a01b03806002541660208301908152816003541690604084019182526004546060850190815260ff600554166080860190151581526006549160a0870192835285600754958160c08a019660ff8916151588528160e08c019960081c1689528b6008549b019a8b526040519c8d52511660208c0152511660408a015251606089015251151560808801525160a087015251151560c0860152511660e08401525190820152f35b503461111b57602036600319011261111b5761124b613a68565b61126060018060a01b03600254163314613abe565b60043581528060205260ff607a6040832001541660048110156123ce5760016112899114613b03565b6004358152806020526112a460796040832001544210613b3d565b6004358152806020526112cf60408220607a8101600260ff1982541617905560794291015411613b3d565b80602060018060a01b03600354166004358352828252604083209060405180958180946205593b60e51b825286600483015260ff600282015460018060a01b038116602485015260a01c161515604483015260038101546064830152600481015460848301526110a060a4830152607761184961146c6114566113fa6113e46113ce6113976113656110c48b0160058b01612e7a565b6023198b82030160c48c0152604081526113856040820160068c0161305e565b90602081830391015260078a0161305e565b600889015460e48b015260ff60098a0154166113b28161309b565b6101048b0152898103602319016101248b0152600a8901612e7a565b888103602319016101448a0152600b8801612e7a565b87810360231901610164890152600c87016130bb565b60ff600d870154161515610184880152600e8601546101a488015261142a6101c4880160ff600f8901541661324e565b60108601546101e4880152601186015461020488015286810360231901610224880152601286016130bb565b85810360231901610244870152601385016130bb565b6014840154610264860152601584015461028486015260168401546102a486015260178401546001600160a01b03166102c486015260188401546102e4860152601984015460ff161515610304860152601a8401546001600160a01b0316610324860152601b840154610344860152601c84015460ff161515610364860152601d8401546001600160a01b0316610384860152601e8401546103a4860152601f84015460ff1615156103c4860152838a0180546001600160a01b03166103e487015260018101546104048701526002015460ff161515610424860152848103602319016104448601526023840154815260248401548a82015260258401546040820152602684015460608201526027840154608082015260288401546001600160801b031660a0820152602984015460c082015261010060e0820152602a84015460ff166115b98161309b565b6101008201526040610120820152602b8401546001600160a01b0316610140820152602c8401546101608201526101e06101808201526116a261168b6116206116096103208501602d8901612e7a565b84810361013f19016101a0860152602e8801612e7a565b60ff602f880154166116318161309b565b6101c08501526001600160801b036030880154166101e0850152603187015461020085015260328701546001600160801b03811661022086015260801c61024085015261013f198482030161026085015260338701612e7a565b82810361013f190161028084015260348601612e7a565b60358501546102a083015260368501546001600160a01b03166102c083015260378501546102e0830152603885015461030090920191909152603984015460ff161515610464860152603a8401546104848601526117076104a48601603b8601613b76565b6117186105448601603e8601613b76565b6117296105e4860160418601613b76565b61173a610684860160448601613b76565b61174b610724860160478601613b76565b61175c6107c48601604a8601613b76565b61176d6108648601604d8601613b76565b61177e610904860160508601613b76565b61178f6109a4860160538601613b76565b6117a0610a44860160568601613b76565b6117b1610ae4860160598601613b76565b6117c2610b848601605c8601613b76565b6117d3610c248601605f8601613b76565b6117e4610cc4860160628601613b76565b6117f5610d64860160658601613b76565b611806610e04860160688601613b76565b611817610ea48601606b8601613b76565b611828610f448601606e8601613b76565b6071840154610fe486015284810360231901611004860152607284016130bb565b9160ff607382015416151561102485015260748101546110448501526075810154611064850152607681015461108485015201546110a483015203925af19182156123c157819261238d575b5060ff60055416611b0c575b60075460ff81166118de575b50906004357f2f1e6e79024933732bbc3246957f87c584730732c2e3997f5926a71245ffd9b38380a36001600a5580f35b6040516370a0823160e01b815230600482015260089190911c6001600160a01b031690602081602481855afa908115611b01578391611acf575b5060085480911161192a575b506118ad565b602090604460018060a01b036003541685604051958694859363095ea7b360e01b8552600485015260248401525af19081156110f4578291611a95575b5015611a5f5760018060a01b03600354166004548060640390606482116110c8576040519161199583612ff3565b858352602083015260408201526007546008805491901c6001600160a01b03169290813b15611117576040805163665a62f360e01b81528451600482015260208501516024820152930151604484015291928492849260a4928492869291606485015260848401525af180156110f457611a50575b509060018060a01b0360075460081c16817fbf861194f9cb22ddd25c8b61f8ad0e34779d36b15fa63ad3fad222a1dc4f87266020600854604051908152a3903880611924565b611a599061300e565b38611a0a565b60405162461bcd60e51b815260206004820152600e60248201526d105c1c1c9bdd994819985a5b195960921b6044820152606490fd5b90506020813d602011611ac7575b81611ab06020938361303d565b810103126110ff57611ac190613c6e565b38611967565b3d9150611aa3565b90506020813d602011611af9575b81611aea6020938361303d565b810103126110f0575138611918565b3d9150611add565b6040513d85823e3d90fd5b6003546040516354f3ce9960e01b815260048101849052908290829060249082906001600160a01b03165afa80156110f45782908190611cd4575b5160405163a0e67e2b60e01b81529250829060049082906001600160a01b03165afa9081156110f4578291611c94575b50805115611c8057602001516001600160a01b03168015611c4e5760065447811015611c1857826009819260405190684661696c656447617360b81b8252855af13d15611c49573d611bc881613827565b90611bd6604051928361303d565b81528360203d92013e5b15611c1857827f267a5da643c9b6cf1302e14fbba8c0fadee80b7aa1704657ced09a41916b26746020600654604051908152a36118a1565b60405162461bcd60e51b81526020600482015260096024820152684661696c656447617360b81b6044820152606490fd5b611be0565b60405162461bcd60e51b815260206004820152600a60248201526914da59db939bdd14d95d60b21b6044820152606490fd5b634e487b7160e01b82526032600452602482fd5b90503d8083833e611ca5818361303d565b8101906020818303126110f0578051906001600160401b03821161111357611cce929101613d8a565b38611b77565b50503d908183823e611ce6828261303d565b60208183810103126110f0578051906001600160401b0382116111135761112082820184830103126111135760405192836104408101106001600160401b0361044086011117612379576104408401604052611d43838301613bb7565b8452602083830101516001600160401b03811161110f57611d6b908284019085850101613bcb565b6020850152604083830101516001600160401b03811161110f5760408185850101838501031261110f5760405190611da282612f69565b8085850101516001600160401b03811161110357611dc99084860190838888010101613c10565b82526020818686010101516001600160401b0381116111035790611df591848601918787010101613c10565b602082015260408501528183016060818101519086015260800151600381101561110f57608085015260a083830101516001600160401b03811161110f57611e44908284019085850101613bcb565b60a085015260c083830101516001600160401b03811161110f57611e6f908284019085850101613bcb565b60c085015260e08383010151600481101561110f5760e0850152611e9861010084840101613c6e565b610100850152611ead61012084840101613c6e565b610120850152818301610140818101519086015261016001516001600160401b03811161110f57611ee5908284019085850101613cfb565b61016085015261018083830101516001600160401b03811161110f57611f12908284019085850101613cfb565b61018085015260a08284018284010361019f190112611117576040518060a08101106001600160401b0360a0830111176123655760a08101604052611f5c6101a085850101613c6e565b8152611f6d6101c085850101613c6e565b60208201528284016101e08101516040830152611f8d9061020001613c6e565b6060820152610220848401015160808201526101a0850152611fb461024084840101613c6e565b6101c08501528183016102608101516101e08601526102808101516102008601526102a0810151610220860152611fee906102c001613bb7565b6102408501526120036102e084840101613bb7565b61026085015261201861030084840101613c6e565b61028085015261202d61032084840101613bb7565b6102a085015261034083830101516001600160401b03811161110f5761205a908284019085850101613d8a565b6102c085015261036083830101516001600160401b03811161110f57612087908284019085850101613d8a565b6102e085015261038083830101516001600160401b03811161110f576120b4908284019085850101613d8a565b6103008501526120cc8183016103a085850101613df0565b6103208501526120e481830161040085850101613df0565b6103408501526120fc81830161046085850101613df0565b6103608501526121148183016104c085850101613df0565b610380850152610b408284018284010361051f1901126111175760609060405161213d81612fd7565b61214f82850161052087870101613e2b565b81526121638285016105c087870101613e2b565b602082015261217a82850161066087870101613e2b565b604082015261219182850161070087870101613e2b565b838201526121a78285016107a087870101613e2b565b60808201526121be82850161084087870101613e2b565b60a08201526121d58285016108e087870101613e2b565b60c08201526121ec82850161098087870101613e2b565b60e0820152612203828501610a2087870101613e2b565b61010082015261221b828501610ac087870101613e2b565b610120820152612233828501610b6087870101613e2b565b61014082015261224b828501610c0087870101613e2b565b610160820152612263828501610ca087870101613e2b565b61018082015261227b828501610d4087870101613e2b565b6101a0820152612293828501610de087870101613e2b565b6101c08201526122ab828501610e8087870101613e2b565b6101e08201526122c3828501610f2087870101613e2b565b6102008201526122db828501610fc087870101613e2b565b6102208201526103a08601528284016110608101516103c08701526123039061108001613c6e565b6103e08601528284019083010361109f1901126111135791611100849260049460405161232f81612ff3565b91016110a081015182526110c081015160208301526110e081015160408301526104008401919091520151610420820152611b47565b634e487b7160e01b86526041600452602486fd5b634e487b7160e01b85526041600452602485fd5b9091506020813d6020116123b9575b816123a96020938361303d565b810103126110ff57519038611895565b3d915061239c565b50604051903d90823e3d90fd5b634e487b7160e01b82526021600452602482fd5b503461111b576123f1366137be565b93600b9895979893919293549860ff8a16612529577ff5120623f4a99cd188531cee5e199cfdb9582e3302f692bb33e1520db6995b2f996101209960ff926001841980941617600b55600160095560018060a01b03809b816bffffffffffffffffffffffff60a01b93168360025416176002551690600354161760035560045560055416911515161760055560065560ff60075491610100600160a81b039060081b1692151516906affffffffffffffffffffff60a81b16171760075560085580156000146125215750620546006001555b6040519060015482528060025416602083015280600354166040830152600454606083015260ff600554161515608083015260065460a083015260075460ff8116151560c084015260081c1660e0820152600854610100820152a180f35b6001556124c3565b60405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b503461111b57612573366137be565b978295919796612584959395613a68565b6002546001600160a01b039889938491906125a28385163314613abe565b806126c5575b501690816126b0575b50501680612692575b5080151580612687575b61267e575b5080159081612665575b612650575b5080612647575b50612631575b508116612606575b50806125fd575b506001600a5580f35b600855386125f4565b60078054610100600160a81b03191660089290921b610100600160a81b0316919091179055386125ed565b60ff8019600754169115151617600755386125e5565b600655386125df565b60ff80196005541691151617600555386125d8565b508080156125d35750600160ff600554161515146125d3565b600455386125c9565b5060648111156125c4565b6bffffffffffffffffffffffff60a01b6003541617600355386125ba565b6001600160a01b0319161760025538806125b1565b600155386125a8565b503461111b57602036600319011261111b576004356126eb613a68565b61270060018060a01b03600254163314613abe565b8082528160205260ff607a6040842001541660048110156127855760016127279114613b03565b8082528160205261274060796040842001544210613b3d565b80825281602052607a6040832001600360ff198254161790557f5629a7268b05b7c815b832c363e1b1788e0851b3fd74eefce8de27b4083012948280a26001600a5580f35b634e487b7160e01b83526021600452602483fd5b503461111b578060031936011261111b5761012060015460018060a01b03806002541690806003541660045460ff600554166006549160075493600854966040519889526020890152604088015260608701521515608086015260a085015260ff8116151560c085015260081c1660e0830152610100820152f35b503461111b57602036600319011261111b5760043563ffffffff60e01b81168091036110ff576040516301ffc9a760e01b9091148152602090f35b503461111b57602036600319011261111b576004358152602081905260408120805460018201549091906001600160a01b031661288c6080612f37565b60028201546001600160a01b03811660805260a090811c60ff1615159052600382015460c052600482015460e0526040516128d5816128ce8160058701612e7a565b038261303d565b610100526040516128e581612f69565b6040516128f9816128ce816006880161305e565b815260405161290f816128ce816007880161305e565b602082015261012052600882015461014052600982015460ff166129328161309b565b6101605260405161294a816128ce81600a8701612e7a565b61018052604051612962816128ce81600b8701612e7a565b6101a05260405161297a816128ce81600c87016130bb565b6101c052600d82015460ff1615156101e052600e820154610200526040516129a181612f69565b60ff600f840154166002811015612e665781526040516129c081612f69565b601084015481526011840154602082015260208201526101a0608001526040516129f1816128ce81601287016130bb565b61024052604051612a09816128ce81601387016130bb565b6102605260148201546102805260158201546102a05260168201546102c052612a3460178301613101565b6102e052612a44601a8301613101565b61030052612a54601d8301613101565b61032052612a6460208301613101565b61034052604051612a7481612f84565b60238301548152602483015460208201526025830154604082015260268301546060820152602783015460808201526001600160801b0360288401541660a0820152602983015460c0820152604051612acc81612f69565b60ff602a85015416612add8161309b565b8152604051612aeb81612fa0565b602b8501546001600160a01b03168152602c8501546020820152604051612b19816128ce81602d8a01612e7a565b6040820152604051612b32816128ce81602e8a01612e7a565b6060820152604051612b4381612f69565b60ff602f87015416612b548161309b565b8152604051612b6281612fbc565b6001600160801b0360308801541681526031870154602082015260328701546001600160801b038116604083015260801c606082015260208201526080820152604051612bb6816128ce8160338a01612e7a565b60a0820152604051612bcf816128ce8160348a01612e7a565b60c0820152603585015460e08083019190915260368601546001600160a01b031661010083015260378601546101208301526038860154610140830152602083019190915282015261036052603982015460ff16151561038052603a8201546103a052604051612c3e81612fd7565b612c4a603b8401613137565b8152612c58603e8401613137565b6020820152612c6960418401613137565b6040820152612c7a60448401613137565b6060820152612c8b60478401613137565b6080820152612c9c604a8401613137565b60a0820152612cad604d8401613137565b60c0820152612cbe60508401613137565b60e0820152612ccf60538401613137565b610100820152612ce160568401613137565b610120820152612cf360598401613137565b610140820152612d05605c8401613137565b610160820152612d17605f8401613137565b610180820152612d2960628401613137565b6101a0820152612d3b60658401613137565b6101c0820152612d4d60688401613137565b6101e0820152612d5f606b8401613137565b610200820152612d71606e8401613137565b6102208201526103c05260718201546103e052604051612d98816128ce81607287016130bb565b61040052607382015460ff16151561042052604051612db681612ff3565b6074830154815260758301546020820152607683015460408201526103c06080015260778201546103e060800152612e37604051612dfb816128ce8160788801612e7a565b60ff607a60798601549501541692604051958652602086015260c06040860152612e2960c086016080613296565b9085820360608701526131b8565b9160808401526004811015612e525782935060a08301520390f35b634e487b7160e01b84526021600452602484fd5b634e487b7160e01b86526021600452602486fd5b80546000939260018083169383821c938515612f2d575b6020958686108114612f1757858552908115612ef85750600114612eb7575b5050505050565b90939495506000929192528360002092846000945b838610612ee457505050500101903880808080612eb0565b805485870183015294019385908201612ecc565b60ff19168685015250505090151560051b010191503880808080612eb0565b634e487b7160e01b600052602260045260246000fd5b93607f1693612e91565b61040081019081106001600160401b03821117612f5357604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b03821117612f5357604052565b61010081019081106001600160401b03821117612f5357604052565b61016081019081106001600160401b03821117612f5357604052565b608081019081106001600160401b03821117612f5357604052565b61024081019081106001600160401b03821117612f5357604052565b606081019081106001600160401b03821117612f5357604052565b6001600160401b038111612f5357604052565b61012081019081106001600160401b03821117612f5357604052565b90601f801991011681019081106001600160401b03821117612f5357604052565b90815480825260208092019260005281600020916000905b828210613084575050505090565b835485529384019360019384019390910190613076565b600311156130a557565b634e487b7160e01b600052602160045260246000fd5b90815480825260208092019260005281600020916000905b8282106130e1575050505090565b83546001600160a01b0316855293840193600193840193909101906130d3565b9060405161310e81612ff3565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b906040519161314583612fbc565b60608360ff835481811615158352818160081c161515602084015260101c161515604082015260026040519361317a85612f69565b60018101546001600160a01b03168552015460208401520152565b60005b8381106131a85750506000910152565b8181015183820152602001613198565b906020916131d181518092818552858086019101613195565b601f01601f1916010190565b90815180825260208080930193019160005b8281106131fd575050505090565b8351855293810193928101926001016131ef565b90815180825260208080930193019160005b828110613231575050505090565b83516001600160a01b031685529381019392810192600101613223565b9060028210156130a55752565b6020606060809280511515855282810151151583860152604081015115156040860152015160018060a01b0381511660608501520151910152565b9060018060a01b03825116815260208201511515602082015260408201516040820152606082015160608201526110806103e061375e6133f26133de61338661337261335e61332d6132f960808c015160808c6110a091829101528c01906131b8565b60a08c0151908b810360a08d0152602061331c83516040845260408401906131dd565b9201519060208184039101526131dd565b60c08b015160c08b015260e08b01516133458161309b565b60e08b01526101008b01518a82036101008c01526131b8565b6101208a01518982036101208b01526131b8565b6101408901518882036101408a0152613211565b61016088015115156101608801526101808801516101808801526020806101a08a01516133b86101a08b01825161324e565b015180516101c08a015201516101e08801526101c0880151878203610200890152613211565b6101e0870151868203610220880152613211565b6102008601516102408601526102208601516102608601526102408601516102808601526134486102608701516102a08701906040809160018060a01b0381511684526020810151602085015201511515910152565b61028086015180516001600160a01b031661030087015260208101516103208701526040015115156103408601526102a086015180516001600160a01b031661036087015260208101516103808701526040015115156103a08601526102c086015180516001600160a01b03166103c087015260208101516103e0870152604001511515610400860152602060e06102e08801518784036104208901528051845282810151838501526040810151604085015260608101516060850152608081015160808501526001600160801b0360a08201511660a085015260c081015160c0850152015161010060e084015280516135418161309b565b610100840152015190604061012082015260018060a01b038251166101408201526020820151610160820152610300610140613592610d5c60408601516101e06101808701526103208601906131b8565b9360e08101516102a085015260018060a01b03610100820151166102c08501526101208101516102e08501520151910152610300860151151561044086015261032086015161046086015261373e6102206103408801516135f86104808901825161325b565b61360b60208201516105208a019061325b565b61361e60408201516105c08a019061325b565b61363160608201516106608a019061325b565b61364460808201516107008a019061325b565b61365760a08201516107a08a019061325b565b61366a60c08201516108408a019061325b565b61367d60e08201516108e08a019061325b565b6136916101008201516109808a019061325b565b6136a5610120820151610a208a019061325b565b6136b9610140820151610ac08a019061325b565b6136cd610160820151610b608a019061325b565b6136e1610180820151610c008a019061325b565b6136f56101a0820151610ca08a019061325b565b6137096101c0820151610d408a019061325b565b61371d6101e0820151610de08a019061325b565b613731610200820151610e808a019061325b565b0151610f2087019061325b565b610360860151610fc0860152610380860151858203610fe0870152613211565b6103a085015115156110008501526103c0850151805161102086015260208101516110408601526040015161106085015293015191015290565b35906001600160a01b03821682036137ac57565b600080fd5b359081151582036137ac57565b6101209060031901126137ac57600435906001600160a01b0360243581811681036137ac579160443582811681036137ac57916064359160843580151581036137ac579160a4359160c43580151581036137ac579160e43590811681036137ac57906101043590565b6001600160401b038111612f5357601f01601f191660200190565b81601f820112156137ac5780359061385982613827565b92613867604051948561303d565b828452602083830101116137ac57816000926020809301838601378301015290565b6001600160401b038111612f535760051b60200190565b81601f820112156137ac578035916138b783613889565b926138c5604051948561303d565b808452602092838086019260051b8201019283116137ac578301905b8282106138ef575050505090565b813581529083019083016138e1565b81601f820112156137ac5780359161391583613889565b92613923604051948561303d565b808452602092838086019260051b8201019283116137ac578301905b82821061394d575050505090565b83809161395984613798565b81520191019061393f565b91908260609103126137ac5760405161397c81612ff3565b604061399f81839561398d81613798565b855260208101356020860152016137b1565b910152565b35906001600160801b03821682036137ac57565b809291039160a083126137ac576040516139d181612fbc565b604081946139de846137b1565b83526139ec602085016137b1565b60208401526139fc8285016137b1565b83830152605f1901126137ac57606090608060405193613a1b85612f69565b613a26848201613798565b8552013560208401520152565b34613a3a57565b6040513481527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c60203392a2565b6002600a5414613a79576002600a55565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b15613ac557565b60405162461bcd60e51b81526020600482015260166024820152754f6e6c79204170706c69636174696f6e73205465616d60501b6044820152606490fd5b15613b0a57565b60405162461bcd60e51b815260206004820152600b60248201526a6e6f742070656e64696e6760a81b6044820152606490fd5b15613b4457565b60405162461bcd60e51b815260206004820152600a6024820152691a5cc8195e1c1a5c995960b21b6044820152606490fd5b600260809160ff815481811615158652818160081c161515602087015260101c161515604085015260018060a01b0360018201541660608501520154910152565b51906001600160a01b03821682036137ac57565b81601f820112156137ac578051613be181613827565b92613bef604051948561303d565b818452602082840101116137ac57613c0d9160208085019101613195565b90565b81601f820112156137ac57805191613c2783613889565b92613c35604051948561303d565b808452602092838086019260051b8201019283116137ac578301905b828210613c5f575050505090565b81518152908301908301613c51565b519081151582036137ac57565b9080601f830112156137ac57815190613c9382613889565b92613ca1604051948561303d565b828452602092838086019160051b830101928084116137ac57848301915b848310613ccf5750505050505090565b82516001600160401b0381116137ac578691613cf084848094890101613bcb565b815201920191613cbf565b91906080838203126137ac5760405190613d1482612fbc565b81938051916001600160401b03928381116137ac5781613d35918401613c7b565b845260208201518381116137ac5781613d4f918401613c10565b602085015260408201518381116137ac5781613d6c918401613c7b565b604085015260608201519283116137ac5760609261399f9201613c10565b81601f820112156137ac57805191613da183613889565b92613daf604051948561303d565b808452602092838086019260051b8201019283116137ac578301905b828210613dd9575050505090565b838091613de584613bb7565b815201910190613dcb565b91908260609103126137ac57604051613e0881612ff3565b604061399f818395613e1981613bb7565b85526020810151602086015201613c6e565b809291039160a083126137ac57604051613e4481612fbc565b60408194613e5184613c6e565b8352613e5f60208501613c6e565b6020840152613e6f828501613c6e565b83830152605f1901126137ac57606090608060405193613e8e85612f69565b613e99848201613bb7565b855201516020840152015256fea2646970667358221220a380fa40b1deeccae4aec31d88d821efc0f92132cf76d66f0f6237957ced6b4564736f6c63430008120033"; + "0x60808060405234610025576001600a5560ff19600b5416600b55613d76908161002b8239f35b600080fdfe60806040526004361015610026575b361561001e5761001c61392a565b005b61001c61392a565b6000803560e01c8063013cf08b146127db57806301ec29f61461181057806301ffc9a7146117d557806379502c551461175a5780639eaec8031461168f578063a7233ef914611525578063b0099137146113a3578063e2ccacce146101aa5763e68f909d14610095575061000e565b346101a757806003193601126101a757604051610120916100b582612f6e565b8082528060208301528060408301528060608301528060808301528060a08301528060c08301528060e083015261010080920152604051906100f682612f6e565b6001549182815260018060a01b03806002541660208301908152816003541690604084019182526004546060850190815260ff600554166080860190151581526006549160a0870192835285600754958160c08a019660ff8916151588528160e08c019960081c1689528b6008549b019a8b526040519c8d52511660208c0152511660408a015251606089015251151560808801525160a087015251151560c0860152511660e08401525190820152f35b80fd5b50346101a75760203660031901126101a7576101c461395f565b6101d960018060a01b036002541633146139b5565b60043581528060205260ff607360408320015416600481101561138f57600161020291146139fa565b60043581528060205261021d60726040832001544210613a34565b60043581528060205260736040822001600260ff1982541617905560043581528060205260ff607360408320015416600481101561138f5760020361135b5760043581528060205261027742607260408420015411613a34565b80602060018060a01b0360035416600435835282825260408320906040518094818094633ef0b57160e11b825286600483015260ff600282015460018060a01b038116602485015260a01c16151560448301526003810154606483015260048101546084830152610b4060a483015260706107a96104176104016103a361038d61037761034061030e610b648b0160058b01612ddd565b6023198b82030160c48c01526040815261032e6040820160068c01612fab565b90602081830391015260078a01612fab565b600889015460e48b015260ff60098a01541661035b81612fe8565b6101048b0152898103602319016101248b0152600a8901612ddd565b888103602319016101448a0152600b8801612ddd565b87810360231901610164890152600c8701613008565b60ff600d870154161515610184880152600e8601546101a488015260ff600f870154166103cf81612fe8565b6101c488015260108601546101e488015260118601546102048801528681036023190161022488015260128601613008565b8581036023190161024487015260138501613008565b6014840154610264860152601584015461028486015260168401546102a486015260178401546001600160a01b03166102c486015260188401546102e486015260198401546001600160a01b0316610304860152601a840154610324860152601b8401546001600160a01b0316610344860152601c840154610364860152601d8401546001600160a01b0316610384860152601e8401546103a4860152848103602319016103c4860152601f8401548152898401548a82015260218401546040820152602284015460608201526023840154608082015260248401546001600160801b031660a0820152602584015460c082015261010060e0820152602684015460ff1661052481613075565b610100820152604061012082015260278401546001600160a01b031661014082015260288401546101608201526101e061018082015261060d6105f661058b610574610320850160298901612ddd565b84810361013f19016101a0860152602a8801612ddd565b60ff602b8801541661059c81613075565b6101c08501526001600160801b03602c880154166101e0850152602d870154610200850152602e8701546001600160801b03811661022086015260801c61024085015261013f1984820301610260850152602f8701612ddd565b82810361013f190161028084015260308601612ddd565b60318501546102a083015260328501546001600160a01b03166102c083015260338501546102e0830152603485015461030090920191909152603584015460ff1615156103e48601526036840154610404860152610672610424860160378601613a7e565b6106836104848601603a8601613a7e565b6106946104e48601603d8601613a7e565b6106a5610544860160408601613a7e565b6106b66105a4860160438601613a7e565b6106c7610604860160468601613a7e565b6106d8610664860160498601613a7e565b6106e96106c48601604c8601613a7e565b6106fa6107248601604f8601613a7e565b61070b610784860160528601613a7e565b61071c6107e4860160558601613a7e565b61072d610844860160588601613a7e565b61073e6108a48601605b8601613a7e565b61074f6109048601605e8601613a7e565b610760610964860160618601613a7e565b6107716109c4860160648601613a7e565b610782610a24860160678601613a7e565b606a84015463ffffffff16610a8486015284810360231901610aa4860152606b8401613008565b9160ff606c820154161515610ac4850152606d810154610ae4850152606e810154610b04850152606f810154610b248501520154610b4483015203925af19081156109e1578291611321575b5060ff60055416610ac4575b60075460ff8116610843575b5063ffffffff166004357f2f1e6e79024933732bbc3246957f87c584730732c2e3997f5926a71245ffd9b38380a36001600a5580f35b6040516370a0823160e01b815230600482015260089190911c6001600160a01b031690602081602481855afa908115610ab9578491610a83575b5060085480911161088f575b5061080d565b602090604460018060a01b036003541686604051958694859363095ea7b360e01b8552600485015260248401525af1908115610a78578391610a3a575b5015610a045760018060a01b03600354166004548060640390606482116109f05790849291604051916108fe83612f40565b63ffffffff86168352602083015260408201526007546008805491901c6001600160a01b031692803b156109ec5784928360a49260409485519788968795631b13439160e01b875263ffffffff81511660048801526020810151602488015201516044860152606485015260848401525af180156109e1576109c9575b505063ffffffff9060018060a01b0360075460081c166008546040519081527fbf861194f9cb22ddd25c8b61f8ad0e34779d36b15fa63ad3fad222a1dc4f8726602085851692a39038610889565b6109d290612f5b565b6109dd57813861097b565b5080fd5b6040513d84823e3d90fd5b8480fd5b634e487b7160e01b85526011600452602485fd5b60405162461bcd60e51b815260206004820152600e60248201526d105c1c1c9bdd994819985a5b195960921b6044820152606490fd5b90506020813d602011610a70575b81610a5560209383612f8a565b81010312610a6c57610a6690613c6c565b386108cc565b8280fd5b3d9150610a48565b6040513d85823e3d90fd5b90506020813d602011610ab1575b81610a9e60209383612f8a565b81010312610aad57513861087d565b8380fd5b3d9150610a91565b6040513d86823e3d90fd5b6003546040516354f3ce9960e01b815263ffffffff831660048201529083908190839060249082906001600160a01b03165afa8015611314578190610c95575b5160405163a0e67e2b60e01b81529250829060049082906001600160a01b03165afa908115610a78578391610c58575b50805115610c4457602001516001600160a01b03168015610c125760065447811015610bdc57836009819260405190684661696c656447617360b81b8252855af13d15610c0d573d610b858161370f565b90610b936040519283612f8a565b81528460203d92013e5b15610bdc576006546040519081527f267a5da643c9b6cf1302e14fbba8c0fadee80b7aa1704657ced09a41916b2674602063ffffffff851692a3610801565b60405162461bcd60e51b81526020600482015260096024820152684661696c656447617360b81b6044820152606490fd5b610b9d565b60405162461bcd60e51b815260206004820152600a60248201526914da59db939bdd14d95d60b21b6044820152606490fd5b634e487b7160e01b83526032600452602483fd5b90503d8084833e610c698183612f8a565b8101602082820312610aad5781516001600160401b0381116109ec57610c8f9201613c79565b38610b34565b50503d8084833e610ca68183612f8a565b6020828281010312610aad578151916001600160401b0383116109ec57610b8083820183830103126109ec5760405190816103e08101106001600160401b036103e0840111176112f2576103e08201604052610d03848201613aa6565b8252602084820101516001600160401b03811161130c57610d2b908483019086840101613aba565b6020830152604084820101516001600160401b03811161130c5784820101604081858401031261130c5760405190610d6282612eb6565b80516001600160401b03811161131057610d8190868501908301613aff565b82526020810151906001600160401b03821161131057610da5918685019101613aff565b602082015260408301528084016060818101519084015260800151600281101561130c57608083015260a084820101516001600160401b03811161130c57610df4908483019086840101613aba565b60a083015260c084820101516001600160401b03811161130c57610e1f908483019086840101613aba565b60c083015280840160e0818101519084015261010001516001600160401b03811161130c57610e55908483019086840101613bdd565b61010083015261012084820101516001600160401b03811161130c57610e82908483019086840101613bdd565b61012083015260c08185018483010361013f19011261130857604051928360c08101106001600160401b0360c0860111176112f2578360c0889501604052610ecf61014087850101613c6c565b8152610ee061016087850101613a6d565b6020820152610ef461018087850101613a6d565b6040820152610f086101a087850101613c6c565b6060820152610f1c6101c087850101613a6d565b6080820152610f306101e087850101613a6d565b60a0820152610140840152610f4a61020086840101613c6c565b6101608401528185016102208101516101808501526102408101516101a0850152610f789061026001613aa6565b6101c0840152610f8d61028086840101613aa6565b6101e0840152610fa26102a086840101613aa6565b610200840152610fb76102c086840101613c6c565b610220840152610fcc6102e086840101613aa6565b61024084015261030085830101516001600160401b0381116109ec57610ff9908284019087850101613c79565b61026084015261032085830101516001600160401b0381116109ec57611026908284019087850101613c79565b61028084015261034085830101516001600160401b0381116109ec57611053908284019087850101613c79565b6102a084015261106b81830161036087850101613cdf565b6102c08401526110838183016103a087850101613cdf565b6102e084015261109b8183016103e087850101613cdf565b6103008401526110b381830161042087850101613cdf565b6103208401526106608286018284010361045f190112610aad576060906040516110dc81612f24565b6110ee82850161046089870101613d0e565b81526111028285016104c089870101613d0e565b602082015261111982850161052089870101613d0e565b604082015261113082850161058089870101613d0e565b838201526111468285016105e089870101613d0e565b608082015261115d82850161064089870101613d0e565b60a08201526111748285016106a089870101613d0e565b60c082015261118b82850161070089870101613d0e565b60e08201526111a282850161076089870101613d0e565b6101008201526111ba8285016107c089870101613d0e565b6101208201526111d282850161082089870101613d0e565b6101408201526111ea82850161088089870101613d0e565b6101608201526112028285016108e089870101613d0e565b61018082015261121a82850161094089870101613d0e565b6101a08201526112328285016109a089870101613d0e565b6101c082015261124a828501610a0089870101613d0e565b6101e0820152611262828501610a6089870101613d0e565b61020082015261034085015261127d610ac087850101613a6d565b610360850152611292610ae087850101613c6c565b61038085015282860190830103610aff190112610a6c57600493610b60916040516112bc81612f40565b9101610b008101518252610b208101516020830152610b4081015160408301526103a084019190915201516103c0820152610b04565b634e487b7160e01b600052604160045260246000fd5b8580fd5b8680fd5b8880fd5b50604051903d90823e3d90fd5b90506020813d602011611353575b8161133c60209383612f8a565b810103126109dd5761134d90613a6d565b386107f5565b3d915061132f565b60405162461bcd60e51b815260206004820152600c60248201526b1b9bdd08185c1c1c9bdd995960a21b6044820152606490fd5b634e487b7160e01b82526021600452602482fd5b50346101a7576113b2366138c1565b93600b9895979893919293549860ff8a166114ea577ff5120623f4a99cd188531cee5e199cfdb9582e3302f692bb33e1520db6995b2f996101209960ff926001841980941617600b55600160095560018060a01b03809b816bffffffffffffffffffffffff60a01b93168360025416176002551690600354161760035560045560055416911515161760055560065560ff60075491610100600160a81b039060081b1692151516906affffffffffffffffffffff60a81b16171760075560085580156000146114e25750620546006001555b6040519060015482528060025416602083015280600354166040830152600454606083015260ff600554161515608083015260065460a083015260075460ff8116151560c084015260081c1660e0820152600854610100820152a180f35b600155611484565b60405162461bcd60e51b8152602060048201526013602482015272185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b50346101a757611534366138c1565b97829591979661154595939561395f565b6002546001600160a01b0398899384919061156383851633146139b5565b80611686575b50169081611671575b50501680611653575b5080151580611648575b61163f575b5080159081611626575b611611575b5080611608575b506115f2575b5081166115c7575b50806115be575b506001600a5580f35b600855386115b5565b60078054610100600160a81b03191660089290921b610100600160a81b0316919091179055386115ae565b60ff8019600754169115151617600755386115a6565b600655386115a0565b60ff8019600554169115161760055538611599565b508080156115945750600160ff60055416151514611594565b6004553861158a565b506064811115611585565b6bffffffffffffffffffffffff60a01b60035416176003553861157b565b6001600160a01b031916176002553880611572565b60015538611569565b50346101a75760203660031901126101a7576004356116ac61395f565b6116c160018060a01b036002541633146139b5565b8082528160205260ff60736040842001541660048110156117465760016116e891146139fa565b8082528160205261170160726040842001544210613a34565b8082528160205260736040832001600360ff198254161790557f5629a7268b05b7c815b832c363e1b1788e0851b3fd74eefce8de27b4083012948280a26001600a5580f35b634e487b7160e01b83526021600452602483fd5b50346101a757806003193601126101a75761012060015460018060a01b03806002541690806003541660045460ff600554166006549160075493600854966040519889526020890152604088015260608701521515608086015260a085015260ff8116151560c085015260081c1660e0830152610100820152f35b50346101a75760203660031901126101a75760043563ffffffff60e01b81168091036109dd576040516301ffc9a760e01b9091148152602090f35b50346101a75760403660031901126101a7576001600160401b03600435116101a757610b40600435360360031901126101a75760405161184f81612e9a565b61185d6004356004016136e9565b815261186d602460043501613702565b60208201526044600435013560408201526064600435013560608201526001600160401b0360846004350135116109dd576118b236600480356084810135010161372a565b60808201526001600160401b0360a46004350135116109dd57604060043560a481013501360360031901126109dd576040516118ed81612eb6565b6004803560a48101350101356001600160401b038111610aad5761191f906004369160a4823501358235010101613788565b815260043560a481013501602401356001600160401b038111610aad57611954906004369160a4823501358235010101613788565b602082015260a082015260c4600435013560c0820152600260e4600435013510156109dd5760e4600435013560e08201526001600160401b036101046004350135116109dd576119af3660048035610104810135010161372a565b6101008201526001600160401b036101246004350135116109dd576119df3660048035610124810135010161372a565b61012082015261014460043501356001600160401b038111610a6c57611a0c9060043691813501016137e6565b610140820152611a2161016460043501613702565b610160820152610184600435013561018082015260606101a319600435360301126109dd57604051611a5281612eb6565b6101a460043501356002811015610aad578152604060043536036101c3190112610a6c57604051611a8281612eb6565b6101c4600435013581526101e46004350135602082015260208201526101a082015261020460043501356001600160401b038111610a6c57611acb9060043691813501016137e6565b6101c082015261022460043501356001600160401b038111610a6c57611af89060043691813501016137e6565b6101e0820152600435610244810135610200830152610264810135610220830152610284810135610240830152611b349036906102a40161384c565b610260820152611b4a366102e46004350161384c565b610280820152611b60366103246004350161384c565b6102a0820152611b76366103646004350161384c565b6102c08201526103a460043501356001600160401b038111610a6c57610100600435820136036003190112610a6c5760405190611bb282612ed1565b60048035820190810135835260248101356020840152604481013560408401526064810135606084015260848101356080840152611bf29060a40161387b565b60a0830152600435810160c481013560c084015260e401356001600160401b0381116109ec57604060043583018201360360031901126109ec5760405191611c3983612eb6565b60048282823501010135600381101561130c57835260248282600435010101356001600160401b03811161130c576101e06004358301840182013603600319011261130c5760405192611c8b84612eed565b611c9e60048383868335010101016136e9565b845260043583018101820160248101356020860152604401356001600160401b03811161131057611cdc90600436918585888435010101010161372a565b60408501526001600160401b0360648383866004350101010135116127d757611d1536600480358601840185016064810135010161372a565b606085015260a0600435840182018301360360831901126127d757604051611d3c81612eb6565b6084838386600435010101013560038110156127d35781526080600435850183018401360360a319011261131057604051611d7681612f09565b611d8a60a48585886004350101010161387b565b815260043585018301840160c48101356020830152611dab9060e40161387b565b6040820152611dc56101048585886004350101010161387b565b60608201526020820152608085015261012482828560043501010101356001600160401b03811161131057611e0790600436918585888435010101010161372a565b60a08501526101448282856004350101010135926001600160401b03841161131057611e436101c494600436918686868435010101010161372a565b60c086015260043581018201830161016481013560e0870152611e6990610184016136e9565b6101008601526101a483838360043501010101356101208601526004350101010135610140820152602082015260e08201526102e0820152611eb06103c460043501613702565b6103008201526103e4600435013561032082015261066061040319600435360301126109dd57604051611ee281612f24565b611ef2366104046004350161388f565b8152611f04366104646004350161388f565b6020820152611f19366104c46004350161388f565b6040820152611f2e366105246004350161388f565b6060820152611f43366105846004350161388f565b6080820152611f58366105e46004350161388f565b60a0820152611f6d366106446004350161388f565b60c0820152611f82366106a46004350161388f565b60e0820152611f97366107046004350161388f565b610100820152611fad366107646004350161388f565b610120820152611fc3366107c46004350161388f565b610140820152611fd9366108246004350161388f565b610160820152611fef366108846004350161388f565b610180820152612005366108e46004350161388f565b6101a082015261201b366109446004350161388f565b6101c0820152612031366109a46004350161388f565b6101e082015261204736610a046004350161388f565b610200820152610340820152600435610a64013563ffffffff811690036109dd57600435610a64810135610360830152610a8401356001600160401b038111610a6c5761209b9060043691813501016137e6565b6103808201526120b0610aa460043501613702565b6103a082015260606004353603610ac31901126109dd576040516120d381612f40565b610ac460043501358152610ae460043501356020820152610b04600435013560408201526103c0820152610b2460043501356103e08201526024356001600160401b038111610a6c5761212a90369060040161372a565b61213261395f565b60095473__$c7501c16596bbbb9bc03e91bedf67b5faa$__3b15610aad578360405180809362eb417360e31b825260a0600483015260018060a01b0387511660a48301526020870151151560c4830152604087015160e483015260608701516101048301526127036126b46122e36122cb8a6020806101a061227361225b61224361220a8d6121d360808a0151610b40610124840152610be48301906130cc565b60a08a01519161014460a31982840301910152876121fa83516040845260408401906130f1565b92015190888184039101526130f1565b60c08801516101648f015260e08801516101848f61222783612fe8565b01528d610100890151906101a460a319828503019101526130cc565b6101208701518d820360a319016101c48f01526130cc565b6101408601518c820360a319016101e48e0152613125565b9361016081015115156102048c01526101808101516102248c01520151805161229b81612fe8565b6102448b0152015180516102648a015201516102848801526101c08c015187820360a319016102a4890152613125565b6101e08b015186820360a319016102c4880152613125565b6102008a01516102e48601526102208a01516103048601526102408a01516103248601526102608a015180516001600160a01b0316610344870152602001516103648601526102808a015180516001600160a01b0316610384870152602001516103a48601526102a08a015180516001600160a01b03166103c4870152602001516103e48601526102c08a015180516001600160a01b031661040487015260200151610424860152602060e06102e08c015160a319888503016104448901528051845282810151838501526040810151604085015260608101516060850152608081015160808501526001600160801b0360a08201511660a085015260c081015160c0850152015161010060e084015280516123fe81613075565b610100840152015190604061012082015260018060a01b0382511661014082015260208201516101608201526103006101406124f261244f60408601516101e06101808701526103208601906130cc565b6124dc61247060608801519261013f199384898303016101a08a01526130cc565b6124c7602060808a0151805161248581613075565b6101c08b0152015180516001600160801b039081166101e08b015260208201516102008b0152604082015181166102208b015260609091015116610240890152565b60a088015183888303016102608901526130cc565b9060c087015190868303016102808701526130cc565b9360e08101516102a085015260018060a01b03610100820151166102c08501526101208101516102e085015201519101526103008a015115156104648601526103208a015161048486015261268a6102006103408c01516125586104a489018251613162565b61256b60208201516105048a0190613162565b61257e60408201516105648a0190613162565b61259160608201516105c48a0190613162565b6125a460808201516106248a0190613162565b6125b760a08201516106848a0190613162565b6125ca60c08201516106e48a0190613162565b6125dd60e08201516107448a0190613162565b6125f16101008201516107a48a0190613162565b6126056101208201516108048a0190613162565b6126196101408201516108648a0190613162565b61262d6101608201516108c48a0190613162565b6126416101808201516109248a0190613162565b6126556101a08201516109848a0190613162565b6126696101c08201516109e48a0190613162565b61267d6101e0820151610a448a0190613162565b0151610aa4870190613162565b6103608a015163ffffffff16610b048601526103808a015185820360a31901610b24870152613125565b6103a08901511515610b448501526103c08901518051610b648601526020810151610b8486015260400151610ba48501526103e0890151610bc4850152838103600319016024850152876130cc565b90604483015283606483015260016084830152038173__$c7501c16596bbbb9bc03e91bedf67b5faa$__5af48015610ab9576127c0575b506009549160001983146127ac57600183018060095583116127ac576127927f9c6739f7c439a2c92d18af795067845708163b10b9e6baecf9ace9de31d902ed916127a1604051928392604084526040840190613187565b828103602084015233956130cc565b0390a36001600a5580f35b634e487b7160e01b84526011600452602484fd5b6127cc90939193612f5b565b913861273a565b8980fd5b8780fd5b50346101a75760203660031901126101a7576004358152602081905260408120805460018201549091906001600160a01b03166128186080612e9a565b60028201546001600160a01b03811660805260a090811c60ff1615159052600382015460c052600482015460e0526040516128618161285a8160058701612ddd565b0382612f8a565b6101005260405161287181612eb6565b6040516128858161285a8160068801612fab565b815260405161289b8161285a8160078801612fab565b602082015261012052600882015461014052600982015460ff166128be81612fe8565b610160526040516128d68161285a81600a8701612ddd565b610180526040516128ee8161285a81600b8701612ddd565b6101a0526040516129068161285a81600c8701613008565b6101c052600d82015460ff1615156101e052600e8201546102005260405161292d81612eb6565b60ff600f8401541661293e81612fe8565b815260405161294c81612eb6565b601084015481526011840154602082015260208201526101a06080015260405161297d8161285a8160128701613008565b610240526040516129958161285a8160138701613008565b6102605260148201546102805260158201546102a05260168201546102c0526129c06017830161304e565b6102e0526129d06019830161304e565b610300526129e0601b830161304e565b610320526129f0601d830161304e565b61034052604051612a0081612ed1565b601f8301548152602083015460208201526021830154604082015260228301546060820152602383015460808201526001600160801b038060248501541660a0830152602584015460c083015260405190612a5a82612eb6565b60ff602686015416612a6b81613075565b825260405190612a7a82612eed565b60278601546001600160a01b0316825260288601546020830152604051612aa88161285a8160298b01612ddd565b6040830152604051612ac18161285a81602a8b01612ddd565b606083015260405190612ad382612eb6565b60ff602b88015416612ae481613075565b825260405190612af382612f09565b80602c890154168252602d8801546020830152602e880154908116604083015260801c606082015260208201526080820152604051612b398161285a81602f8a01612ddd565b60a0820152604051612b528161285a8160308a01612ddd565b60c0820152603185015460e08083019190915260328601546001600160a01b031661010083015260338601546101208301526034860154610140830152602083019190915282015261036052603582015460ff1615156103805260368201546103a052604051612bc181612f24565b612bcd6037840161307f565b8152612bdb603a840161307f565b6020820152612bec603d840161307f565b6040820152612bfd6040840161307f565b6060820152612c0e6043840161307f565b6080820152612c1f6046840161307f565b60a0820152612c306049840161307f565b60c0820152612c41604c840161307f565b60e0820152612c52604f840161307f565b610100820152612c646052840161307f565b610120820152612c766055840161307f565b610140820152612c886058840161307f565b610160820152612c9a605b840161307f565b610180820152612cac605e840161307f565b6101a0820152612cbe6061840161307f565b6101c0820152612cd06064840161307f565b6101e0820152612ce26067840161307f565b6102008201526103c052606a82015463ffffffff166103e052604051612d0f8161285a81606b8701613008565b61040052606c82015460ff16151561042052604051612d2d81612f40565b606d8301548152606e8301546020820152606f83015460408201526103c06080015260708201546103e060800152612dae604051612d728161285a8160718801612ddd565b60ff607360728601549501541692604051958652602086015260c06040860152612da060c086016080613187565b9085820360608701526130cc565b9160808401526004811015612dc95782935060a08301520390f35b634e487b7160e01b84526021600452602484fd5b80546000939260018083169383821c938515612e90575b6020958686108114612e7a57858552908115612e5b5750600114612e1a575b5050505050565b90939495506000929192528360002092846000945b838610612e4757505050500101903880808080612e13565b805485870183015294019385908201612e2f565b60ff19168685015250505090151560051b010191503880808080612e13565b634e487b7160e01b600052602260045260246000fd5b93607f1693612df4565b61040081019081106001600160401b038211176112f257604052565b604081019081106001600160401b038211176112f257604052565b61010081019081106001600160401b038211176112f257604052565b61016081019081106001600160401b038211176112f257604052565b608081019081106001600160401b038211176112f257604052565b61022081019081106001600160401b038211176112f257604052565b606081019081106001600160401b038211176112f257604052565b6001600160401b0381116112f257604052565b61012081019081106001600160401b038211176112f257604052565b90601f801991011681019081106001600160401b038211176112f257604052565b90815480825260208092019260005281600020916000905b828210612fd1575050505090565b835485529384019360019384019390910190612fc3565b60021115612ff257565b634e487b7160e01b600052602160045260246000fd5b90815480825260208092019260005281600020916000905b82821061302e575050505090565b83546001600160a01b031685529384019360019384019390910190613020565b9060405161305b81612eb6565b82546001600160a01b031681526001909201546020830152565b60031115612ff257565b9060405161308c81612eb6565b60206130a46001839560ff815416151585520161304e565b910152565b60005b8381106130bc5750506000910152565b81810151838201526020016130ac565b906020916130e5815180928185528580860191016130a9565b601f01601f1916010190565b90815180825260208080930193019160005b828110613111575050505090565b835185529381019392810192600101613103565b90815180825260208080930193019160005b828110613145575050505090565b83516001600160a01b031685529381019392810192600101613137565b80511515825260209081015180516001600160a01b0316828401520151604090910152565b9060018060a01b0382511681526020820151151560208201526040820151604082015260608201516060820152610b206103e06136af6132e56132d161327761326361324f61321e6131ea60808c015160808c610b4091829101528c01906130cc565b60a08c0151908b810360a08d0152602061320d83516040845260408401906130f1565b9201519060208184039101526130f1565b60c08b015160c08b015260e08b015161323681612fe8565b60e08b01526101008b01518a82036101008c01526130cc565b6101208a01518982036101208b01526130cc565b6101408901518882036101408a0152613125565b61016088015115156101608801526101808801516101808801526020806101a08a015180516132a581612fe8565b6101a08b0152015180516101c08a015201516101e08801526101c0880151878203610200890152613125565b6101e0870151868203610220880152613125565b61020086015161024086015261022086015161026086015261024086015161028086015261332f6102608701516102a08701906020809160018060a01b0381511684520151910152565b61028086015180516001600160a01b03166102e0870152602001516103008601526102a086015180516001600160a01b0316610320870152602001516103408601526102c086015180516001600160a01b031661036087015260200151610380860152602060e06102e08801518784036103a08901528051845282810151838501526040810151604085015260608101516060850152608081015160808501526001600160801b0360a08201511660a085015260c081015160c0850152015161010060e0840152805161340181613075565b610100840152015190604061012082015260018060a01b0382511661014082015260208201516101608201526101406134f261344f60408501516101e06101808601526103208501906130cc565b6134dc61347060608701519261013f199384888303016101a08901526130cc565b6134c760206080890151805161348581613075565b6101c08a0152015180516001600160801b039081166101e08a015260208201516102008a0152604082015181166102208a015260609091015116610240880152565b60a087015183878303016102608801526130cc565b9060c086015190858303016102808601526130cc565b9260e08101516102a084015260018060a01b03610100820151166102c08401526101208101516102e084015201516103008092015286015115156103c08601526103208601518386015261368961020061034088015161355761040089018251613162565b61356a60208201516104608a0190613162565b61357d60408201516104c08a0190613162565b61359060608201516105208a0190613162565b6135a360808201516105808a0190613162565b6135b660a08201516105e08a0190613162565b6135c960c08201516106408a0190613162565b6135dc60e08201516106a08a0190613162565b6135f06101008201516107008a0190613162565b6136046101208201516107608a0190613162565b6136186101408201516107c08a0190613162565b61362c6101608201516108208a0190613162565b6136406101808201516108808a0190613162565b6136546101a08201516108e08a0190613162565b6136686101c08201516109408a0190613162565b61367c6101e08201516109a08a0190613162565b0151610a00870190613162565b63ffffffff61036087015116610a60860152610380860151858203610a80870152613125565b6103a08501511515610aa08501526103c08501518051610ac08601526020810151610ae086015260400151610b0085015293015191015290565b35906001600160a01b03821682036136fd57565b600080fd5b359081151582036136fd57565b6001600160401b0381116112f257601f01601f191660200190565b81601f820112156136fd578035906137418261370f565b9261374f6040519485612f8a565b828452602083830101116136fd57816000926020809301838601378301015290565b6001600160401b0381116112f25760051b60200190565b81601f820112156136fd5780359161379f83613771565b926137ad6040519485612f8a565b808452602092838086019260051b8201019283116136fd578301905b8282106137d7575050505090565b813581529083019083016137c9565b81601f820112156136fd578035916137fd83613771565b9261380b6040519485612f8a565b808452602092838086019260051b8201019283116136fd578301905b828210613835575050505090565b838091613841846136e9565b815201910190613827565b91908260409103126136fd5760405161386481612eb6565b6020808294613872816136e9565b84520135910152565b35906001600160801b03821682036136fd57565b91906060838203126136fd5760206130a4604051926138ad84612eb6565b8284966138b981613702565b86520161384c565b6101209060031901126136fd57600435906001600160a01b0360243581811681036136fd579160443582811681036136fd57916064359160843580151581036136fd579160a4359160c43580151581036136fd579160e43590811681036136fd57906101043590565b3461393157565b6040513481527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c60203392a2565b6002600a5414613970576002600a55565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b156139bc57565b60405162461bcd60e51b81526020600482015260166024820152754f6e6c79204170706c69636174696f6e73205465616d60501b6044820152606490fd5b15613a0157565b60405162461bcd60e51b815260206004820152600b60248201526a6e6f742070656e64696e6760a81b6044820152606490fd5b15613a3b57565b60405162461bcd60e51b815260206004820152600a6024820152691a5cc8195e1c1a5c995960b21b6044820152606490fd5b519063ffffffff821682036136fd57565b805460ff161515825260018101546001600160a01b0316602083015260020154604090910152565b51906001600160a01b03821682036136fd57565b81601f820112156136fd578051613ad08161370f565b92613ade6040519485612f8a565b818452602082840101116136fd57613afc91602080850191016130a9565b90565b81601f820112156136fd57805191613b1683613771565b92613b246040519485612f8a565b808452602092838086019260051b8201019283116136fd578301905b828210613b4e575050505090565b81518152908301908301613b40565b9080601f830112156136fd57815190613b7582613771565b92613b836040519485612f8a565b828452602092838086019160051b830101928084116136fd57848301915b848310613bb15750505050505090565b82516001600160401b0381116136fd578691613bd284848094890101613aba565b815201920191613ba1565b91906080838203126136fd5760405190613bf682612f09565b81938051916001600160401b03928381116136fd5781613c17918401613b5d565b845260208201518381116136fd5781613c31918401613aff565b602085015260408201518381116136fd5781613c4e918401613b5d565b604085015260608201519283116136fd576060926130a49201613aff565b519081151582036136fd57565b81601f820112156136fd57805191613c9083613771565b92613c9e6040519485612f8a565b808452602092838086019260051b8201019283116136fd578301905b828210613cc8575050505090565b838091613cd484613aa6565b815201910190613cba565b91908260409103126136fd57604051613cf781612eb6565b6020808294613d0581613aa6565b84520151910152565b91906060838203126136fd5760206130a460405192613d2c84612eb6565b828496613d3881613c6c565b865201613cdf56fea26469706673582212208c7d8decc41e267d97d5e943fecba2b5529733d40dae6f305701d604e0348bb264736f6c63430008120033"; type CharityApplicationConstructorParams = | [linkLibraryAddresses: CharityApplicationLibraryAddresses, signer?: Signer] diff --git a/typechain-types/factories/contracts/multisigs/charity_applications/index.ts b/typechain-types/factories/contracts/multisigs/charity_applications/index.ts index 37e66316c..52a8353aa 100644 --- a/typechain-types/factories/contracts/multisigs/charity_applications/index.ts +++ b/typechain-types/factories/contracts/multisigs/charity_applications/index.ts @@ -2,5 +2,5 @@ /* tslint:disable */ /* eslint-disable */ export * as charityApplicationSol from "./CharityApplication.sol"; -export * as interface from "./interface"; +export * as interfaces from "./interfaces"; export * as storageSol from "./storage.sol"; diff --git a/typechain-types/factories/contracts/multisigs/charity_applications/interface/ICharityApplication__factory.ts b/typechain-types/factories/contracts/multisigs/charity_applications/interfaces/ICharityApplication__factory.ts similarity index 73% rename from typechain-types/factories/contracts/multisigs/charity_applications/interface/ICharityApplication__factory.ts rename to typechain-types/factories/contracts/multisigs/charity_applications/interfaces/ICharityApplication__factory.ts index 129978b92..de8c25388 100644 --- a/typechain-types/factories/contracts/multisigs/charity_applications/interface/ICharityApplication__factory.ts +++ b/typechain-types/factories/contracts/multisigs/charity_applications/interfaces/ICharityApplication__factory.ts @@ -7,7 +7,7 @@ import type { Provider } from "@ethersproject/providers"; import type { ICharityApplication, ICharityApplicationInterface, -} from "../../../../../contracts/multisigs/charity_applications/interface/ICharityApplication"; +} from "../../../../../contracts/multisigs/charity_applications/interfaces/ICharityApplication"; const _abi = [ { @@ -95,7 +95,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -110,7 +110,7 @@ const _abi = [ }, { internalType: "address[]", - name: "cw4_members", + name: "members", type: "address[]", }, { @@ -149,17 +149,17 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.Duration", - name: "cw3MaxVotingPeriod", + name: "maxVotingPeriod", type: "tuple", }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { @@ -186,17 +186,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -208,14 +203,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -230,14 +220,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -252,17 +237,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -313,29 +293,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -361,44 +341,43 @@ const _abi = [ type: "uint128", }, ], - internalType: - "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -432,24 +411,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -464,31 +433,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -503,31 +462,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -542,31 +491,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -581,31 +520,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -620,31 +549,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -659,31 +578,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -698,31 +607,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -737,31 +636,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -783,24 +672,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -822,63 +701,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -893,31 +723,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -939,24 +759,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -978,24 +788,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1017,24 +817,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1056,24 +846,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1095,24 +875,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1136,13 +906,13 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1405,7 +1175,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1420,7 +1190,7 @@ const _abi = [ }, { internalType: "address[]", - name: "cw4_members", + name: "members", type: "address[]", }, { @@ -1459,17 +1229,17 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.Duration", - name: "cw3MaxVotingPeriod", + name: "maxVotingPeriod", type: "tuple", }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { @@ -1496,17 +1266,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -1518,14 +1283,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -1540,14 +1300,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -1562,17 +1317,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -1623,29 +1373,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -1671,44 +1421,43 @@ const _abi = [ type: "uint128", }, ], - internalType: - "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -1742,24 +1491,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1774,31 +1513,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1813,31 +1542,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1852,31 +1571,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1891,31 +1600,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1930,31 +1629,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1969,31 +1658,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2008,31 +1687,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2047,31 +1716,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2093,24 +1752,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2132,63 +1781,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2203,31 +1803,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2249,24 +1839,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2288,24 +1868,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2327,24 +1897,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2366,24 +1926,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2405,24 +1955,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -2446,13 +1986,13 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -2539,47 +2079,47 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curExpiry", + name: "expiry", type: "uint256", }, { internalType: "address", - name: "curApteammultisig", + name: "apteammultisig", type: "address", }, { internalType: "address", - name: "curAccountscontract", + name: "accountscontract", type: "address", }, { internalType: "uint256", - name: "curSeedsplittoliquid", + name: "seedsplittoliquid", type: "uint256", }, { internalType: "bool", - name: "curNewendowgasmoney", + name: "newendowgasmoney", type: "bool", }, { internalType: "uint256", - name: "curGasamount", + name: "gasamount", type: "uint256", }, { internalType: "bool", - name: "curFundseedasset", + name: "fundseedasset", type: "bool", }, { internalType: "address", - name: "curSeedasset", + name: "seedasset", type: "address", }, { internalType: "uint256", - name: "curSeedassetamount", + name: "seedassetamount", type: "uint256", }, ], diff --git a/typechain-types/factories/contracts/multisigs/charity_applications/interface/index.ts b/typechain-types/factories/contracts/multisigs/charity_applications/interfaces/index.ts similarity index 100% rename from typechain-types/factories/contracts/multisigs/charity_applications/interface/index.ts rename to typechain-types/factories/contracts/multisigs/charity_applications/interfaces/index.ts diff --git a/typechain-types/factories/contracts/multisigs/charity_applications/storage.sol/CharityStorage__factory.ts b/typechain-types/factories/contracts/multisigs/charity_applications/storage.sol/CharityStorage__factory.ts index f71739ae0..ab05ea3bd 100644 --- a/typechain-types/factories/contracts/multisigs/charity_applications/storage.sol/CharityStorage__factory.ts +++ b/typechain-types/factories/contracts/multisigs/charity_applications/storage.sol/CharityStorage__factory.ts @@ -134,7 +134,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -149,7 +149,7 @@ const _abi = [ }, { internalType: "address[]", - name: "cw4_members", + name: "members", type: "address[]", }, { @@ -188,17 +188,17 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.Duration", - name: "cw3MaxVotingPeriod", + name: "maxVotingPeriod", type: "tuple", }, { internalType: "address[]", - name: "whitelistedBeneficiaries", + name: "allowlistedBeneficiaries", type: "address[]", }, { internalType: "address[]", - name: "whitelistedContributors", + name: "allowlistedContributors", type: "address[]", }, { @@ -225,17 +225,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { @@ -247,14 +242,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "withdrawFee", @@ -269,14 +259,9 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", name: "depositFee", @@ -291,17 +276,12 @@ const _abi = [ }, { internalType: "uint256", - name: "feePercentage", + name: "percentage", type: "uint256", }, - { - internalType: "bool", - name: "active", - type: "bool", - }, ], internalType: "struct AngelCoreStruct.EndowmentFee", - name: "aumFee", + name: "balanceFee", type: "tuple", }, { @@ -352,29 +332,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -400,44 +380,43 @@ const _abi = [ type: "uint128", }, ], - internalType: - "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -471,24 +450,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -503,31 +472,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "endowmentController", + name: "strategies", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -542,31 +501,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "strategies", + name: "lockedInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -581,31 +530,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedBeneficiaries", + name: "liquidInvestmentManagement", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -620,31 +559,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "whitelistedContributors", + name: "allowlistedBeneficiaries", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -659,31 +588,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityWhitelist", + name: "allowlistedContributors", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -698,31 +617,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "maturityTime", + name: "maturityAllowlist", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -737,31 +646,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "profile", + name: "maturityTime", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -776,31 +675,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "earningsFee", + name: "earlyLockedWithdrawFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -822,24 +711,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -861,63 +740,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", - type: "bool", - }, - { - components: [ - { - internalType: "address", - name: "Addr", - type: "address", - }, - { - internalType: "uint256", - name: "expires", - type: "uint256", - }, - ], - internalType: "struct AngelCoreStruct.Delegate", - name: "delegate", - type: "tuple", - }, - ], - internalType: "struct AngelCoreStruct.SettingsPermission", - name: "aumFee", - type: "tuple", - }, - { - components: [ - { - internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -932,31 +762,21 @@ const _abi = [ }, ], internalType: "struct AngelCoreStruct.SettingsPermission", - name: "kycDonorsOnly", + name: "balanceFee", type: "tuple", }, { components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -978,24 +798,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1017,24 +827,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1056,24 +856,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1095,24 +885,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1134,24 +914,14 @@ const _abi = [ components: [ { internalType: "bool", - name: "ownerControlled", - type: "bool", - }, - { - internalType: "bool", - name: "govControlled", - type: "bool", - }, - { - internalType: "bool", - name: "modifiableAfterInit", + name: "locked", type: "bool", }, { components: [ { internalType: "address", - name: "Addr", + name: "addr", type: "address", }, { @@ -1175,13 +945,13 @@ const _abi = [ type: "tuple", }, { - internalType: "uint256", + internalType: "uint32", name: "parent", - type: "uint256", + type: "uint32", }, { internalType: "address[]", - name: "maturityWhitelist", + name: "maturityAllowlist", type: "address[]", }, { @@ -1243,7 +1013,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001657610ff5908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c8063013cf08b146100b2576379502c551461003257600080fd5b346100ad5760003660031901126100ad5761012060015460018060a01b03806002541690806003541660045460ff600554166006549160075493600854966040519889526020890152604088015260608701521515608086015260a085015260ff8116151560c085015260081c1660e0830152610100820152f35b600080fd5b346100ad5760203660031901126100ad5760043560009081526020819052604090208054600182015490916001600160a01b03919091169061048060405260028101546001600160a01b03811660805260a090811c60ff1615159052600381015460c052600481015460e05261012a60058201610cbd565b6101005260405161013a81610c47565b61014660068301610d8e565b815261015460078301610d8e565b602082015261012052600881015461014052600981015460ff1661017781610ddd565b61016052610187600a8201610cbd565b61018052610197600b8201610cbd565b6101a0526101a7600c8201610de7565b6101c052600d81015460ff1615156101e052600e810154610200526040516101ce81610c47565b60ff600f830154166002811015610c1b5781526040516101ed81610c47565b601083015481526011830154602082015260208201526101a06080015261021660128201610de7565b6102405261022660138201610de7565b6102605260148101546102805260158101546102a05260168101546102c05261025160178201610e3f565b6102e052610261601a8201610e3f565b61030052610271601d8201610e3f565b6103205261028160208201610e3f565b6103405260405167ffffffffffffffff610100820190811190821117610c3157610100810160405260238201548152602482015460208201526025820154604082015260268201546060820152602782015460808201526001600160801b0360288301541660a0820152602982015460c082015260405161030181610c47565b60ff602a8401541661031281610ddd565b81526040518061016081011067ffffffffffffffff61016083011117610c31576101608101604052602b8401546001600160a01b03168152602c8401546020820152610360602d8501610cbd565b6040820152610371602e8501610cbd565b606082015260405161038281610c47565b60ff602f8601541661039381610ddd565b81526040516103a181610c63565b6001600160801b0360308701541681526031860154602082015260328601546001600160801b038116604083015260801c6060820152602082015260808201526103ed60338501610cbd565b60a08201526103fe60348501610cbd565b60c0820152603584015460e08083019190915260368501546001600160a01b031661010083015260378501546101208301526038850154610140830152602083019190915282015261036052603981015460ff16151561038052603a8101546103a05260405167ffffffffffffffff610240820190811190821117610c31576102408101604052610491603b8301610e75565b815261049f603e8301610e75565b60208201526104b060418301610e75565b60408201526104c160448301610e75565b60608201526104d260478301610e75565b60808201526104e3604a8301610e75565b60a08201526104f4604d8301610e75565b60c082015261050560508301610e75565b60e082015261051660538301610e75565b61010082015261052860568301610e75565b61012082015261053a60598301610e75565b61014082015261054c605c8301610e75565b61016082015261055e605f8301610e75565b61018082015261057060628301610e75565b6101a082015261058260658301610e75565b6101c082015261059460688301610e75565b6101e08201526105a6606b8301610e75565b6102008201526105b8606e8301610e75565b6102208201526103c05260718101546103e0526105d760728201610de7565b61040052607381015460ff161515610420526040516105f581610c7f565b6074820154815260758201546020820152607682015460408201526104405260778101546104605261062960788201610cbd565b60ff607a60798401549301541692604051948552602085015260c0604085015260018060a01b036080511660c0850152602060800151151560e085015260406080015161010085015260606080015161012085015261073f6107296107136106e06106a660808001516110a06101408b01526111608a0190610ed3565b60a0608001519060bf198a8203016101608b015260206106cf8351604084526040840190610f13565b920151906020818403910152610f13565b61014051610180890152610160516106f781610ddd565b6101a08901526101805188820360bf19016101c08a0152610ed3565b6101a05187820360bf19016101e0890152610ed3565b6101c05186820360bf1901610200880152610f47565b6101e051151561022086810191909152610200516102408701525180519291906002841015610c1b576107ab610bbc926020806107c194610c01986102608d0152015180516102808c015201516102a08a01526101c06080015160bf198a8303016102c08b0152610f47565b6102605188820360bf19016102e08a0152610f47565b610280516103008801526102a0516103208801526102c0516103408801526102e05180516001600160a01b031661036089015260208101516103808901526040015115156103a08801526103005180516001600160a01b03166103c089015260208101516103e08901526040015115156104008801526103205180516001600160a01b031661042089015260208101516104408901526040015115156104608801526103405180516001600160a01b031661048089015260208101516104a08901526040015115156104c0880152602060e06102e06080015160bf198a8503016104e08b01528051845282810151838501526040810151604085015260608101516060850152608081015160808501526001600160801b0360a08201511660a085015260c081015160c0850152015161010060e0840152805161090381610ddd565b610100840152015190604061012082015260018060a01b0382511661014082015260208201516101608201526103006101406109f16109d961097261095a60408801516101e0610180890152610320880190610ed3565b606088015187820361013f19016101a0890152610ed3565b6001600160801b036060602060808a0151805161098e81610ddd565b6101c08b01520151805183166101e08a015260208101516102008a0152604081015183166102208a015201511661024087015260a087015186820361013f1901610260880152610ed3565b60c086015185820361013f1901610280870152610ed3565b60e08501516102a08501526101008501516001600160a01b03166102c08501526101208501516102e08501529301519101526103805115156105008801526103a0516105208801526103c0518051610b9c9161022091610a56906105408c0190610f84565b610a6960208201516105e08c0190610f84565b610a7c60408201516106808c0190610f84565b610a8f60608201516107208c0190610f84565b610aa260808201516107c08c0190610f84565b610ab560a08201516108608c0190610f84565b610ac860c08201516109008c0190610f84565b610adb60e08201516109a08c0190610f84565b610aef610100820151610a408c0190610f84565b610b03610120820151610ae08c0190610f84565b610b17610140820151610b808c0190610f84565b610b2b610160820151610c208c0190610f84565b610b3f610180820151610cc08c0190610f84565b610b536101a0820151610d608c0190610f84565b610b676101c0820151610e008c0190610f84565b610b7b6101e0820151610ea08c0190610f84565b610b8f610200820151610f408c0190610f84565b0151610fe0890190610f84565b6103e0516110808801526104005187820360bf19016110a0890152610f47565b6104205115156110c08701526104405180516110e088015260208101516111008801526040015161112087015261046051611140870152858103606087015290610ed3565b9060808401526004821015610c1b57829160a08301520390f35b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610c3157604052565b6080810190811067ffffffffffffffff821117610c3157604052565b6060810190811067ffffffffffffffff821117610c3157604052565b90601f8019910116810190811067ffffffffffffffff821117610c3157604052565b90604051906000835490600182811c90808416968715610d84575b6020948584108914610d705787988489979899529081600014610d4e5750600114610d0f575b505050610d0d92500383610c9b565b565b600090815285812095935091905b818310610d36575050610d0d9350820101388080610cfe565b85548884018501529485019487945091830191610d1d565b92505050610d0d94925060ff191682840152151560051b820101388080610cfe565b634e487b7160e01b85526022600452602485fd5b91607f1691610cd8565b9060405191828154918282526020928383019160005283600020936000905b828210610dc357505050610d0d92500383610c9b565b855484526001958601958895509381019390910190610dad565b60031115610c1b57565b9060405191828154918282526020928383019160005283600020936000905b828210610e1c57505050610d0d92500383610c9b565b85546001600160a01b031684526001958601958895509381019390910190610e06565b90604051610e4c81610c7f565b82546001600160a01b031681526001830154602082015260029092015460ff1615156040830152565b9060405191610e8383610c63565b60608360ff835481811615158352818160081c161515602084015260101c1615156040820152600260405193610eb885610c47565b60018101546001600160a01b03168552015460208401520152565b919082519283825260005b848110610eff575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610ede565b90815180825260208080930193019160005b828110610f33575050505090565b835185529381019392810192600101610f25565b90815180825260208080930193019160005b828110610f67575050505090565b83516001600160a01b031685529381019392810192600101610f59565b6020606060809280511515855282810151151583860152604081015115156040860152015160018060a01b038151166060850152015191015256fea26469706673582212205573c5e0152ab8c92476c767c77cbb4d3fd0c53c5730524cc1065d49ca7aa52264736f6c63430008120033"; + "0x6080806040523461001657610f49908161001c8239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c8063013cf08b146100b2576379502c551461003257600080fd5b346100ad5760003660031901126100ad5761012060015460018060a01b03806002541690806003541660045460ff600554166006549160075493600854966040519889526020890152604088015260608701521515608086015260a085015260ff8116151560c085015260081c1660e0830152610100820152f35b600080fd5b346100ad5760203660031901126100ad5760043560009081526020819052604090208054600182015490916001600160a01b03919091169061048060405260028101546001600160a01b03811660805260a090811c60ff1615159052600381015460c052600481015460e05261012a60058201610c60565b6101005260405161013a81610c22565b61014660068301610d31565b815261015460078301610d31565b602082015261012052600881015461014052600981015460ff1661017781610d80565b61016052610187600a8201610c60565b61018052610197600b8201610c60565b6101a0526101a7600c8201610d8a565b6101c052600d81015460ff1615156101e052600e810154610200526040516101ce81610c22565b60ff600f830154166101df81610d80565b81526040516101ed81610c22565b601083015481526011830154602082015260208201526101a06080015261021660128201610d8a565b6102405261022660138201610d8a565b6102605260148101546102805260158101546102a05260168101546102c05261025160178201610de2565b6102e05261026160198201610de2565b61030052610271601b8201610de2565b61032052610281601d8201610de2565b6103405260405167ffffffffffffffff610100820190811190821117610c0c576101008101604052601f8201548152602082015460208201526021820154604082015260228201546060820152602382015460808201526001600160801b0360248301541660a0820152602582015460c082015260405161030181610c22565b60ff60268401541661031281610e09565b81526040518061016081011067ffffffffffffffff61016083011117610c0c57610160810160405260278401546001600160a01b031681526028840154602082015261036060298501610c60565b6040820152610371602a8501610c60565b606082015260405161038281610c22565b60ff602b8601541661039381610e09565b815260405180608081011067ffffffffffffffff608083011117610c0c57608081016040526001600160801b03602c870154168152602d8601546020820152602e8601546001600160801b038116604083015260801c606082015260208201526080820152610404602f8501610c60565b60a082015261041560308501610c60565b60c0820152603184015460e08083019190915260328501546001600160a01b031661010083015260338501546101208301526034850154610140830152602083019190915282015261036052603581015460ff1615156103805260368101546103a05260405167ffffffffffffffff610220820190811190821117610c0c5761022081016040526104a860378301610e13565b81526104b6603a8301610e13565b60208201526104c7603d8301610e13565b60408201526104d860408301610e13565b60608201526104e960438301610e13565b60808201526104fa60468301610e13565b60a082015261050b60498301610e13565b60c082015261051c604c8301610e13565b60e082015261052d604f8301610e13565b61010082015261053f60528301610e13565b61012082015261055160558301610e13565b61014082015261056360588301610e13565b610160820152610575605b8301610e13565b610180820152610587605e8301610e13565b6101a082015261059960618301610e13565b6101c08201526105ab60648301610e13565b6101e08201526105bd60678301610e13565b6102008201526103c052606a81015463ffffffff166103e0526105e2606b8201610d8a565b61040052606c81015460ff1615156104205260405167ffffffffffffffff6060820190811190821117610c0c57606081016040908152606d8301548252606e8301546020830152606f8301549082015261044052607081015461046052610bdc61064e60718301610c60565b60ff607360728501549401541693604051958652602086015260c0604086015260018060a01b036080511660c0860152602060800151151560e0860152604060800151610100860152606060800151610120860152610b976107de6107c861076f6107596107436107106106d58c610c00608080015191610b406101408201520190610e3d565b60a060800151908d61016060bf198284030191015260206106ff8351604084526040840190610e7d565b920151906020818403910152610e7d565b610140516101808d01526101605161072781610d80565b6101a08d0152610180518c820360bf19016101c08e0152610e3d565b6101a0518b820360bf19016101e08d0152610e3d565b6101c0518a820360bf19016102008c0152610eb1565b6101e05115156102208a810191909152610200516102408b0152518051602091829161079a81610d80565b6102608d0152015180516102808c015201516102a08a01526102405189820360bf19016102c08b0152610eb1565b6102605188820360bf19016102e08a0152610eb1565b610280516103008801526102a0516103208801526102c0516103408801526102e05180516001600160a01b0316610360890152602001516103808801526103005180516001600160a01b03166103a0890152602001516103c08801526103205180516001600160a01b03166103e0890152602001516104008801526103405180516001600160a01b031661042089015260200151610440880152602060e06102e06080015160bf198a8503016104608b01528051845282810151838501526040810151604085015260608101516060850152608081015160808501526001600160801b0360a08201511660a085015260c081015160c0850152015161010060e084015280516108ec81610e09565b610100840152015190604061012082015260018060a01b0382511661014082015260208201516101608201526103006101406109da6109c261095b61094360408801516101e0610180890152610320880190610e3d565b606088015187820361013f19016101a0890152610e3d565b6001600160801b036060602060808a0151805161097781610e09565b6101c08b01520151805183166101e08a015260208101516102008a0152604081015183166102208a015201511661024087015260a087015186820361013f1901610260880152610e3d565b60c086015185820361013f1901610280870152610e3d565b60e08501516102a08501526101008501516001600160a01b03166102c08501526101208501516102e08501529301519101526103805115156104808801526103a0516104a08801526103c0518051610b719161020091610a3f906104c08c0190610eee565b610a5260208201516105208c0190610eee565b610a6560408201516105808c0190610eee565b610a7860608201516105e08c0190610eee565b610a8b60808201516106408c0190610eee565b610a9e60a08201516106a08c0190610eee565b610ab160c08201516107008c0190610eee565b610ac460e08201516107608c0190610eee565b610ad86101008201516107c08c0190610eee565b610aec6101208201516108208c0190610eee565b610b006101408201516108808c0190610eee565b610b146101608201516108e08c0190610eee565b610b286101808201516109408c0190610eee565b610b3c6101a08201516109a08c0190610eee565b610b506101c0820151610a008c0190610eee565b610b646101e0820151610a608c0190610eee565b0151610ac0890190610eee565b6103e05163ffffffff16610b208801526104005187820360bf1901610b40890152610eb1565b610420511515610b60870152610440518051610b808801526020810151610ba088015260400151610bc087015261046051610be0870152858103606087015290610e3d565b9060808401526004821015610bf657829160a08301520390f35b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff821117610c0c57604052565b90601f8019910116810190811067ffffffffffffffff821117610c0c57604052565b90604051906000835490600182811c90808416968715610d27575b6020948584108914610d135787988489979899529081600014610cf15750600114610cb2575b505050610cb092500383610c3e565b565b600090815285812095935091905b818310610cd9575050610cb09350820101388080610ca1565b85548884018501529485019487945091830191610cc0565b92505050610cb094925060ff191682840152151560051b820101388080610ca1565b634e487b7160e01b85526022600452602485fd5b91607f1691610c7b565b9060405191828154918282526020928383019160005283600020936000905b828210610d6657505050610cb092500383610c3e565b855484526001958601958895509381019390910190610d50565b60021115610bf657565b9060405191828154918282526020928383019160005283600020936000905b828210610dbf57505050610cb092500383610c3e565b85546001600160a01b031684526001958601958895509381019390910190610da9565b90604051610def81610c22565b82546001600160a01b031681526001909201546020830152565b60031115610bf657565b90604051610e2081610c22565b6020610e386001839560ff8154161515855201610de2565b910152565b919082519283825260005b848110610e69575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610e48565b90815180825260208080930193019160005b828110610e9d575050505090565b835185529381019392810192600101610e8f565b90815180825260208080930193019160005b828110610ed1575050505090565b83516001600160a01b031685529381019392810192600101610ec3565b80511515825260209081015180516001600160a01b031682840152015160409091015256fea264697066735822122056481441f534f11bbcd5409f7a04267b2c0aaa7ccf12e77f8bbc43a2b45fa68e64736f6c63430008120033"; type CharityStorageConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/multisigs/interfaces/IMultiSigGeneric__factory.ts b/typechain-types/factories/contracts/multisigs/interfaces/IMultiSigGeneric__factory.ts index 5bb5adc8a..bf441629c 100644 --- a/typechain-types/factories/contracts/multisigs/interfaces/IMultiSigGeneric__factory.ts +++ b/typechain-types/factories/contracts/multisigs/interfaces/IMultiSigGeneric__factory.ts @@ -209,7 +209,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curRequired", + name: "required", type: "uint256", }, ], @@ -275,7 +275,7 @@ const _abi = [ outputs: [ { internalType: "address[]", - name: "curConfirmations", + name: "confirmations", type: "address[]", }, ], @@ -346,7 +346,7 @@ const _abi = [ outputs: [ { internalType: "uint256[]", - name: "curTransactionids", + name: "transactionids", type: "uint256[]", }, ], diff --git a/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatch.sol/DonationMatch__factory.ts b/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatch.sol/DonationMatch__factory.ts index 9d313b496..50f76ef5a 100644 --- a/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatch.sol/DonationMatch__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatch.sol/DonationMatch__factory.ts @@ -26,9 +26,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { internalType: "uint256", @@ -82,12 +82,12 @@ const _abi = [ }, ], internalType: "struct DonationMatchMessages.InstantiateMessage", - name: "curDetails", + name: "details", type: "tuple", }, { internalType: "address", - name: "curEmitteraddress", + name: "emitteraddress", type: "address", }, ], @@ -139,7 +139,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001657611e78908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c908163d61e991b146103a457508063d769c637146100f55763e68f909d1461004257600080fd5b346100f257806003193601126100f2578060a091608060405161006481611723565b828152826020820152826040820152826060820152015260405161008781611723565b600180841b0380925416918282528060015416906020830191825280600254169260408101938452816003549481608060608501948289168652019562ffffff80988b1c16875260405198895251166020880152511660408601525116606084015251166080820152f35b80fd5b50346100f257366003190160c081126103a05760a0136100f25760405161011b81611723565b6001600160a01b036004358181168103610397578252602435908082168203610397576020830191825261014d6116c9565b6040840190815262ffffff606435818116810361039c5760608601908152608435928484168403610397576080870193845260a43590858216808303610397576004549060ff8260081c1615998a809b61038a575b8015610373575b156103175760ff1983166001176004558894859384936101d1918e610305575b501515611795565b6004805462010000600160b01b03191660109290921b62010000600160b01b031691909117905580516102079083161515611795565b5116976bffffffffffffffffffffffff60a01b98898c5416178b55610230828251161515611795565b5116876001541617600155610249828251161515611795565b51169060035492815116156102d25762ffffff60a01b905160a01b169168ffffffffffffffffff60b81b161717600355610287828251161515611795565b51169060025416176002556102995780f35b61ff0019600454166004557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b60405162461bcd60e51b815260206004820152600b60248201526a496e76616c69642046656560a81b6044820152606490fd5b61ffff191661010117600455386101c9565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101a95750600160ff8416146101a9565b50600160ff8416106101a2565b600080fd5b8680fd5b5080fd5b82346100f25760803660031901126100f2576103be6116c9565b91606480356001600160a01b03811690036116c55760035463e68f909d60e01b83528390839060049082906001600160a01b03165afa9182156116ba57839261135b575b5060608201516001600160a01b0316156113195761042d60018060a01b0360608401511633146118fe565b60608201516040516354f3ce9960e01b81526004803590820152908490829060249082906001600160a01b03165afa9081156108c3578491610cea575b5060e08101516004811015610ca557600161048591146118fe565b6080810180516003811015610cd65715610cb9575b516003811015610ca557600114610c86575b5060025483546001600160a01b0390811693916104cf9185916024359116611c66565b92604051956370a0823160e01b87523060048801526020968781602481865afa9081156108fa579086918891610c55575b5010610c115760405163095ea7b360e01b8082526001600160a01b039093166004820152602481018690528781806044810103818a89356001600160a01b03165af19081156108fa578791610bdc575b5015610ba05760045486546001600160a01b0360109290921c82169116813b156109605760405163395b4b6560e11b815260048035908201526001600160a01b0387358116602483015290911660448201526064810187905290879082908183816084810103925af180156108fa57610b8d575b5085546001600160a01b03908116908535168103610a06575060288502858104602814861517156109de57849004908180018083116109f25786039586116109de5760405163a9059cbb60e01b81526001600160a01b0382166004820152602481018390528881806044810103818b8a356001600160a01b03165af190811561093c5788916109a9575b5015610973576004549697889760101c6001600160a01b031693843b1561096f57604051631facad4560e11b80825260048035908301526001600160a01b038935811660248401529094166044820152606481018590529294899084908183816084810103925af180156109645784938a91610947575b505060608601516040519182526001600160a01b0316600482015260248101929092528082806044810103818b8a356001600160a01b03165af190811561093c578891610905575b506107189150611bd1565b60608301516001600160a01b0316803b1561039c57604051630b49b2f360e11b8152600480359082015285356001600160a01b03166024820152604481018390529087908290606490829084905af19081156108fa5787916108e2575b50506004546060909301516001600160a01b039081169360101c16803b1561039c5760405192835260048035908401526001600160a01b038535811660248501529093166044830152606482015290849082908183816084810103925af19081156108c35784916108ce575b505080356001600160a01b03163b156108bf57604051630852cd8d60e31b81526004810183905283816024818386356001600160a01b03165af19081156108c35784916108ab575b505060045460101c6001600160a01b031691823b156108a657604051631ef3698760e11b8152600480359082015291356001600160a01b03166024830152604482015290829082908183816064810103925af1801561089b5761088b57505080f35b61089490611710565b6100f25780f35b6040513d84823e3d90fd5b505050fd5b6108b490611710565b6108bf578285610829565b5050fd5b6040513d86823e3d90fd5b6108d790611710565b6108bf5782856107e1565b6108eb90611710565b6108f6578588610775565b8580fd5b6040513d89823e3d90fd5b905081813d8311610935575b61091b8183611774565b8101031261039c5761092f61071891611896565b8961070d565b503d610911565b6040513d8a823e3d90fd5b61095391929450611710565b610960578291888b6106c5565b8780fd5b6040513d8b823e3d90fd5b8880fd5b60405162461bcd60e51b815260048101899052600f60248201526e151c985b9cd9995c8819985a5b1959608a1b60448201528590fd5b90508881813d83116109d7575b6109c08183611774565b81010312610960576109d190611896565b8961064e565b503d6109b6565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526011600452602488fd5b60405192835284356001600160a01b03166004840152602483018690529596879694959194919392918190839060449082908b905af19081156108fa578791610b56575b50610a559150611bd1565b60608101516001600160a01b0390811693908535163b156108f65760405193638ea692ef60e01b85528360048601526024850152600435604485015260018060a01b031692838582015285816084818360018060a01b038a35165af1908115610b4b578691610b33575b50506004546060909101516001600160a01b039081169260109290921c1690813b156108f6578560a49281956040519788968795630fabb2b560e31b875260018060a01b038335166004880152602487015260448601526004359085015260848401525af1801561089b5761088b57505080f35b610b3c90611710565b610b47578487610abf565b8480fd5b6040513d88823e3d90fd5b905081813d8311610b86575b610b6c8183611774565b810103126108f657610b80610a5591611896565b88610a4a565b503d610b62565b610b9990969196611710565b94876105c4565b60405162461bcd60e51b8152600481018890526015602482015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b60448201528490fd5b90508781813d8311610c0a575b610bf38183611774565b8101031261039c57610c0490611896565b88610550565b503d610be9565b60405162461bcd60e51b815260048101889052601a60248201527f496e73756666696369656e74205265736572766520546f6b656e00000000000060448201528490fd5b809250898092503d8311610c7f575b610c6e8183611774565b8101031261039c5785905189610500565b503d610c64565b6102a00151610c9f906001600160a01b031630146118fe565b846104ac565b634e487b7160e01b85526021600452602485fd5b610cd160018060a01b036101808601511630146118fe565b61049a565b634e487b7160e01b86526021600452602486fd5b3d91508185823e610cfb8282611774565b6020818381010312610b47578051906001600160401b0382116108f65761112082820184830103126108f65760405192836104408101106001600160401b0361044086011117611305576104408401604052610d588383016117d3565b8452602083830101516001600160401b03811161096057610d80908284019085850101611939565b6020850152604083830101516001600160401b038111610960576040818585010183850103126109605760405190610db7826116df565b8085850101516001600160401b03811161130157610dde90848601908388880101016119a9565b82526020818686010101516001600160401b0381116113015790610e0a918486019187870101016119a9565b602082015260408501528183016060818101519086015260800151600381101561096057608085015260a083830101516001600160401b03811161096057610e59908284019085850101611939565b60a085015260c083830101516001600160401b03811161096057610e84908284019085850101611939565b60c085015260e0838301015160048110156109605760e0850152610ead61010084840101611896565b610100850152610ec261012084840101611896565b610120850152818301610140818101519086015261016001516001600160401b03811161096057610efa908284019085850101611a87565b61016085015261018083830101516001600160401b03811161096057610f27908284019085850101611a87565b610180850152610f3f8183016101a0858501016118a3565b6101a0850152610f5461024084840101611896565b6101c08501528183016102608101516101e08601526102808101516102008601526102a0810151610220860152610f8e906102c0016117d3565b610240850152610fa36102e0848401016117d3565b610260850152610fb861030084840101611896565b610280850152610fcd610320848401016117d3565b6102a085015261034083830101516001600160401b03811161096057610ffa908284019085850101611830565b6102c085015261036083830101516001600160401b03811161096057611027908284019085850101611830565b6102e085015261038083830101516001600160401b03811161096057611054908284019085850101611830565b61030085015261106c8183016103a085850101611b1b565b61032085015261108481830161040085850101611b1b565b61034085015261109c81830161046085850101611b1b565b6103608501526110b48183016104c085850101611b1b565b610380850152610b408284018284010361051f19011261039c57604051806102408101106001600160401b03610240830111176112ed57611100939291816102406112d8930160405261110f82850161052087870101611b56565b81526111238285016105c087870101611b56565b602082015261113a82850161066087870101611b56565b604082015261115182850161070087870101611b56565b60608201526111688285016107a087870101611b56565b608082015261117f82850161084087870101611b56565b60a08201526111968285016108e087870101611b56565b60c08201526111ad82850161098087870101611b56565b60e08201526111c4828501610a2087870101611b56565b6101008201526111dc828501610ac087870101611b56565b6101208201526111f4828501610b6087870101611b56565b61014082015261120c828501610c0087870101611b56565b610160820152611224828501610ca087870101611b56565b61018082015261123c828501610d4087870101611b56565b6101a0820152611254828501610de087870101611b56565b6101c082015261126c828501610e8087870101611b56565b6101e0820152611284828501610f2087870101611b56565b61020082015261129c828501610fc087870101611b56565b6102208201526103a08701528284016110608101516103c08801526112c49061108001611896565b6103e087015282016110a0848401016117e7565b6104008501520101516104208201528561046a565b634e487b7160e01b88526041600452602488fd5b8980fd5b634e487b7160e01b87526041600452602487fd5b60405162461bcd60e51b815260206004820152601760248201527f4163636f756e7473204e6f7420436f6e666967757265640000000000000000006044820152fd5b9091503d8084833e61136d8183611774565b60208282810103126116b65781516001600160401b038111610b47576104e08184018385010312610b47576040519261042084018481106001600160401b03821117611305576040526113c18282016117d3565b84526113d16020838301016117d3565b60208501526113e46040838301016117d3565b60408501526113f76060838301016117d3565b606085015261140a6080838301016117d3565b608085015261141d60a0838301016117d3565b60a085015261143060c0838301016117d3565b60c085015261144360e0838301016117d3565b60e085015261010061145881848401016117d3565b9085015261012061146c81848401016117d3565b9085015261014061148081848401016117d3565b9085015261016061149481848401016117d3565b908501526101806114a881848401016117d3565b908501526101a06114bc81848401016117d3565b908501526101c06114d384830182858501016117e7565b908501526102206114e781848401016117d3565b6101e0860152610240906114fe82858501016117d3565b6102008701526102609061151582868601016117d3565b908701526102809161152a83868601016117d3565b908701526102a08484010151908601526115496102c0848401016117d3565b908501526102e082820101516001600160401b03811161039c5760208184840101858401031261039c57604051908160208101106001600160401b036020840111176112ed57602082016040528084840101516001600160401b03811161096f57916115c684926116ab9694886104c09701918686010101611830565b81526102a0870152610300946115df86848401016117d3565b6102c08801526115f861032091830182858501016118a3565b6102e08801526103c09561160f87858501016117d3565b908801526103e09061162482858501016117d3565b908801526104009561163987858501016117d3565b61034089015261164e610420858501016117d3565b610360890152611663610440858501016117d3565b610380890152611678610460858501016117d3565b6103a089015261168d610480858501016117d3565b908801526116a06104a0848401016117d3565b9087015201016117d3565b908201529084610402565b8380fd5b6040513d85823e3d90fd5b8280fd5b604435906001600160a01b038216820361039757565b604081019081106001600160401b038211176116fa57604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116116fa57604052565b60a081019081106001600160401b038211176116fa57604052565b606081019081106001600160401b038211176116fa57604052565b608081019081106001600160401b038211176116fa57604052565b90601f801991011681019081106001600160401b038211176116fa57604052565b1561179c57565b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fd5b51906001600160a01b038216820361039757565b9190826060910312610397576040516117ff8161173e565b604080829480518452602081015160208501520151910152565b6001600160401b0381116116fa5760051b60200190565b81601f820112156103975780519161184783611819565b926118556040519485611774565b808452602092838086019260051b820101928311610397578301905b82821061187f575050505090565b83809161188b846117d3565b815201910190611871565b5190811515820361039757565b91908260a0910312610397576040516118bb81611723565b60808082946118c981611896565b84526118d760208201611896565b6020850152604081015160408501526118f260608201611896565b60608501520151910152565b1561190557565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b919080601f84011215610397578251906001600160401b0382116116fa5760405191602091611971601f8301601f1916840185611774565b8184528282870101116103975760005b81811061199657508260009394955001015290565b8581018301518482018401528201611981565b81601f82011215610397578051916119c083611819565b926119ce6040519485611774565b808452602092838086019260051b820101928311610397578301905b8282106119f8575050505090565b815181529083019083016119ea565b9080601f8301121561039757815190611a1f82611819565b92611a2d6040519485611774565b828452602092838086019160051b8301019280841161039757848301915b848310611a5b5750505050505090565b82516001600160401b038111610397578691611a7c84848094890101611939565b815201920191611a4b565b91906080838203126103975760405190611aa082611759565b81938051916001600160401b03928381116103975781611ac1918401611a07565b845260208201518381116103975781611adb9184016119a9565b602085015260408201518381116103975781611af8918401611a07565b6040850152606082015192831161039757606092611b1692016119a9565b910152565b919082606091031261039757604051611b338161173e565b6040611b16818395611b44816117d3565b85526020810151602086015201611896565b809291039160a0831261039757604051611b6f81611759565b60408194611b7c84611896565b8352611b8a60208501611896565b6020840152611b9a828501611896565b83830152605f19011261039757606090608060405193611bb9856116df565b611bc48482016117d3565b8552015160208401520152565b15611bd857565b60405162461bcd60e51b815260206004820152600e60248201526d105c1c1c9bdd994819985a5b195960921b6044820152606490fd5b81810292918115918404141715611c2157565b634e487b7160e01b600052601160045260246000fd5b8115611c41570490565b634e487b7160e01b600052601260045260246000fd5b519061ffff8216820361039757565b90916001600160a01b03918216908216818114611e3c578260015416602062ffffff60646003546040519485938492630b4c774160e11b845289600485015288602485015260a01c1660448301525afa8015611deb578491600091611e01575b5016918215611df75760e060049360405194858092633850c7bd851b82525afa928315611deb57600093611d5c575b501015611d1b57611d159291611d0d91168092611c0e565b60601c611c0e565b60601c90565b8260601b91600160601b93808404851490151715611c2157611d3f91168092611c37565b8060601b928184041490151715611c2157611d5991611c37565b90565b60e0939193813d8211611de3575b81611d7760e09383611774565b810103126103a05780519185831683036100f25760208201518060020b036100f257611da560408301611c57565b50611db260608301611c57565b50611dbf60808301611c57565b5060a082015160ff8116036100f2575060c0611ddb9101611896565b509138611cf5565b3d9150611d6a565b6040513d6000823e3d90fd5b5050505050600090565b91506020823d8211611e34575b81611e1b60209383611774565b810103126100f25750611e2e84916117d3565b38611cc6565b3d9150611e0e565b5050509056fea26469706673582212200df2c16b3c3b4c3632a3b5d2ef981800e2f1a9e8728dd754b5f63f85339ae52b64736f6c63430008120033"; + "0x6080806040523461001657611d58908161001c8239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c908163cfcb6c5b146103a457508063d769c637146100f55763e68f909d1461004257600080fd5b346100f257806003193601126100f2578060a0916080604051610064816116bf565b8281528260208201528260408201528260608201520152604051610087816116bf565b600180841b0380925416918282528060015416906020830191825280600254169260408101938452816003549481608060608501948289168652019562ffffff80988b1c16875260405198895251166020880152511660408601525116606084015251166080820152f35b80fd5b50346100f257366003190160c081126103a05760a0136100f25760405161011b816116bf565b6001600160a01b036004358181168103610397578252602435908082168203610397576020830191825261014d611665565b6040840190815262ffffff606435818116810361039c5760608601908152608435928484168403610397576080870193845260a43590858216808303610397576004549060ff8260081c1615998a809b61038a575b8015610373575b156103175760ff1983166001176004558894859384936101d1918e610305575b5015156116fb565b6004805462010000600160b01b03191660109290921b62010000600160b01b0316919091179055805161020790831615156116fb565b5116976bffffffffffffffffffffffff60a01b98898c5416178b556102308282511615156116fb565b51168760015416176001556102498282511615156116fb565b51169060035492815116156102d25762ffffff60a01b905160a01b169168ffffffffffffffffff60b81b1617176003556102878282511615156116fb565b51169060025416176002556102995780f35b61ff0019600454166004557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b60405162461bcd60e51b815260206004820152600b60248201526a496e76616c69642046656560a81b6044820152606490fd5b61ffff191661010117600455386101c9565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101a95750600160ff8416146101a9565b50600160ff8416106101a2565b600080fd5b8680fd5b5080fd5b9050346103a05760803660031901126103a05763ffffffff60043516600435036103a0576103d0611665565b906064356001600160a01b03811690036116615760035463e68f909d60e01b82526103e090829060049082906001600160a01b03165afa9081156116565783916113fc575b5060408101516001600160a01b0316156113b75761044060018060a01b03604083015116331461178f565b60408181015190516364ce479160e11b81526004803563ffffffff1690820152908490829060249082906001600160a01b03165afa908115610903578491610d33575b506080810180516002811015610d1f57610cd45750506104b160018060a01b0361016083015116301461178f565b60025483546001600160a01b03908116916104d29183916024359116611b46565b906040516370a0823160e01b8152306004820152602081602481855afa801561093e5783918791610c9f575b5010610c5a5760405163095ea7b360e01b81526001600160a01b0390911660048201526024810182905260208180604481010381886064356001600160a01b03165af1908115610b8a578591610c20575b5015610be35760045484546001600160a01b0360109290921c821691869116823b156103a05760405163395b4b6560e11b81526004803563ffffffff1690820152606480356001600160a01b039081166024840152929092166044820152908101849052918290608490829084905af18015610b8a57610bd0575b50835484906001600160a01b0390811690606435168103610a3c575050602881029181830460281482151715610a28576064830480800193908410610a14578284810311610a145760405163a9059cbb60e01b81526001600160a01b0386166004820152606482046024820152602081806044810103818a6064356001600160a01b03165af1908115610a095787916109cf575b50156109985760045486959060101c6001600160a01b0316803b1561039c57604051631facad4560e11b81526004803563ffffffff1690820152606480356001600160a01b0390811660248401529390931660448201528284049281019290925286908290608490829084905af190811561093e578691610984575b5050604082810151905163095ea7b360e01b81526001600160a01b03909116600482015260648204602482015260208180604481010381896064356001600160a01b03165af1801561093e578690610949575b6107379150611ab1565b60408201516001600160a01b0316803b15610922576040516307f740eb60e21b81526004803563ffffffff1690820152606480356001600160a01b031660248301528084046044830152909187918391829084905af190811561093e578691610926575b505060045460409092015160109290921c6001600160a01b039081169216823b1561092257604051631facad4560e11b81526004803563ffffffff1690820152606480356001600160a01b03908116602484015292909216604482015291819004908201529084908290608490829084905af190811561090357849161090e575b50506064356001600160a01b03163b156108ff57604051630852cd8d60e31b815282820360048201528381602481836064356001600160a01b03165af19081156109035784916108eb575b505060045460101c6001600160a01b031691823b156108e65760648492836040519586948593631ef3698760e11b855263ffffffff60043516600486015260018060a01b0386351660248601520360448401525af180156108db576108cb57505080f35b6108d4906116ac565b6100f25780f35b6040513d84823e3d90fd5b505050fd5b6108f4906116ac565b6108ff578238610867565b5050fd5b6040513d86823e3d90fd5b610917906116ac565b6108ff57823861081c565b8580fd5b61092f906116ac565b61093a57843861079b565b8480fd5b6040513d88823e3d90fd5b506020813d60201161097c575b81610963602093836116da565b8101031261092257610977610737916119cc565b61072d565b3d9150610956565b61098d906116ac565b61093a5784386106da565b60405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b90506020813d602011610a01575b816109ea602093836116da565b8101031261039c576109fb906119cc565b3861065e565b3d91506109dd565b6040513d89823e3d90fd5b634e487b7160e01b86526011600452602486fd5b634e487b7160e01b85526011600452602485fd5b60405163095ea7b360e01b81526064356001600160a01b031660048201526024810184905291949391906020908290604490829089905af18015610b8a578590610b95575b610a8b9150611ab1565b60408101516001600160a01b039081169390606435163b1561093a576040519363de764d2160e01b8552836004860152602485015263ffffffff60043516604485015260018060a01b03169283606482015284816084818360018060a01b03606435165af1908115610b8a578591610b76575b50506004546040909101516001600160a01b039081169160101c16803b1561093a5784928360a4926040519687958694630fabb2b560e31b865260018060a01b036064351660048701526024860152604485015263ffffffff60043516606485015260848401525af180156108db576108cb57505080f35b610b7f906116ac565b6108e6578338610afe565b6040513d87823e3d90fd5b506020813d602011610bc8575b81610baf602093836116da565b8101031261093a57610bc3610a8b916119cc565b610a81565b3d9150610ba2565b610bdc909491946116ac565b92386105ca565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b6044820152606490fd5b90506020813d602011610c52575b81610c3b602093836116da565b8101031261093a57610c4c906119cc565b3861054f565b3d9150610c2e565b60405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e74205265736572766520546f6b656e0000000000006044820152606490fd5b9150506020813d602011610ccc575b81610cbb602093836116da565b8101031261092257829051386104fe565b3d9150610cae565b516002811015610d0b57600114610cec575b506104b1565b6102400151610d05906001600160a01b0316301461178f565b38610ce6565b634e487b7160e01b85526021600452602485fd5b634e487b7160e01b86526021600452602486fd5b3d91508185823e610d4482826116da565b602081838101031261093a578051906001600160401b03821161092257610b8082820184830103126109225760405192836103e08101106001600160401b036103e0860111176113a3576103e08401604052610da1838301611739565b8452602083830101516001600160401b03811161139b57610dc99082840190858501016117ca565b6020850152604083830101516001600160401b03811161139b5760408185850101838501031261139b5760405190610e008261167b565b8085850101516001600160401b03811161139f57610e279084860190838888010101611851565b8252602081868601010151906001600160401b03821161139f57610e5391848601918787010101611851565b602082015260408501528183016060818101519086015260800151600281101561139b57608085015260a083830101516001600160401b03811161139b57610ea29082840190858501016117ca565b60a085015260c083830101516001600160401b03811161139b57610ecd9082840190858501016117ca565b60c085015281830160e0818101519086015261010001516001600160401b03811161139b57610f0390828401908585010161192f565b61010085015261012083830101516001600160401b03811161139b57610f3090828401908585010161192f565b61012085015260c08284018284010361013f19011261039c576040518060c08101106001600160401b0360c0830111176113875760c08101604052610f7a610140858501016119cc565b8152610f8b610160858501016119d9565b6020820152610f9f610180858501016119d9565b6040820152610fb36101a0858501016119cc565b6060820152610fc76101c0858501016119d9565b6080820152610fdb6101e0858501016119d9565b60a0820152610140850152610ff5610200848401016119cc565b610160850152818301610220810151610180860152610240808201516101a0870152906110259061026001611739565b6101c086015261103a61028085850101611739565b6101e086015261104f6102a085850101611739565b6102008601526110646102c0858501016119cc565b6102208601526110796102e085850101611739565b9085015261030083830101516001600160401b03811161139b576110a49082840190858501016119ea565b61026085015261032083830101516001600160401b03811161139b576110d19082840190858501016119ea565b61028085015261034083830101516001600160401b03811161139b576110fe9082840190858501016119ea565b6102a085015261111681830161036085850101611a50565b6102c085015261112e8183016103a085850101611a50565b6102e08501526111468183016103e085850101611a50565b61030085015261115e81830161042085850101611a50565b6103208501526106608284018284010361045f19011261039c57604051806102208101106001600160401b036102208301111761138757610b609392918161022061137293016040526111b982850161046087870101611a7f565b81526111cd8285016104c087870101611a7f565b60208201526111e482850161052087870101611a7f565b60408201526111fb82850161058087870101611a7f565b60608201526112128285016105e087870101611a7f565b608082015261122982850161064087870101611a7f565b60a08201526112408285016106a087870101611a7f565b60c082015261125782850161070087870101611a7f565b60e082015261126e82850161076087870101611a7f565b6101008201526112868285016107c087870101611a7f565b61012082015261129e82850161082087870101611a7f565b6101408201526112b682850161088087870101611a7f565b6101608201526112ce8285016108e087870101611a7f565b6101808201526112e682850161094087870101611a7f565b6101a08201526112fe8285016109a087870101611a7f565b6101c0820152611316828501610a0087870101611a7f565b6101e082015261132e828501610a6087870101611a7f565b610200820152610340870152611349610ac0858501016119d9565b61036087015261135e610ae0858501016119cc565b6103808701528201610b008484010161174d565b6103a08501520101516103c082015238610483565b634e487b7160e01b88526041600452602488fd5b8780fd5b8980fd5b634e487b7160e01b87526041600452602487fd5b60405162461bcd60e51b815260206004820152601760248201527f4163636f756e7473204e6f7420436f6e666967757265640000000000000000006044820152606490fd5b90506103e03d6103e01161164f575b61141581836116da565b81016103e08282031261164b57604051916103a0918284018481106001600160401b038211176113a357604052611641916103c09161145382611739565b865261146160208301611739565b602087015261147260408301611739565b604087015261148360608301611739565b606087015261149460808301611739565b60808701526114a560a08301611739565b60a08701526114b660c08301611739565b60c08701526114c760e08301611739565b60e08701526101006114da818401611739565b908701526101206114ec818401611739565b908701526101406114fe818401611739565b90870152610160611510818401611739565b90870152610180611522818401611739565b908701526115356101a09182840161174d565b9086015261020093611548858301611739565b6101c087015261163761022091611560838501611739565b6101e089015261024096611575888601611739565b9089015261026092838501519089015261028096611594888601611739565b908901526102a0926115a7848601611739565b908901526102c0966115ba888601611739565b908901526102e0926115cd848601611739565b90890152610300966115e0888601611739565b90890152610320926115f3848601611739565b9089015261034096611606888601611739565b9089015261036092611619848601611739565b908901526103809661162c888601611739565b908901528301611739565b9086015201611739565b9082015238610415565b8380fd5b503d61140b565b6040513d85823e3d90fd5b8280fd5b604435906001600160a01b038216820361039757565b604081019081106001600160401b0382111761169657604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b03811161169657604052565b60a081019081106001600160401b0382111761169657604052565b90601f801991011681019081106001600160401b0382111761169657604052565b1561170257565b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fd5b51906001600160a01b038216820361039757565b919082606091031261039757604051606081018181106001600160401b0382111761169657604052604080829480518452602081015160208501520151910152565b1561179657565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b919080601f84011215610397578251906001600160401b0382116116965760405191602091611802601f8301601f19168401856116da565b8184528282870101116103975760005b81811061182757508260009394955001015290565b8581018301518482018401528201611812565b6001600160401b0381116116965760051b60200190565b81601f82011215610397578051916118688361183a565b9261187660405194856116da565b808452602092838086019260051b820101928311610397578301905b8282106118a0575050505090565b81518152908301908301611892565b9080601f83011215610397578151906118c78261183a565b926118d560405194856116da565b828452602092838086019160051b8301019280841161039757848301915b8483106119035750505050505090565b82516001600160401b038111610397578691611924848480948901016117ca565b8152019201916118f3565b91909160808184031261039757604051906001600160401b03906080830182811184821017611696576040528294815183811161039757816119729184016118af565b84526020820151838111610397578161198c918401611851565b6020850152604082015183811161039757816119a99184016118af565b60408501526060820151928311610397576060926119c79201611851565b910152565b5190811515820361039757565b519063ffffffff8216820361039757565b81601f8201121561039757805191611a018361183a565b92611a0f60405194856116da565b808452602092838086019260051b820101928311610397578301905b828210611a39575050505090565b838091611a4584611739565b815201910190611a2b565b919082604091031261039757604051611a688161167b565b6020808294611a7681611739565b84520151910152565b91906060838203126103975760206119c760405192611a9d8461167b565b828496611aa9816119cc565b865201611a50565b15611ab857565b60405162461bcd60e51b815260206004820152600e60248201526d105c1c1c9bdd994819985a5b195960921b6044820152606490fd5b81810292918115918404141715611b0157565b634e487b7160e01b600052601160045260246000fd5b8115611b21570490565b634e487b7160e01b600052601260045260246000fd5b519061ffff8216820361039757565b90916001600160a01b03918216908216818114611d1c578260015416602062ffffff60646003546040519485938492630b4c774160e11b845289600485015288602485015260a01c1660448301525afa8015611ccb578491600091611ce1575b5016918215611cd75760e060049360405194858092633850c7bd851b82525afa928315611ccb57600093611c3c575b501015611bfb57611bf59291611bed91168092611aee565b60601c611aee565b60601c90565b8260601b91600160601b93808404851490151715611b0157611c1f91168092611b17565b8060601b928184041490151715611b0157611c3991611b17565b90565b60e0939193813d8211611cc3575b81611c5760e093836116da565b810103126103a05780519185831683036100f25760208201518060020b036100f257611c8560408301611b37565b50611c9260608301611b37565b50611c9f60808301611b37565b5060a082015160ff8116036100f2575060c0611cbb91016119cc565b509138611bd5565b3d9150611c4a565b6040513d6000823e3d90fd5b5050505050600090565b91506020823d8211611d14575b81611cfb602093836116da565b810103126100f25750611d0e8491611739565b38611ba6565b3d9150611cee565b5050509056fea2646970667358221220ead13292d45fc0992638b6d5be45600dcc7e4aab305a5177ad2830d2dee9969964736f6c63430008120033"; type DonationMatchConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatch.sol/SubdaoToken__factory.ts b/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatch.sol/SubdaoToken__factory.ts index 96d3f1c17..7030c8f28 100644 --- a/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatch.sol/SubdaoToken__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatch.sol/SubdaoToken__factory.ts @@ -14,22 +14,22 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { internalType: "address", - name: "curAccountscontract", + name: "accountscontract", type: "address", }, { - internalType: "uint256", - name: "curEndowmentid", - type: "uint256", + internalType: "uint32", + name: "endowmentid", + type: "uint32", }, { internalType: "address", - name: "curDonor", + name: "donor", type: "address", }, ], diff --git a/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/DonationMatchCharity__factory.ts b/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/DonationMatchCharity__factory.ts index 24c47b4b6..c14eb1245 100644 --- a/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/DonationMatchCharity__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/DonationMatchCharity__factory.ts @@ -15,9 +15,9 @@ const _abi = [ inputs: [ { indexed: false, - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { indexed: false, @@ -46,9 +46,9 @@ const _abi = [ inputs: [ { indexed: false, - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { indexed: false, @@ -71,9 +71,9 @@ const _abi = [ inputs: [ { indexed: false, - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { indexed: false, @@ -126,9 +126,9 @@ const _abi = [ }, { indexed: false, - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { indexed: false, @@ -202,9 +202,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { internalType: "uint256", @@ -258,7 +258,7 @@ const _abi = [ }, ], internalType: "struct DonationMatchMessages.InstantiateMessage", - name: "curDetails", + name: "details", type: "tuple", }, ], @@ -310,7 +310,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001b576001600555611d5d90816100218239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c908163d5780e861461130157508063d61e991b146100f55763e68f909d1461004257600080fd5b346100f257806003193601126100f2578060a0916080604051610064816115a9565b8281528260208201528260408201528260608201520152604051610087816115a9565b600180841b0380925416918282528060015416906020830191825280600254169260408101938452816003549481608060608501948289168652019562ffffff80988b1c16875260405198895251166020880152511660408601525116606084015251166080820152f35b80fd5b50346100f25760803660031901126100f25761010f61165f565b6064356001600160a01b0381169003610583576002600554146112bc57600260055560035460405163e68f909d60e01b815291908390839060049082906001600160a01b03165afa9182156112b1578392610fb0575b5060608201516001600160a01b031615610f6b5761019060018060a01b0360608401511633146117e3565b60608201516040516354f3ce9960e01b81526004803590820152908490829060249082906001600160a01b03165afa908115610f6057849161094d575b5060e081015160048110156109085760016101e891146117e3565b6080810180516003811015610939571561091c575b516003811015610908576001146108e9575b5060025483546001600160a01b0390811692916102329184916024359116611b4b565b926040516370a0823160e01b81523060048201526020908181602481885afa80156105e557869188916108b8575b50106108745760405163095ea7b360e01b8082526001600160a01b039095166004820152602481018690528181806044810103818a6064356001600160a01b03165af19081156105e557879161083b575b50156107ff5785546040805160043581526001600160a01b036064358116602083015290921690820181905260608201879052907fedeb689ce41cb76bb0bd501ef98ddd3cc7bd27e0b41be0f39709795b1993850c90608090a16064356001600160a01b03168103610668575060288502858104602814861517156106405760649004938480018086116106545786039586116106405760405163a9059cbb60e01b81526001600160a01b038516600482015260248101869052938285806044810103818b6064356001600160a01b03165af19485156106355786956105f0575b506040805160043581526001600160a01b0360643581166020830152929092169082015260608101959095527fe08c6dab400dfe0cee41f683992822c6ce9cbeb122367a85454ed1d64bc60f649484929182918790608090a160608501516040519182526001600160a01b03166004820152602481019390935282806044810103818a6064356001600160a01b03165af19081156105e55787916105aa575b5061043c9150611ab6565b606081015185906001600160a01b0316803b1561058357816040518092630b49b2f360e11b82528183816104928a606435600435600485016040919493926060820195825260018060a01b031660208201520152565b03925af1801561058757610592575b50506060908101516040805160043581526001600160a01b03606435811660208301529092169082015290810191909152608090a16064356001600160a01b03163b1561058357604051630852cd8d60e31b81526004810182905282908181602481836064356001600160a01b03165af180156105875761056f575b50506040805160043581526064356001600160a01b03166020820152908101919091527f01ed2ab8a0c422973a1721262a1a2033bb911abbbd79675337c55bdf45fd001590606090a15b600160055580f35b610578906115f5565b61058357813861051d565b5080fd5b6040513d84823e3d90fd5b61059b906115f5565b6105a65784386104a1565b8480fd5b905081813d83116105de575b6105c0818361163e565b810103126105da576105d461043c9161177b565b38610431565b8580fd5b503d6105b6565b6040513d89823e3d90fd5b90928092955081813d831161062e575b61060a818361163e565b8101031261062a5785948593610620849361177b565b5091509192610392565b8780fd5b503d610600565b6040513d8a823e3d90fd5b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526011600452602488fd5b6040519485526064356001600160a01b031660048601526024850186905290949293908590829060449082908a905af180156107be5786906107c9575b6106af9150611ab6565b60608101516001600160a01b039081169390606435163b156105da5760405193638ea692ef60e01b85528360048601526024850152600435604485015260018060a01b03169283606482015285816084818360018060a01b03606435165af180156107be57610782575b50917f4bcd87201f9a0aabc969c069cd1b657057cf2f636ebe7a36bae9479ce7a21f57939160c093606060018060a01b0391015116906040519330855260018060a01b03606435169085015260408401526060830152600435608083015260a0820152a1610567565b9160c09391956107b37f4bcd87201f9a0aabc969c069cd1b657057cf2f636ebe7a36bae9479ce7a21f5796946115f5565b959193509193610719565b6040513d88823e3d90fd5b508481813d83116107f8575b6107df818361163e565b810103126105da576107f36106af9161177b565b6106a5565b503d6107d5565b6064906040519062461bcd60e51b825260048201526015602482015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b6044820152fd5b90508181813d831161086d575b610852818361163e565b81010312610869576108639061177b565b386102b1565b8680fd5b503d610848565b6064906040519062461bcd60e51b82526004820152601a60248201527f496e73756666696369656e74205265736572766520546f6b656e0000000000006044820152fd5b809250838092503d83116108e2575b6108d1818361163e565b810103126108695785905138610260565b503d6108c7565b6102a00151610902906001600160a01b031630146117e3565b3861020f565b634e487b7160e01b85526021600452602485fd5b61093460018060a01b036101808601511630146117e3565b6101fd565b634e487b7160e01b86526021600452602486fd5b3d91508185823e61095e828261163e565b60208183810103126105a6578051906001600160401b0382116105da5761112082820184830103126105da576040519261044084018481106001600160401b03821117610f48576040526109b38383016116b8565b8452602083830101516001600160401b03811161062a576109db90828401908585010161181e565b6020850152604083830101516001600160401b03811161062a5760408185850101838501031261062a5760405190610a12826115da565b8085850101516001600160401b038111610f5c57610a39908486019083888801010161188e565b8252602081868601010151906001600160401b038211610f5c57610a659184860191878701010161188e565b602082015260408501528183016060818101519086015260800151600381101561062a57608085015260a083830101516001600160401b03811161062a57610ab490828401908585010161181e565b60a085015260c083830101516001600160401b03811161062a57610adf90828401908585010161181e565b60c085015260e08383010151600481101561062a5760e0850152610b086101008484010161177b565b610100850152610b1d6101208484010161177b565b610120850152818301610140818101519086015261016001516001600160401b03811161062a57610b5590828401908585010161196c565b61016085015261018083830101516001600160401b03811161062a57610b8290828401908585010161196c565b610180850152610b9a8183016101a085850101611788565b6101a0850152610baf6102408484010161177b565b6101c08501528183016102608101516101e08601526102808101516102008601526102a0810151610220860152610be9906102c0016116b8565b610240850152610bfe6102e0848401016116b8565b610260850152610c136103008484010161177b565b610280850152610c28610320848401016116b8565b6102a085015261034083830101516001600160401b03811161062a57610c55908284019085850101611715565b6102c085015261036083830101516001600160401b03811161062a57610c82908284019085850101611715565b6102e085015261038083830101516001600160401b03811161062a57610caf908284019085850101611715565b610300850152610cc78183016103a085850101611a00565b610320850152610cdf81830161040085850101611a00565b610340850152610cf781830161046085850101611a00565b610360850152610d0f8183016104c085850101611a00565b610380850152610b408284018284010361051f19011261086957604051806102408101106001600160401b0361024083011117610f485761110093929181610240610f339301604052610d6a82850161052087870101611a3b565b8152610d7e8285016105c087870101611a3b565b6020820152610d9582850161066087870101611a3b565b6040820152610dac82850161070087870101611a3b565b6060820152610dc38285016107a087870101611a3b565b6080820152610dda82850161084087870101611a3b565b60a0820152610df18285016108e087870101611a3b565b60c0820152610e0882850161098087870101611a3b565b60e0820152610e1f828501610a2087870101611a3b565b610100820152610e37828501610ac087870101611a3b565b610120820152610e4f828501610b6087870101611a3b565b610140820152610e67828501610c0087870101611a3b565b610160820152610e7f828501610ca087870101611a3b565b610180820152610e97828501610d4087870101611a3b565b6101a0820152610eaf828501610de087870101611a3b565b6101c0820152610ec7828501610e8087870101611a3b565b6101e0820152610edf828501610f2087870101611a3b565b610200820152610ef7828501610fc087870101611a3b565b6102208201526103a08701528284016110608101516103c0880152610f1f906110800161177b565b6103e087015282016110a0848401016116cc565b610400850152010151610420820152386101cd565b634e487b7160e01b88526041600452602488fd5b8980fd5b6040513d86823e3d90fd5b60405162461bcd60e51b815260206004820152601760248201527f4163636f756e7473204e6f7420436f6e666967757265640000000000000000006044820152606490fd5b9091503d8084833e610fc2818361163e565b8101906020818303126112ad5780516001600160401b03918282116105da5701906104e0828403126105a657604051926104209283850185811084821117610f4857604052611010816116b8565b855261101e602082016116b8565b602086015261102f604082016116b8565b6040860152611040606082016116b8565b6060860152611051608082016116b8565b608086015261106260a082016116b8565b60a086015261107360c082016116b8565b60c086015261108460e082016116b8565b60e08601526101006110978183016116b8565b908601526101206110a98183016116b8565b908601526101406110bb8183016116b8565b908601526101606110cd8183016116b8565b908601526101806110df8183016116b8565b908601526101a06110f18183016116b8565b908601526101c0611104838284016116cc565b90860152610220916111178383016116b8565b6101e087015261024061112b8184016116b8565b610200880152610260936111408585016116b8565b90880152610280906111538285016116b8565b908801526102a09384840151908801526102c0906111728285016116b8565b908801526102e0808401518681116112a9578401946020868503126112a957604051906020820182811089821117611295576040528651978811611291576111c285611286996104c09901611715565b8252890152610300916111d68386016116b8565b908901526111e961032093848601611788565b908801526103c0906111fc8285016116b8565b908801526103e09161120f8385016116b8565b90880152611232610400966112258886016116b8565b6103408a015284016116b8565b61036088015261124561044084016116b8565b61038088015261125861046084016116b8565b6103a088015261126b61048084016116b8565b9087015261127c6104a083016116b8565b90860152016116b8565b908201529038610165565b8b80fd5b634e487b7160e01b8d52604160045260248dfd5b8a80fd5b8380fd5b6040513d85823e3d90fd5b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b9050346105835760a03660031901126105835761131d816115a9565b6001600160a01b0360043581811681036112ad57825260243581811681036112ad576020830190815261134e61165f565b90604084019182526064359162ffffff908184168403610869576060860193845260843590858216820361062a576080870191825260045460ff8160081c16159788809961159c575b8015611585575b156115295760ff198216600117600455879189611517575b506113c582825116151561167a565b51169386806bffffffffffffffffffffffff60a01b9287848d5416178c556113f182825116151561167a565b5116928383600154161760015561140c82825116151561167a565b5116916003549785885116156114e4577f123a176064b6b36c0c200b28dbf437f6f42bd518b6f192505920e49ad5cd33dc988460c09962ffffff60a01b905160a01b169168ffffffffffffffffff60b81b161717948560035561147382825116151561167a565b51168092600254161760025560405195308752602087015260408601526060850152608084015260a01c1660a0820152a16114ab5780f35b61ff0019600454166004557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b60405162461bcd60e51b815260206004820152600b60248201526a496e76616c69642046656560a81b6044820152606490fd5b61ffff191661010117600455386113b6565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561139e5750600160ff83161461139e565b50600160ff831610611397565b60a081019081106001600160401b038211176115c457604052565b634e487b7160e01b600052604160045260246000fd5b604081019081106001600160401b038211176115c457604052565b6001600160401b0381116115c457604052565b606081019081106001600160401b038211176115c457604052565b608081019081106001600160401b038211176115c457604052565b90601f801991011681019081106001600160401b038211176115c457604052565b604435906001600160a01b038216820361167557565b600080fd5b1561168157565b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fd5b51906001600160a01b038216820361167557565b9190826060910312611675576040516116e481611608565b604080829480518452602081015160208501520151910152565b6001600160401b0381116115c45760051b60200190565b81601f820112156116755780519161172c836116fe565b9261173a604051948561163e565b808452602092838086019260051b820101928311611675578301905b828210611764575050505090565b838091611770846116b8565b815201910190611756565b5190811515820361167557565b91908260a0910312611675576040516117a0816115a9565b60808082946117ae8161177b565b84526117bc6020820161177b565b6020850152604081015160408501526117d76060820161177b565b60608501520151910152565b156117ea57565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b919080601f84011215611675578251906001600160401b0382116115c45760405191602091611856601f8301601f191684018561163e565b8184528282870101116116755760005b81811061187b57508260009394955001015290565b8581018301518482018401528201611866565b81601f82011215611675578051916118a5836116fe565b926118b3604051948561163e565b808452602092838086019260051b820101928311611675578301905b8282106118dd575050505090565b815181529083019083016118cf565b9080601f8301121561167557815190611904826116fe565b92611912604051948561163e565b828452602092838086019160051b8301019280841161167557848301915b8483106119405750505050505090565b82516001600160401b0381116116755786916119618484809489010161181e565b815201920191611930565b9190608083820312611675576040519061198582611623565b81938051916001600160401b039283811161167557816119a69184016118ec565b8452602082015183811161167557816119c091840161188e565b6020850152604082015183811161167557816119dd9184016118ec565b60408501526060820151928311611675576060926119fb920161188e565b910152565b919082606091031261167557604051611a1881611608565b60406119fb818395611a29816116b8565b8552602081015160208601520161177b565b809291039160a0831261167557604051611a5481611623565b60408194611a618461177b565b8352611a6f6020850161177b565b6020840152611a7f82850161177b565b83830152605f19011261167557606090608060405193611a9e856115da565b611aa98482016116b8565b8552015160208401520152565b15611abd57565b60405162461bcd60e51b815260206004820152600e60248201526d105c1c1c9bdd994819985a5b195960921b6044820152606490fd5b81810292918115918404141715611b0657565b634e487b7160e01b600052601160045260246000fd5b8115611b26570490565b634e487b7160e01b600052601260045260246000fd5b519061ffff8216820361167557565b90916001600160a01b03918216908216818114611d21578260015416602062ffffff60646003546040519485938492630b4c774160e11b845289600485015288602485015260a01c1660448301525afa8015611cd0578491600091611ce6575b5016918215611cdc5760e060049360405194858092633850c7bd851b82525afa928315611cd057600093611c41575b501015611c0057611bfa9291611bf291168092611af3565b60601c611af3565b60601c90565b8260601b91600160601b93808404851490151715611b0657611c2491168092611b1c565b8060601b928184041490151715611b0657611c3e91611b1c565b90565b60e0939193813d8211611cc8575b81611c5c60e0938361163e565b810103126105835780519185831683036100f25760208201518060020b036100f257611c8a60408301611b3c565b50611c9760608301611b3c565b50611ca460808301611b3c565b5060a082015160ff8116036100f2575060c0611cc0910161177b565b509138611bda565b3d9150611c4f565b6040513d6000823e3d90fd5b5050505050600090565b91506020823d8211611d19575b81611d006020938361163e565b810103126100f25750611d1384916116b8565b38611bab565b3d9150611cf3565b5050509056fea26469706673582212209918ad158225c3a569e9d662cd24af0a896c4a264bd1c8c5a29558382254316264736f6c63430008120033"; + "0x6080806040523461001b576001600555611ca690816100218239f35b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c908163cfcb6c5b146103ae57508063d5780e86146100f55763e68f909d1461004257600080fd5b346100f257806003193601126100f2578060a09160806040516100648161160d565b82815282602082015282604082015282606082015201526040516100878161160d565b600180841b0380925416918282528060015416906020830191825280600254169260408101938452816003549481608060608501948289168652019562ffffff80988b1c16875260405198895251166020880152511660408601525116606084015251166080820152f35b80fd5b50346100f25760a03660031901126100f2576040516101138161160d565b6001600160a01b0360043581811681036103a55782526024359080821682036103a557602083019182526101456115b3565b90604084019182526064359262ffffff9081851685036103aa57606086019485526084359083821682036103a5576080870191825260045460ff8160081c161597888099610398575b8015610381575b156103255760ff1982166001176004558591829182918b610313575b506101c0828251161515611649565b5116926bffffffffffffffffffffffff60a01b93848c5416178b556101e9828251161515611649565b51169586836001541617600155610204828251161515611649565b5116906003549584885116156102e0578560c097847f123a176064b6b36c0c200b28dbf437f6f42bd518b6f192505920e49ad5cd33dc9a62ffffff60a01b905160a01b169168ffffffffffffffffff60b81b161717948560035561026c828251161515611649565b511680926002541617600255604051953087528a5416602087015260408601526060850152608084015260a01c1660a0820152a16102a75780f35b61ff0019600454166004557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a180f35b60405162461bcd60e51b815260206004820152600b60248201526a496e76616c69642046656560a81b6044820152606490fd5b61ffff191661010117600455386101b1565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156101955750600160ff831614610195565b50600160ff83161061018e565b600080fd5b8680fd5b9050346108665760803660031901126108665763ffffffff6004351660043503610866576103da6115b3565b906064356001600160a01b03811690036115af5760026005541461156d5750600260055560035460405163e68f909d60e01b815291906103e090839060049082906001600160a01b03165afa9182156115625783926112f3575b5060408201516001600160a01b0316156112ae5761045f60018060a01b0360408401511633146116dd565b60408281015190516364ce479160e11b81526004803563ffffffff1690820152908490829060249082906001600160a01b03165afa9081156112a3578491610c2f575b506080810180516002811015610c1b57610bd05750506104d060018060a01b036101608401511630146116dd565b60025483546001600160a01b0390811693916104f29185916024359116611a94565b926040516370a0823160e01b8152306004820152602081602481855afa80156108cc5785918791610b9b575b5010610b565760405163095ea7b360e01b81526001600160a01b0390911660048201526024810184905260208180604481010381886064356001600160a01b03165af1908115610a99578591610b1c575b5015610adf5783546040805160043563ffffffff1681526001600160a01b036064358116602083015290921690820181905260608201859052907f4a3ad0dbd85a4cac2e1c00b96464bc06036951251508d9b62ca51b886caaaff790608090a16064356001600160a01b0316810361093b57509060288302838104602814841517156109135760649004918280018084116109275784039384116109135760405163a9059cbb60e01b81526001600160a01b0383166004820152602481018490529160208380604481010381896064356001600160a01b03165af19283156108cc5784936108d7575b506040805163ffffffff6004351681526001600160a01b0360643581166020830152929092169082015260608101939093527ff8277fe14d65517ce640ccce16352b0e58a41454407dc2268b071132222065e2928390608090a1604081810151905163095ea7b360e01b81526001600160a01b0390911660048201526024810183905260208180604481010381896064356001600160a01b03165af180156108cc57869061088d575b61070b91506119ff565b604081015185906001600160a01b0316803b15610866578160405180926307f740eb60e21b82528183816107678a6064356004356004850160409194939263ffffffff606083019616825260018060a01b031660208201520152565b03925af1801561086a57610875575b5050604090810151815160043563ffffffff1681526001600160a01b0360643581166020830152909116918101919091526060810191909152608090a16064356001600160a01b03163b1561086657604051630852cd8d60e31b81526004810182905282908181602481836064356001600160a01b03165af1801561086a57610852575b50506040805160043563ffffffff1681526064356001600160a01b03166020820152908101919091527fda9b11b27beb64dea29f65d97a0e9490c9bb41bbf5e75535ebfc8c246cf7e61b90606090a15b600160055580f35b61085b906115fa565b6108665781386107fa565b5080fd5b6040513d84823e3d90fd5b61087e906115fa565b610889578438610776565b8480fd5b506020813d6020116108c4575b816108a760209383611628565b810103126108c0576108bb61070b9161191a565b610701565b8580fd5b3d915061089a565b6040513d88823e3d90fd5b92506020833d60201161090b575b816108f260209383611628565b810103126108c057610904849361191a565b5038610658565b3d91506108e5565b634e487b7160e01b85526011600452602485fd5b634e487b7160e01b86526011600452602486fd5b60405163095ea7b360e01b81526064356001600160a01b0316600482015260248101859052906020908290604490829089905af18015610a99578590610aa4575b61098691506119ff565b60408101516001600160a01b039081169290606435163b15610889576040519263de764d2160e01b8452846004850152602484015263ffffffff60043516604484015260018060a01b03169182606482015284816084818360018060a01b03606435165af18015610a9957610a5f575b5060409081015181513081526001600160a01b03606435811660208301529281019490945216606083015263ffffffff60043516608083015260a08201527f47adb03c0fd8d6563b7649bdf746d6ec42aa57fff4e14d543fdef3474a5de4b49060c090a161084a565b917f47adb03c0fd8d6563b7649bdf746d6ec42aa57fff4e14d543fdef3474a5de4b4939194610a8f60c0946115fa565b94919350916109f6565b6040513d87823e3d90fd5b506020813d602011610ad7575b81610abe60209383611628565b8101031261088957610ad26109869161191a565b61097c565b3d9150610ab1565b60405162461bcd60e51b8152602060048201526015602482015274151bdad95b881d1c985b9cd9995c8819985a5b1959605a1b6044820152606490fd5b90506020813d602011610b4e575b81610b3760209383611628565b8101031261088957610b489061191a565b3861056f565b3d9150610b2a565b60405162461bcd60e51b815260206004820152601a60248201527f496e73756666696369656e74205265736572766520546f6b656e0000000000006044820152606490fd5b9150506020813d602011610bc8575b81610bb760209383611628565b810103126108c0578490513861051e565b3d9150610baa565b516002811015610c0757600114610be8575b506104d0565b6102400151610c01906001600160a01b031630146116dd565b38610be2565b634e487b7160e01b85526021600452602485fd5b634e487b7160e01b86526021600452602486fd5b3d91508185823e610c408282611628565b6020818381010312610889578051906001600160401b0382116108c057610b8082820184830103126108c05760405192836103e08101106001600160401b036103e08601111761128f576103e08401604052610c9d838301611687565b8452602083830101516001600160401b03811161128757610cc5908284019085850101611718565b6020850152604083830101516001600160401b038111611287578383010160408183850103126112875760405190610cfc826115c9565b80516001600160401b03811161128b57610d1b9084860190830161179f565b82526020810151906001600160401b03821161128b57610d3f91848601910161179f565b602082015260408501528183016060818101519086015260800151600281101561128757608085015260a083830101516001600160401b03811161128757610d8e908284019085850101611718565b60a085015260c083830101516001600160401b03811161128757610db9908284019085850101611718565b60c085015281830160e0818101519086015261010001516001600160401b03811161128757610def90828401908585010161187d565b61010085015261012083830101516001600160401b03811161128757610e1c90828401908585010161187d565b61012085015260c08284018284010361013f1901126103aa576040518060c08101106001600160401b0360c0830111176112735760c08101604052610e666101408585010161191a565b8152610e7761016085850101611927565b6020820152610e8b61018085850101611927565b6040820152610e9f6101a08585010161191a565b6060820152610eb36101c085850101611927565b6080820152610ec76101e085850101611927565b60a0820152610140850152610ee16102008484010161191a565b6101608501528183016102208101516101808601526102408101516101a0860152610f0f9061026001611687565b6101c0850152610f2461028084840101611687565b6101e0850152610f396102a084840101611687565b610200850152610f4e6102c08484010161191a565b610220850152610f636102e084840101611687565b61024085015261030083830101516001600160401b03811161128757610f90908284019085850101611938565b61026085015261032083830101516001600160401b03811161128757610fbd908284019085850101611938565b61028085015261034083830101516001600160401b03811161128757610fea908284019085850101611938565b6102a08501526110028183016103608585010161199e565b6102c085015261101a8183016103a08585010161199e565b6102e08501526110328183016103e08585010161199e565b61030085015261104a8183016104208585010161199e565b6103208501526106608284018284010361045f1901126103aa57604051806102208101106001600160401b036102208301111761127357610b609392918161022061125e93016040526110a5828501610460878701016119cd565b81526110b98285016104c0878701016119cd565b60208201526110d0828501610520878701016119cd565b60408201526110e7828501610580878701016119cd565b60608201526110fe8285016105e0878701016119cd565b6080820152611115828501610640878701016119cd565b60a082015261112c8285016106a0878701016119cd565b60c0820152611143828501610700878701016119cd565b60e082015261115a828501610760878701016119cd565b6101008201526111728285016107c0878701016119cd565b61012082015261118a828501610820878701016119cd565b6101408201526111a2828501610880878701016119cd565b6101608201526111ba8285016108e0878701016119cd565b6101808201526111d2828501610940878701016119cd565b6101a08201526111ea8285016109a0878701016119cd565b6101c0820152611202828501610a00878701016119cd565b6101e082015261121a828501610a60878701016119cd565b610200820152610340870152611235610ac085850101611927565b61036087015261124a610ae08585010161191a565b6103808701528201610b008484010161169b565b6103a08501520101516103c0820152386104a2565b634e487b7160e01b88526041600452602488fd5b8780fd5b8980fd5b634e487b7160e01b87526041600452602487fd5b6040513d86823e3d90fd5b60405162461bcd60e51b815260206004820152601760248201527f4163636f756e7473204e6f7420436f6e666967757265640000000000000000006044820152606490fd5b9091506103e03d6103e01161155b575b61130d8183611628565b8101906103e08183031261155757604051916103a083018381106001600160401b038211176115435760405261134282611687565b835261135060208301611687565b602084015261136160408301611687565b604084015261137260608301611687565b606084015261138360808301611687565b608084015261139460a08301611687565b60a08401526113a560c08301611687565b60c08401526113b660e08301611687565b60e08401526101006113c9818401611687565b908401526101206113db818401611687565b908401526101406113ed818401611687565b908401526101606113ff818401611687565b90840152610180611411818401611687565b908401526114246101a09182840161169b565b908301526115386103c06102009261143d848201611687565b6101c0860152610220611451818301611687565b6101e087015261024094611466868401611687565b9087015261026090818301519087015261028094611485868401611687565b908701526102a090611498828401611687565b908701526102c0946114ab868401611687565b908701526102e0906114be828401611687565b90870152610300946114d1868401611687565b90870152610320906114e4828401611687565b90870152610340946114f7868401611687565b908701526103609061150a828401611687565b908701526103809461151d868401611687565b9087015261152e6103a08301611687565b9086015201611687565b908201529038610434565b634e487b7160e01b86526041600452602486fd5b8380fd5b503d611303565b6040513d85823e3d90fd5b62461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b8280fd5b604435906001600160a01b03821682036103a557565b604081019081106001600160401b038211176115e457604052565b634e487b7160e01b600052604160045260246000fd5b6001600160401b0381116115e457604052565b60a081019081106001600160401b038211176115e457604052565b90601f801991011681019081106001600160401b038211176115e457604052565b1561165057565b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fd5b51906001600160a01b03821682036103a557565b91908260609103126103a557604051606081018181106001600160401b038211176115e457604052604080829480518452602081015160208501520151910152565b156116e457565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b919080601f840112156103a5578251906001600160401b0382116115e45760405191602091611750601f8301601f1916840185611628565b8184528282870101116103a55760005b81811061177557508260009394955001015290565b8581018301518482018401528201611760565b6001600160401b0381116115e45760051b60200190565b81601f820112156103a5578051916117b683611788565b926117c46040519485611628565b808452602092838086019260051b8201019283116103a5578301905b8282106117ee575050505090565b815181529083019083016117e0565b9080601f830112156103a55781519061181582611788565b926118236040519485611628565b828452602092838086019160051b830101928084116103a557848301915b8483106118515750505050505090565b82516001600160401b0381116103a557869161187284848094890101611718565b815201920191611841565b9190916080818403126103a557604051906001600160401b039060808301828111848210176115e457604052829481518381116103a557816118c09184016117fd565b845260208201518381116103a557816118da91840161179f565b602085015260408201518381116103a557816118f79184016117fd565b604085015260608201519283116103a557606092611915920161179f565b910152565b519081151582036103a557565b519063ffffffff821682036103a557565b81601f820112156103a55780519161194f83611788565b9261195d6040519485611628565b808452602092838086019260051b8201019283116103a5578301905b828210611987575050505090565b83809161199384611687565b815201910190611979565b91908260409103126103a5576040516119b6816115c9565b60208082946119c481611687565b84520151910152565b91906060838203126103a5576020611915604051926119eb846115c9565b8284966119f78161191a565b86520161199e565b15611a0657565b60405162461bcd60e51b815260206004820152600e60248201526d105c1c1c9bdd994819985a5b195960921b6044820152606490fd5b81810292918115918404141715611a4f57565b634e487b7160e01b600052601160045260246000fd5b8115611a6f570490565b634e487b7160e01b600052601260045260246000fd5b519061ffff821682036103a557565b90916001600160a01b03918216908216818114611c6a578260015416602062ffffff60646003546040519485938492630b4c774160e11b845289600485015288602485015260a01c1660448301525afa8015611c19578491600091611c2f575b5016918215611c255760e060049360405194858092633850c7bd851b82525afa928315611c1957600093611b8a575b501015611b4957611b439291611b3b91168092611a3c565b60601c611a3c565b60601c90565b8260601b91600160601b93808404851490151715611a4f57611b6d91168092611a65565b8060601b928184041490151715611a4f57611b8791611a65565b90565b60e0939193813d8211611c11575b81611ba560e09383611628565b810103126108665780519185831683036100f25760208201518060020b036100f257611bd360408301611a85565b50611be060608301611a85565b50611bed60808301611a85565b5060a082015160ff8116036100f2575060c0611c09910161191a565b509138611b23565b3d9150611b98565b6040513d6000823e3d90fd5b5050505050600090565b91506020823d8211611c62575b81611c4960209383611628565b810103126100f25750611c5c8491611687565b38611af4565b3d9150611c3c565b5050509056fea2646970667358221220dd57a651c5b09699f789266fc05ff89ad9ee059ece34a3e55d24bac7a87d612464736f6c63430008120033"; type DonationMatchCharityConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/SubdaoToken__factory.ts b/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/SubdaoToken__factory.ts index 024f0be33..691558d59 100644 --- a/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/SubdaoToken__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatchCharity.sol/SubdaoToken__factory.ts @@ -14,22 +14,22 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { internalType: "address", - name: "curAccountscontract", + name: "accountscontract", type: "address", }, { - internalType: "uint256", - name: "curEndowmentid", - type: "uint256", + internalType: "uint32", + name: "endowmentid", + type: "uint32", }, { internalType: "address", - name: "curDonor", + name: "donor", type: "address", }, ], diff --git a/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatchEmitter__factory.ts b/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatchEmitter__factory.ts index 768fb6e7f..8be4a3728 100644 --- a/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatchEmitter__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/donation-match/DonationMatchEmitter__factory.ts @@ -39,9 +39,9 @@ const _abi = [ }, { indexed: false, - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { indexed: false, @@ -58,9 +58,9 @@ const _abi = [ inputs: [ { indexed: false, - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { indexed: false, @@ -110,9 +110,9 @@ const _abi = [ inputs: [ { indexed: false, - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { indexed: false, @@ -141,9 +141,9 @@ const _abi = [ inputs: [ { indexed: false, - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { indexed: false, @@ -166,9 +166,9 @@ const _abi = [ inputs: [ { indexed: false, - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { indexed: false, @@ -195,9 +195,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -229,13 +229,13 @@ const _abi = [ }, { internalType: "address", - name: "curAccountsContract", + name: "accountsContract", type: "address", }, { - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -251,9 +251,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -280,7 +280,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curAccountscontract", + name: "accountscontract", type: "address", }, ], @@ -292,9 +292,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -361,9 +361,9 @@ const _abi = [ { inputs: [ { - internalType: "uint256", + internalType: "uint32", name: "endowmentId", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -389,7 +389,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608080604052346100205760ff19600054166000556105b690816100268239f35b600080fdfe6080604081815260048036101561001557600080fd5b600092833560e01c9081633adaa5ae146103cc575080633de6d30e146103565780633f595a8a146103215780635ec1bbd2146102e357806372b696ca1461025f5780637d5d95a8146101c057637d691d3e1461007057600080fd5b346101bc5760e03660031901126101bc576100896104ca565b9060a03660431901126101b857825160a0810181811067ffffffffffffffff8211176101a55784526100b96104e0565b8152606435906001600160a01b0380831683036101a157602082019283526100df6104f6565b9186810192835260a43590828216820361019d576060810191825260c435938962ffffff968787168703610199578a86858196947f3d4d4fb92a75ba512dd2523d8c40b034a187c13ab3feccb3265fdefa6fd1ba599e8360e09f60808299019d8e5261015282855460081c163314610545565b1691828152600160205220600160ff1982541617905583519c358d5260208d01525116908a01525116606088015251166080860152511660a0840152511660c0820152a180f35b5080fd5b8880fd5b8680fd5b634e487b7160e01b865260418352602486fd5b8380fd5b8280fd5b5050346101995760a03660031901126101995760c07fe16655a702814019c5d7706692dbf1df02a26521e509213eb18af11a36c4dee6916101ff6104af565b906102086104e0565b916102116104f6565b90338752600160205261022960ff8489205416610545565b82519333855260018060a01b03938480931660208701526024359086015216606084015260643560808401521660a0820152a180f35b505034610199576102dd7f1d861f14f5f6701699cda19ddada77d9f6804495e40a9822569b845c359c8d22916102943661050c565b9194929333885260016020526102af60ff828a205416610545565b519384526001600160a01b039485166020850152909316604083015260608201929092529081906080820190565b0390a180f35b5050346101995760203660031901126101995760209160ff9082906001600160a01b0361030e6104af565b1681526001855220541690519015158152f35b505034610199576102dd7f3676b561fc3c7f77d2c549de4da884250354ea1a35c74df94852dd4fa457ac16916102943661050c565b5090346101bc5760603660031901126101bc577f4c72cdd303d97a6d3a90e4f8b2b9b11ddddeb599a332db70ae5891b781e5c8f6916060916103966104ca565b33865260016020526103ad60ff8388205416610545565b8151923583526001600160a01b0316602083015260443590820152a180f35b84929150346101bc5760203660031901126101bc576103e96104af565b906001600160a01b03821615610464575082549160ff831661042b57506001600160a81b031990911660089190911b610100600160a81b031617600117815580f35b606490602086519162461bcd60e51b83528201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152fd5b62461bcd60e51b8152602083820152602160248201527f496e76616c6964206163636f756e747320636f6e7472616374206164647265736044820152607360f81b6064820152608490fd5b600435906001600160a01b03821682036104c557565b600080fd5b602435906001600160a01b03821682036104c557565b604435906001600160a01b03821682036104c557565b608435906001600160a01b03821682036104c557565b60809060031901126104c557600435906001600160a01b039060243582811681036104c5579160443590811681036104c5579060643590565b1561054c57565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fdfea2646970667358221220c8902d75bed2ecd9b24353fe42a1c5615ae976fca32e3094351bd8bad1735d1e64736f6c63430008120033"; + "0x608080604052346100205760ff196000541660005561060390816100268239f35b600080fdfe604060808152600436101561001357600080fd5b600090813560e01c80631a3613e2146104585780633adaa5ae146103735780635ec1bbd214610336578063a6692aa314610285578063b428cda614610251578063d8501c40146101c65763f46d05b51461006c57600080fd5b346101a25760e03660031901126101a2576100856104dc565b61008d6104f4565b9060a03660431901126101c257825160a0810181811067ffffffffffffffff8211176101ae5784526100bd610520565b8152606435906001600160a01b0380831683036101aa57602082019283526100e3610536565b9186810192835260a4359082821682036101a6576060810191825260c435938962ffffff9687871687036101a2578a86858196947ffe737400308553f1d002c56158f30ef401c7c64cff3884ad105b616b632527509e8360e09f60808299019d8e5261015682855460081c163314610592565b1691828152600160205220600160ff1982541617905563ffffffff84519d168d5260208d01525116908a01525116606088015251166080860152511660a0840152511660c0820152a180f35b5080fd5b8880fd5b8680fd5b634e487b7160e01b86526041600452602486fd5b8380fd5b50346101a25761024b7f87724927f9e99dbea4a9f012e0ff8d2d4eed13785c4d470f184272bbf1e38049916101fa3661054c565b91949293338852600160205261021560ff828a205416610592565b5163ffffffff90941684526001600160a01b03948516602085015293909316604083015260608201929092529081906080820190565b0390a180f35b50346101a25761024b7fc4e08d3abb27e5a4e2e6084e41721cc61592b72483353130376cb092d4a03764916101fa3661054c565b50346101a25760a03660031901126101a25761029f61050a565b906102a8610520565b6064359163ffffffff8316809303610332577f232f9587f6442fe8817b59685200e1ec787801749ea7a58ac3819b15dcb9d7559360c0936102e7610536565b9133885260016020526102ff60ff858a205416610592565b83519433865260018060a01b03948580931660208801526024359087015216606085015260808401521660a0820152a180f35b8480fd5b50346101a25760203660031901126101a25760209160ff9082906001600160a01b0361036061050a565b1681526001855220541690519015158152f35b5090346104555760203660031901126104555761038e61050a565b6001600160a01b038116156104075781549060ff82166103cd576001600160a81b031990911660089190911b610100600160a81b031617600117815580f35b835162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b825162461bcd60e51b815260206004820152602160248201527f496e76616c6964206163636f756e747320636f6e7472616374206164647265736044820152607360f81b6064820152608490fd5b80fd5b50346101a25760603660031901126101a25760607fdb578fc99090936a6a779095ed5c9001e3d6e60db24dabff92dac73a925bfddb916104966104dc565b9061049f6104f4565b33865260016020526104b660ff8388205416610592565b815163ffffffff9390931683526001600160a01b0316602083015260443590820152a180f35b6004359063ffffffff821682036104ef57565b600080fd5b602435906001600160a01b03821682036104ef57565b600435906001600160a01b03821682036104ef57565b604435906001600160a01b03821682036104ef57565b608435906001600160a01b03821682036104ef57565b60809060031901126104ef5760043563ffffffff811681036104ef57906001600160a01b039060243582811681036104ef579160443590811681036104ef579060643590565b1561059957565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fdfea26469706673582212204b513f7da3939a246a3f212b63ba145b965a1c13f292631e088ab5722413ab0d64736f6c63430008120033"; type DonationMatchEmitterConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigEmitter__factory.ts b/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigEmitter__factory.ts index 94c8531e1..353771649 100644 --- a/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigEmitter__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigEmitter__factory.ts @@ -260,25 +260,25 @@ const _abi = [ { indexed: false, internalType: "address", - name: "curEmitter", + name: "emitter", type: "address", }, { indexed: false, internalType: "address[]", - name: "curOwners", + name: "owners", type: "address[]", }, { indexed: false, internalType: "uint256", - name: "curRequired", + name: "required", type: "uint256", }, { indexed: false, internalType: "bool", - name: "curRequireexecution", + name: "requireexecution", type: "bool", }, ], @@ -340,22 +340,22 @@ const _abi = [ }, { internalType: "address", - name: "curEmitter", + name: "emitter", type: "address", }, { internalType: "address[]", - name: "curOwners", + name: "owners", type: "address[]", }, { internalType: "uint256", - name: "curRequired", + name: "required", type: "uint256", }, { internalType: "bool", - name: "curRequireexecution", + name: "requireexecution", type: "bool", }, ], @@ -427,7 +427,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curMultisigfactory", + name: "_multisigFactory", type: "address", }, ], @@ -558,7 +558,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608080604052346100205760ff196000541660005561094190816100268239f35b600080fdfe6040608081526004908136101561001557600080fd5b60009160e08335811c80629a3d061461074d5780631efbdd08146107175780632c163914146106d75780634cde2799146106a1578063719e0e3e1461062a5780637a2672c7146105f7578063a6635fa21461043b578063c57c815d14610371578063d0645914146102f0578063d6df5935146102945763fcf664e81461009a57600080fd5b346102905760031960603682011261028c576044359167ffffffffffffffff91828411610288578190843603011261028457845190808201828110848211176102715786528385013583811161026d576100f99086369187010161083d565b8252602484013583811161026d576101169086369187010161083d565b936020830194855261012a604482016107c3565b9087840191825260608401606482013581526084820135868111610269576101579089369185010161083d565b916080860192835260a48101359687151588036102655760a0870197885260c48201359081116102655761018f913691018a0161083d565b9460c08101958652338b526001602052898b205460ff166101af90610890565b8951998a99358a5260243560208b0152890160609052518460608a015261014089016101da916108cb565b9651605f1997888a82030160808b01526101f3916108cb565b92516001600160a01b031660a08901525160c08801525186820386019287019290925261021f916108cb565b9151151561010085015251918382030161012084015261023e916108cb565b037fa2806c76ea23a094b70f4c6920ec8e9b804d10467c3b04a493ade89ed370fc1491a180f35b8b80fd5b8a80fd5b8780fd5b634e487b7160e01b885260418652602488fd5b8580fd5b8680fd5b8480fd5b8380fd5b505050346102ec577faac3cd9bc9dae4dd99f5738a7de4671af3df56ead26e6e17544981f9a84652ed906102c73661077c565b33855260016020526102de60ff8487205416610890565b82519182526020820152a180f35b5080fd5b5050903461036d578060031936011261036d577f8bdf3980a6523641ffb824bd83fb88e5b6eb916b180b1dfc7112a4ffb8849f0491610367610330610797565b92338652600160205261034860ff8288205416610890565b51913582526001600160a01b0390921660208201529081906040820190565b0390a180f35b8280fd5b838584346102ec5760203660031901126102ec5761038d6107ad565b6001600160a01b038116156104065782549160ff83166103cd57506001600160a81b031990911660089190911b610100600160a81b031617600117815580f35b606490602086519162461bcd60e51b83528201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152fd5b835162461bcd60e51b8152602081840152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fd5b5090346102905760c0366003190112610290576104566107ad565b916044356001600160a01b038181169291839003610288576064359067ffffffffffffffff928383116105f357366023840112156105f357828601359384116105e0578360051b96602093846104ad818b01610801565b80978152016024819a830101913683116105dc576024879101915b8383106105c4575050505060a4359687151580980361026957838b5460081c16330361058a57509180959493921692838a52600194858452898b208660ff1982541617905589519960c08b01958b52602435858c01528a015260c060608a0152518093528701959388905b83821061057357897f1953251b48e146eba697dd39efd1f30bda684efc2c1631b559447ae9c2dbd01f8a808b8b608435608084015260a08301520390a180f35b855181168852968201969482019490840190610533565b895162461bcd60e51b815290810185905260146024820152734e6f74206d756c746973696720666163746f727960601b6044820152606490fd5b81906105cf846107c3565b81520191019086906104c8565b8c80fd5b634e487b7160e01b895260418652602489fd5b8880fd5b505050346102ec577f38ee349836cf24adafe448482f489eaf4b97e6ea3b4f9f52ca2f6677affcd968906102c73661077c565b505050346102ec576103677f8be764692d684bffbe203086b11cbb096d4aa07a285f83ede38890084c886e9a91610660366107d7565b90939192338752600160205261067b60ff8289205416610890565b519283526001600160a01b03909316602083015260408201929092529081906060820190565b505050346102ec576103677f124b82bb5704da5f828628e8390ef028ab36c6792f575a37def1fae38584796991610660366107d7565b5050903461036d578060031936011261036d577f576fa1e54c33e168683a198ff41a85ab5bb9933347a712f9a9e36bc2b1a8236b91610367610330610797565b505050346102ec576103677fd3c1d432952273e022017a75b5c7b3f94f534b87a8c5d77426f13aab2a6bbe8291610660366107d7565b505050346102ec577f952b6effd8a09725abd1611d1daf1f22338ae324a7e161f87bace4cdccee1f50906102c7365b6040906003190112610792576004359060243590565b600080fd5b602435906001600160a01b038216820361079257565b600435906001600160a01b038216820361079257565b35906001600160a01b038216820361079257565b606090600319011261079257600435906024356001600160a01b0381168103610792579060443590565b6040519190601f01601f1916820167ffffffffffffffff81118382101761082757604052565b634e487b7160e01b600052604160045260246000fd5b81601f820112156107925780359067ffffffffffffffff82116108275761086d601f8301601f1916602001610801565b928284526020838301011161079257816000926020809301838601378301015290565b1561089757565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b919082519283825260005b8481106108f7575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016108d656fea26469706673582212200238e463e931a8348953376a0898b12922d69b8612e09c48a701af53bfade5c764736f6c63430008120033"; + "0x6080806040523461001657610941908161001c8239f35b600080fdfe6040608081526004908136101561001557600080fd5b60009160e08335811c80629a3d061461074d5780631efbdd08146107175780632c163914146106d75780634cde2799146106a1578063719e0e3e1461062a5780637a2672c7146105f7578063a6635fa21461043b578063c57c815d14610371578063d0645914146102f0578063d6df5935146102945763fcf664e81461009a57600080fd5b346102905760031960603682011261028c576044359167ffffffffffffffff91828411610288578190843603011261028457845190808201828110848211176102715786528385013583811161026d576100f99086369187010161083d565b8252602484013583811161026d576101169086369187010161083d565b936020830194855261012a604482016107c3565b9087840191825260608401606482013581526084820135868111610269576101579089369185010161083d565b916080860192835260a48101359687151588036102655760a0870197885260c48201359081116102655761018f913691018a0161083d565b9460c08101958652338b526001602052898b205460ff166101af90610890565b8951998a99358a5260243560208b0152890160609052518460608a015261014089016101da916108cb565b9651605f1997888a82030160808b01526101f3916108cb565b92516001600160a01b031660a08901525160c08801525186820386019287019290925261021f916108cb565b9151151561010085015251918382030161012084015261023e916108cb565b037fa2806c76ea23a094b70f4c6920ec8e9b804d10467c3b04a493ade89ed370fc1491a180f35b8b80fd5b8a80fd5b8780fd5b634e487b7160e01b885260418652602488fd5b8580fd5b8680fd5b8480fd5b8380fd5b505050346102ec577faac3cd9bc9dae4dd99f5738a7de4671af3df56ead26e6e17544981f9a84652ed906102c73661077c565b33855260016020526102de60ff8487205416610890565b82519182526020820152a180f35b5080fd5b5050903461036d578060031936011261036d577f8bdf3980a6523641ffb824bd83fb88e5b6eb916b180b1dfc7112a4ffb8849f0491610367610330610797565b92338652600160205261034860ff8288205416610890565b51913582526001600160a01b0390921660208201529081906040820190565b0390a180f35b8280fd5b838584346102ec5760203660031901126102ec5761038d6107ad565b6001600160a01b038116156104065782549160ff83166103cd57506001600160a81b031990911660089190911b610100600160a81b031617600117815580f35b606490602086519162461bcd60e51b83528201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152fd5b835162461bcd60e51b8152602081840152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fd5b5090346102905760c0366003190112610290576104566107ad565b916044356001600160a01b038181169291839003610288576064359067ffffffffffffffff928383116105f357366023840112156105f357828601359384116105e0578360051b96602093846104ad818b01610801565b80978152016024819a830101913683116105dc576024879101915b8383106105c4575050505060a4359687151580980361026957838b5460081c16330361058a57509180959493921692838a52600194858452898b208660ff1982541617905589519960c08b01958b52602435858c01528a015260c060608a0152518093528701959388905b83821061057357897f1953251b48e146eba697dd39efd1f30bda684efc2c1631b559447ae9c2dbd01f8a808b8b608435608084015260a08301520390a180f35b855181168852968201969482019490840190610533565b895162461bcd60e51b815290810185905260146024820152734e6f74206d756c746973696720666163746f727960601b6044820152606490fd5b81906105cf846107c3565b81520191019086906104c8565b8c80fd5b634e487b7160e01b895260418652602489fd5b8880fd5b505050346102ec577f38ee349836cf24adafe448482f489eaf4b97e6ea3b4f9f52ca2f6677affcd968906102c73661077c565b505050346102ec576103677f8be764692d684bffbe203086b11cbb096d4aa07a285f83ede38890084c886e9a91610660366107d7565b90939192338752600160205261067b60ff8289205416610890565b519283526001600160a01b03909316602083015260408201929092529081906060820190565b505050346102ec576103677f124b82bb5704da5f828628e8390ef028ab36c6792f575a37def1fae38584796991610660366107d7565b5050903461036d578060031936011261036d577f576fa1e54c33e168683a198ff41a85ab5bb9933347a712f9a9e36bc2b1a8236b91610367610330610797565b505050346102ec576103677fd3c1d432952273e022017a75b5c7b3f94f534b87a8c5d77426f13aab2a6bbe8291610660366107d7565b505050346102ec577f952b6effd8a09725abd1611d1daf1f22338ae324a7e161f87bace4cdccee1f50906102c7365b6040906003190112610792576004359060243590565b600080fd5b602435906001600160a01b038216820361079257565b600435906001600160a01b038216820361079257565b35906001600160a01b038216820361079257565b606090600319011261079257600435906024356001600160a01b0381168103610792579060443590565b6040519190601f01601f1916820167ffffffffffffffff81118382101761082757604052565b634e487b7160e01b600052604160045260246000fd5b81601f820112156107925780359067ffffffffffffffff82116108275761086d601f8301601f1916602001610801565b928284526020838301011161079257816000926020809301838601378301015290565b1561089757565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b919082519283825260005b8481106108f7575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016108d656fea26469706673582212205236f252e7329ecebb3429cc88c74930605e233386ecd49c0993a8842ea9169364736f6c63430008120033"; type EndowmentMultiSigEmitterConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol/Factory__factory.ts b/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol/Factory__factory.ts index 777ddca75..a5130ce0c 100644 --- a/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol/Factory__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol/Factory__factory.ts @@ -113,7 +113,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608080604052346100165761019d908161001c8239f35b600080fdfe60806040818152600436101561001457600080fd5b600091823560e01c9081632f4f33161461010e5750806357183c82146100bc5780638f838478146100855763de15304c1461004e57600080fd5b3461008157602036600319011261008157600435825260026020908152918190205490516001600160a01b039091168152f35b5080fd5b50346100815760203660031901126100815760209181906001600160a01b036100ac61014c565b1681526001845220549051908152f35b50346100815780600319360112610081576100d561014c565b6001600160a01b03908116835260016020528183208054602435919082101561010a5784526020938490200154915191168152f35b8480fd5b919050346101485760203660031901126101485760209260ff91906001600160a01b0361013961014c565b16815280855220541615158152f35b8280fd5b600435906001600160a01b038216820361016257565b600080fdfea2646970667358221220e66686be8ab0281bf079247e7cbc953b66d65fa41c06ed972dd547317ceb057764736f6c63430008120033"; + "0x608080604052346100165761019d908161001c8239f35b600080fdfe60806040818152600436101561001457600080fd5b600091823560e01c9081632f4f33161461010e5750806357183c82146100bc5780638f838478146100855763de15304c1461004e57600080fd5b3461008157602036600319011261008157600435825260026020908152918190205490516001600160a01b039091168152f35b5080fd5b50346100815760203660031901126100815760209181906001600160a01b036100ac61014c565b1681526001845220549051908152f35b50346100815780600319360112610081576100d561014c565b6001600160a01b03908116835260016020528183208054602435919082101561010a5784526020938490200154915191168152f35b8480fd5b919050346101485760203660031901126101485760209260ff91906001600160a01b0361013961014c565b16815280855220541615158152f35b8280fd5b600435906001600160a01b038216820361016257565b600080fdfea2646970667358221220ee906d383e0c5401455f8d9d2c2e8e90ec840f929fac14d3b28695f850a89e3064736f6c63430008120033"; type FactoryConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol/MultiSigWalletFactory__factory.ts b/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol/MultiSigWalletFactory__factory.ts index 72d42a10c..e29c31146 100644 --- a/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol/MultiSigWalletFactory__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol/MultiSigWalletFactory__factory.ts @@ -78,12 +78,12 @@ const _abi = [ }, { internalType: "address[]", - name: "curOwners", + name: "owners", type: "address[]", }, { internalType: "uint256", - name: "curRequired", + name: "required", type: "uint256", }, ], @@ -241,7 +241,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080346100d757601f61166538819003918201601f19168301916001600160401b038311848410176100dc5780849260409485528339810103126100d757610052602061004b836100f2565b92016100f2565b600380546001600160a01b03198082163390811790935592936001600160a01b0392839283167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a316926100aa841515610106565b16916100b7831515610106565b816004541617600455600554161760055560405161152090816101458239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100d757565b1561010d57565b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fdfe60806040526004803610156200001457600080fd5b600090813560e01c8063025b22bc14620006d65780630f990c5a146200035d5780632f4f3316146200031b57806357183c8214620002b9578063715018a614620002575780638da5cb5b146200022c5780638f83847814620001ef578063bb48cd3a14620001a1578063de15304c146200016d5763f2fde38b146200009857600080fd5b34620001695760203660031901126200016957620000b56200071c565b620000bf620007a0565b6001600160a01b03908116918215620001165750600354826bffffffffffffffffffffffff60a01b821617600355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b60849060206040519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5080fd5b50346200016957602036600319011262000169579060209135815260028252604060018060a01b0391205416604051908152f35b8234620001ec576020366003190112620001ec57620001bf6200071c565b620001c9620007a0565b60018060a01b03166bffffffffffffffffffffffff60a01b600554161760055580f35b80fd5b8234620001ec576020366003190112620001ec576020906040906001600160a01b036200021b6200071c565b168152600183522054604051908152f35b8234620001ec5780600319360112620001ec576003546040516001600160a01b039091168152602090f35b8234620001ec5780600319360112620001ec5762000274620007a0565b600380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b8234620001ec576040366003190112620001ec57620002d76200071c565b6001600160a01b03908116825260016020526040822080546024359390841015620001ec57506020926200030b9162000771565b9190546040519260031b1c168152f35b8234620001ec576020366003190112620001ec5760209060ff906040906001600160a01b036200034a6200071c565b1681528084522054166040519015158152f35b509034620001ec576080366003190112620001ec57602435906001600160a01b0382168203620001ec576044359167ffffffffffffffff83116200016957366023840112156200016957828401359267ffffffffffffffff84116200062d578360051b9060405194620003d4602084018762000738565b85526024602086019282010190368211620006d257602401915b818310620006ac5750506040516325a79f8d60e21b6020820152853560248201526001600160a01b038316604482015260a06064820152905062000458816200043b60c4820187620007f9565b60643560848301528560a483015203601f19810183528262000738565b845460055460405192916001600160a01b03918216911667ffffffffffffffff610cb28501908111908511176200069957610cb2620008398539610cb28401526020610cb28401015260606040610cb28401015281815191826060610cb284010152855b8381106200067c575050610cb281018083016080908101879052601f909301601f19160103019083f080156200066d576001600160a01b03908116939082163b156200067857604051635331afd160e11b8152858101859052853560248201526001600160a01b038316604482015260c060648201529183918391908290849082906200054e9060c4830190620007f9565b606435608483015260a4820183905203926001600160a01b03165af180156200066d5762000640575b508181528060205260408120600160ff19825416179055338152600160205260408120805490680100000000000000008210156200062d5793620005c78260209660016040969501815562000771565b81549060031b9086821b9160018060a01b03901b19161790557f4fb057ad4a26ed17a57957fa69c306f11987596069b89521c511fc9a894e61618380513381528688820152a1358152600284522080546001600160a01b03191682179055604051908152f35b634e487b7160e01b835260418552602483fd5b67ffffffffffffffff81116200065a576040523862000577565b634e487b7160e01b825260418452602482fd5b6040513d84823e3d90fd5b8280fd5b60208282018101516080610cb288018401015285935001620004bc565b634e487b7160e01b865260418852602486fd5b82356001600160a01b0381168103620006ce57815260209283019201620003ee565b8580fd5b8480fd5b5034620001695760203660031901126200016957620006f46200071c565b620006fe620007a0565b81546001600160a01b0319166001600160a01b039190911617905580f35b600435906001600160a01b03821682036200073357565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176200075b57604052565b634e487b7160e01b600052604160045260246000fd5b80548210156200078a5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b6003546001600160a01b03163303620007b557565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b90815180825260208080930193019160005b8281106200081a575050505090565b83516001600160a01b0316855293810193928101926001016200080b56fe604060808152346200030c5762000cb2803803806200001e8162000311565b9283398101906060818303126200030c576200003a816200034d565b916020926200004b8484016200034d565b8584015190936001600160401b0391908282116200030c57019280601f850112156200030c5783519362000089620000838662000362565b62000311565b94808652878601928882840101116200030c578288620000aa93016200037e565b823b15620002b2577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03199081166001600160a01b0386811691821790935590959194600093909290917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2805115801590620002aa575b620001fb575b50505050507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103937f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f86865493815196818616885216958684820152a18315620001a95750161790555161085590816200045d8239f35b60849086519062461bcd60e51b82526004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b895194606086019081118682101762000296578a52602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c89860152660819985a5b195960ca1b8a86015251620002809493929183918291845af4903d156200028c573d62000270620000838262000362565b90815280938a3d92013e620003a3565b50388080808062000133565b60609250620003a3565b634e487b7160e01b85526041600452602485fd5b50836200012d565b865162461bcd60e51b815260048101879052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033757604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200030c57565b6001600160401b0381116200033757601f01601f191660200190565b60005b838110620003925750506000910152565b818101518382015260200162000381565b91929015620004085750815115620003b9575090565b3b15620003c35790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156200041c5750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526200044e81518092816024860152602086860191016200037e565b601f01601f19168101030190fdfe60806040526004361015610018575b366100a6576100a6565b6000803560e01c80636e9960c3146100725763aaf10f421461003a575061000e565b3461006f578060031936011261006f57600080516020610800833981519152546040516001600160a01b039091168152602090f35b80fd5b503461006f578060031936011261006f576000805160206107e0833981519152546001600160a01b03166080908152602090f35b6000805160206107e0833981519152546001600160a01b031633036101c6576000356001600160e01b031916631b2ce7f360e11b81036100f157506100e9610426565b602081519101f35b63278f794360e11b810361010d57506101086105c8565b6100e9565b6308f2839760e41b81036101245750610108610350565b6303e1469160e61b810361013b5750610108610275565b635c60da1b60e01b03610150576101086102ae565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a490fd5b60008051602061080083398151915254600090819081906001600160a01b0316368280378136915af43d82803e156101fc573d90f35b3d90fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761023257604052565b610200565b6020810190811067ffffffffffffffff82111761023257604052565b90601f8019910116810190811067ffffffffffffffff82111761023257604052565b61027d610659565b60018060a01b036000805160206107e08339815191525416604051906020820152602081526102ab81610216565b90565b6102b6610659565b60018060a01b036000805160206108008339815191525416604051906020820152602081526102ab81610216565b600435906001600160a01b03821682036102fa57565b600080fd5b60209060031901126102fa576004356001600160a01b03811681036102fa5790565b67ffffffffffffffff811161023257601f01601f191660200190565b6040519061034a82610237565b60008252565b610358610659565b366004116102fa576001600160a01b0380610372366102ff565b166000805160206107e0833981519152917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f604084549281519084168152846020820152a181156103d2576001600160a01b0319161790556102ab61033d565b60405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b61042e610659565b366004116102fa576001600160a01b03610447366102ff565b166040519061045582610237565b60008252803b156104ec5760008051602061080083398151915280546001600160a01b03191682179055807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906104e4575b6104ca575b50506040516104c381610237565b6000815290565b6104dc916104d6610660565b916106ba565b5038806104b5565b5060006104b0565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b803b156104ec5760008051602061080083398151915280546001600160a01b0319166001600160a01b0383169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906105c0575b6105b1575050565b6105bd916104d6610660565b50565b5060016105a9565b366004116102fa5760403660031901126102fa576105e46102e4565b6024359067ffffffffffffffff82116102fa57366023830112156102fa5781600401359061061182610321565b9161061f6040519384610253565b80835236602482860101116102fa576020816000926024610651970183870137840101526001600160a01b0316610547565b6102ab61033d565b346102fa57565b604051906060820182811067ffffffffffffffff8211176102325760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b6000806102ab9493602081519101845af43d156106f9573d916106dc83610321565b926106ea6040519485610253565b83523d6000602085013e61074d565b60609161074d565b1561070857565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9192901561076d5750815115610761575090565b6102ab903b1515610701565b8251909150156107805750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106107c6575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506107a356feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c61acf3b60fe54f1c7b5e35eb3227d4fadb64a46e27a14985085e09c0322a78c64736f6c63430008120033a2646970667358221220a699101bf52e8896fa159e8907bf5a879ea8305ef36cce9158d5355f717a24f664736f6c63430008120033"; + "0x6080346100d757601f61166538819003918201601f19168301916001600160401b038311848410176100dc5780849260409485528339810103126100d757610052602061004b836100f2565b92016100f2565b600380546001600160a01b03198082163390811790935592936001600160a01b0392839283167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a316926100aa841515610106565b16916100b7831515610106565b816004541617600455600554161760055560405161152090816101458239f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100d757565b1561010d57565b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fdfe60806040526004803610156200001457600080fd5b600090813560e01c8063025b22bc14620006d65780630f990c5a146200035d5780632f4f3316146200031b57806357183c8214620002b9578063715018a614620002575780638da5cb5b146200022c5780638f83847814620001ef578063bb48cd3a14620001a1578063de15304c146200016d5763f2fde38b146200009857600080fd5b34620001695760203660031901126200016957620000b56200071c565b620000bf620007a0565b6001600160a01b03908116918215620001165750600354826bffffffffffffffffffffffff60a01b821617600355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a380f35b60849060206040519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b5080fd5b50346200016957602036600319011262000169579060209135815260028252604060018060a01b0391205416604051908152f35b8234620001ec576020366003190112620001ec57620001bf6200071c565b620001c9620007a0565b60018060a01b03166bffffffffffffffffffffffff60a01b600554161760055580f35b80fd5b8234620001ec576020366003190112620001ec576020906040906001600160a01b036200021b6200071c565b168152600183522054604051908152f35b8234620001ec5780600319360112620001ec576003546040516001600160a01b039091168152602090f35b8234620001ec5780600319360112620001ec5762000274620007a0565b600380546001600160a01b031981169091556000906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b8234620001ec576040366003190112620001ec57620002d76200071c565b6001600160a01b03908116825260016020526040822080546024359390841015620001ec57506020926200030b9162000771565b9190546040519260031b1c168152f35b8234620001ec576020366003190112620001ec5760209060ff906040906001600160a01b036200034a6200071c565b1681528084522054166040519015158152f35b509034620001ec576080366003190112620001ec57602435906001600160a01b0382168203620001ec576044359167ffffffffffffffff83116200016957366023840112156200016957828401359267ffffffffffffffff84116200062d578360051b9060405194620003d4602084018762000738565b85526024602086019282010190368211620006d257602401915b818310620006ac5750506040516325a79f8d60e21b6020820152853560248201526001600160a01b038316604482015260a06064820152905062000458816200043b60c4820187620007f9565b60643560848301528560a483015203601f19810183528262000738565b845460055460405192916001600160a01b03918216911667ffffffffffffffff610cb28501908111908511176200069957610cb2620008398539610cb28401526020610cb28401015260606040610cb28401015281815191826060610cb284010152855b8381106200067c575050610cb281018083016080908101879052601f909301601f19160103019083f080156200066d576001600160a01b03908116939082163b156200067857604051635331afd160e11b8152858101859052853560248201526001600160a01b038316604482015260c060648201529183918391908290849082906200054e9060c4830190620007f9565b606435608483015260a4820183905203926001600160a01b03165af180156200066d5762000640575b508181528060205260408120600160ff19825416179055338152600160205260408120805490680100000000000000008210156200062d5793620005c78260209660016040969501815562000771565b81549060031b9086821b9160018060a01b03901b19161790557f4fb057ad4a26ed17a57957fa69c306f11987596069b89521c511fc9a894e61618380513381528688820152a1358152600284522080546001600160a01b03191682179055604051908152f35b634e487b7160e01b835260418552602483fd5b67ffffffffffffffff81116200065a576040523862000577565b634e487b7160e01b825260418452602482fd5b6040513d84823e3d90fd5b8280fd5b60208282018101516080610cb288018401015285935001620004bc565b634e487b7160e01b865260418852602486fd5b82356001600160a01b0381168103620006ce57815260209283019201620003ee565b8580fd5b8480fd5b5034620001695760203660031901126200016957620006f46200071c565b620006fe620007a0565b81546001600160a01b0319166001600160a01b039190911617905580f35b600435906001600160a01b03821682036200073357565b600080fd5b90601f8019910116810190811067ffffffffffffffff8211176200075b57604052565b634e487b7160e01b600052604160045260246000fd5b80548210156200078a5760005260206000200190600090565b634e487b7160e01b600052603260045260246000fd5b6003546001600160a01b03163303620007b557565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b90815180825260208080930193019160005b8281106200081a575050505090565b83516001600160a01b0316855293810193928101926001016200080b56fe604060808152346200030c5762000cb2803803806200001e8162000311565b9283398101906060818303126200030c576200003a816200034d565b916020926200004b8484016200034d565b8584015190936001600160401b0391908282116200030c57019280601f850112156200030c5783519362000089620000838662000362565b62000311565b94808652878601928882840101116200030c578288620000aa93016200037e565b823b15620002b2577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03199081166001600160a01b0386811691821790935590959194600093909290917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2805115801590620002aa575b620001fb575b50505050507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103937f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f86865493815196818616885216958684820152a18315620001a95750161790555161085590816200045d8239f35b60849086519062461bcd60e51b82526004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b895194606086019081118682101762000296578a52602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c89860152660819985a5b195960ca1b8a86015251620002809493929183918291845af4903d156200028c573d62000270620000838262000362565b90815280938a3d92013e620003a3565b50388080808062000133565b60609250620003a3565b634e487b7160e01b85526041600452602485fd5b50836200012d565b865162461bcd60e51b815260048101879052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033757604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200030c57565b6001600160401b0381116200033757601f01601f191660200190565b60005b838110620003925750506000910152565b818101518382015260200162000381565b91929015620004085750815115620003b9575090565b3b15620003c35790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156200041c5750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526200044e81518092816024860152602086860191016200037e565b601f01601f19168101030190fdfe60806040526004361015610018575b366100a6576100a6565b6000803560e01c80636e9960c3146100725763aaf10f421461003a575061000e565b3461006f578060031936011261006f57600080516020610800833981519152546040516001600160a01b039091168152602090f35b80fd5b503461006f578060031936011261006f576000805160206107e0833981519152546001600160a01b03166080908152602090f35b6000805160206107e0833981519152546001600160a01b031633036101c6576000356001600160e01b031916631b2ce7f360e11b81036100f157506100e9610426565b602081519101f35b63278f794360e11b810361010d57506101086105c8565b6100e9565b6308f2839760e41b81036101245750610108610350565b6303e1469160e61b810361013b5750610108610275565b635c60da1b60e01b03610150576101086102ae565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a490fd5b60008051602061080083398151915254600090819081906001600160a01b0316368280378136915af43d82803e156101fc573d90f35b3d90fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761023257604052565b610200565b6020810190811067ffffffffffffffff82111761023257604052565b90601f8019910116810190811067ffffffffffffffff82111761023257604052565b61027d610659565b60018060a01b036000805160206107e08339815191525416604051906020820152602081526102ab81610216565b90565b6102b6610659565b60018060a01b036000805160206108008339815191525416604051906020820152602081526102ab81610216565b600435906001600160a01b03821682036102fa57565b600080fd5b60209060031901126102fa576004356001600160a01b03811681036102fa5790565b67ffffffffffffffff811161023257601f01601f191660200190565b6040519061034a82610237565b60008252565b610358610659565b366004116102fa576001600160a01b0380610372366102ff565b166000805160206107e0833981519152917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f604084549281519084168152846020820152a181156103d2576001600160a01b0319161790556102ab61033d565b60405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b61042e610659565b366004116102fa576001600160a01b03610447366102ff565b166040519061045582610237565b60008252803b156104ec5760008051602061080083398151915280546001600160a01b03191682179055807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906104e4575b6104ca575b50506040516104c381610237565b6000815290565b6104dc916104d6610660565b916106ba565b5038806104b5565b5060006104b0565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b803b156104ec5760008051602061080083398151915280546001600160a01b0319166001600160a01b0383169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906105c0575b6105b1575050565b6105bd916104d6610660565b50565b5060016105a9565b366004116102fa5760403660031901126102fa576105e46102e4565b6024359067ffffffffffffffff82116102fa57366023830112156102fa5781600401359061061182610321565b9161061f6040519384610253565b80835236602482860101116102fa576020816000926024610651970183870137840101526001600160a01b0316610547565b6102ab61033d565b346102fa57565b604051906060820182811067ffffffffffffffff8211176102325760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b6000806102ab9493602081519101845af43d156106f9573d916106dc83610321565b926106ea6040519485610253565b83523d6000602085013e61074d565b60609161074d565b1561070857565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9192901561076d5750815115610761575090565b6102ab903b1515610701565b8251909150156107805750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106107c6575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506107a356feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b73d54cdeedb79ac10b05dcfd6196ca3c80a671a4fbd8a0e9e661d3360347dd764736f6c63430008120033a26469706673582212207e268fe00b9286c46395f3ee5224c3ecd045d8e191fcc026f08a98f29f6d05a764736f6c63430008120033"; type MultiSigWalletFactoryConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSig__factory.ts b/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSig__factory.ts index 0f93b963b..c5d5e1998 100644 --- a/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSig__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSig__factory.ts @@ -248,7 +248,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "owner", + name: "_owner", type: "address", }, ], @@ -261,7 +261,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curRequired", + name: "_required", type: "uint256", }, ], @@ -351,7 +351,7 @@ const _abi = [ outputs: [ { internalType: "address[]", - name: "curConfirmations", + name: "ownerConfirmations", type: "address[]", }, ], @@ -422,7 +422,7 @@ const _abi = [ outputs: [ { internalType: "uint256[]", - name: "curTransactionids", + name: "transactionIds", type: "uint256[]", }, ], @@ -433,27 +433,27 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "endowmentId", + name: "_endowmentId", type: "uint256", }, { internalType: "address", - name: "curEmitter", + name: "_emitter", type: "address", }, { internalType: "address[]", - name: "curOwners", + name: "_owners", type: "address[]", }, { internalType: "uint256", - name: "curRequired", + name: "_required", type: "uint256", }, { internalType: "bool", - name: "curRequireexecution", + name: "_requireExecution", type: "bool", }, ], @@ -546,7 +546,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "owner", + name: "_owner", type: "address", }, ], @@ -559,12 +559,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "owner", + name: "_owner", type: "address", }, { internalType: "address", - name: "newOwner", + name: "_newOwner", type: "address", }, ], @@ -744,7 +744,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001b57600160075561254190816100218239f35b600080fdfe6080806040526004361015610028575b5036156100205761001e611ece565b005b61001e611ece565b600090813560e01c90816301ffc9a714611b6557508063025e7c2714611b21578063173825d91461198057806320ea8d86146118875780632f54bf6e146118485780633411c81c146117fc57806354741525146117365780637065cb48146115ce578063784547a7146115a55780638b51d13f146115055780638dcc95ca146114e757806394645f27146114be578063969e7e34146111425780639ace38c21461103d578063a0e67e2b14610fc4578063a8abe69a14610e66578063b5dc40c314610d66578063b77bf60014610d48578063b781694a14610d25578063ba51a6df14610d08578063c01a8c8414610ce8578063d74f8edd14610ccc578063dc8452cd14610cae578063e20056e614610ab3578063ee22610b146108fa578063f06a7522146102295763f72b230d0361000f5734610226576060366003190112610226576004356001600160401b0381116102225761018a903690600401611caa565b50610193611c04565b506101b660065460ff8160101c16159081610210575b81156101ed575b50612022565b60405162461bcd60e51b815260206004820152600f60248201526e139bdd08125b5c1b195b595b9d1959608a1b6044820152606490fd5b303b159150816101ff575b50826101b0565b60081c60ff166001149050826101f8565b9050600160ff8260081c1610906101a9565b5080fd5b80fd5b50346102265760c0366003190112610226576004356001600160401b0381116102225761025a903690600401611e87565b6024356001600160401b0381116106eb57610279903690600401611e87565b604435916001600160a01b03831683036108f5576084356001600160401b0381116108f1576102ac903690600401611e87565b9260a4356001600160401b0381116108ed576102cc903690600401611e87565b6001600160a01b038216156108ed57600554946040516102eb81611c3c565b84815285602082015260018060a01b038416604082015260643560608201528160808201528760a08201528260c082015286885287602052604088209080518051906001600160401b0382116107fb5781906103518261034b8754611d18565b876124a6565b602090601f8311600114610889578c9261087e575b50508160011b916000199060031b1c19161782555b602081015180516001600160401b0381116107fb578060018501926103aa826103a48654611d18565b866124a6565b602090601f831160011461081a578d9261080f575b50508160011b916000199060031b1c19161790555b6002820160018060a01b036040830151166bffffffffffffffffffffffff60a01b8254161790556060810151600383015560808101519081516001600160401b0381116107fb5760048401906104348161042e8454611d18565b846124a6565b60208c601f8311600114610791579060c09583610786575b50508160011b916000199060031b1c19161790555b6005830160a0820151151560ff801983541691161790550151908151906001600160401b038211610772576006829101926104a0826103a48654611d18565b602090601f831160011461070e578b92610703575b50508160011b916000199060031b1c19161790555b6005546001810181116106ef5790600188959493920160055586855284602052867f180494405e1822cfac7f46cb28e05d25c4e51a01231c971781dfcab4f00639216105a1604088206040519182916020835260e060208401526006610534610100850183611d52565b91610582610552601f19948588820301604089015260018401611d52565b60028301546001600160a01b0316606088015260038301546080880152868103850160a088015260048301611d52565b9260ff600583015416151560c08701528584030160e086015201611d52565b0390a260018060a01b03600954169260085496604051956105c187611c3c565b865260208601526001600160a01b031660408501526064356060850152608084015260a0830184905260c0830152803b156106eb576106a99383604051809681958294631f9ecc9d60e31b8452600484015289602484015260606044840152610637815160e06064860152610144850190611de8565b60c061068961065860208501519360631994858983030160848a0152611de8565b60408501516001600160a01b031660a4880152606085015160c48801526080850151878203850160e4890152611de8565b9260a0810151151561010487015201519084830301610124850152611de8565b03925af180156106e0576106cc575b6020826106c481612172565b604051908152f35b6106d68391611c13565b61022257816106b8565b6040513d85823e3d90fd5b8280fd5b634e487b7160e01b88526011600452602488fd5b0151905038806104b5565b848c5260208c209250601f1984168c5b81811061075a5750908460019594939210610741575b505050811b0190556104ca565b015160001960f88460031b161c19169055388080610734565b9293602060018192878601518155019501930161071e565b634e487b7160e01b8a52604160045260248afd5b01519050388061044c565b91929394601f19841685845260208420935b8181106107e3575091600193918560c098979694106107ca575b505050811b019055610461565b015160001960f88460031b161c191690553880806107bd565b929360206001819287860151815501950193016107a3565b634e487b7160e01b8b52604160045260248bfd5b0151905038806103bf565b848e5260208e209250601f1984168e5b818110610866575090846001959493921061084d575b505050811b0190556103d4565b015160001960f88460031b161c19169055388080610840565b9293602060018192878601518155019501930161082a565b015190503880610366565b858d5260208d209250601f1984168d5b8181106108d557509084600195949392106108bc575b505050811b01825561037b565b015160001960f88460031b161c191690553880806108af565b92936020600181928786015181550195019301610899565b8580fd5b8480fd5b600080fd5b50346102265780602080600319360112610ab0576004353383526002825260ff60408420541615610aac57808352600182526040832033600052825260ff6040600020541615610aac5780835282825260ff600560408520015416610aac5761096281611f28565b61096a575050f35b808352828252610a236040842060058101600160ff1982541617905560018060a01b039385806004876002860154166109b96003870154966109b26040518095819301611d52565b0383611c72565b604051956109c687611c57565b601d87527f63616c6c20726576657274656420776974686f7574206d657373616765000000868801528583519301915af13d15610aa3573d610a0781611e6c565b90610a156040519283611c72565b81528781933d92013e612462565b5060405191817f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed758580a26009541660085490803b156108f157838560449281958395637a2672c760e01b8552600485015260248401525af18015610a9857610a885750f35b610a9190611c13565b6102265780f35b6040513d84823e3d90fd5b60609150612462565b5050fd5b50fd5b503461022657604036600319011261022657610acd611bd8565b90610ad6611bee565b91303303610222576001600160a01b038181168084526002602052604084205460ff1615610caa5781851680855260ff6040862054166108f157845b60038054821015610ca057848491610b2984611b9d565b9054911b1c1614610b4257610b3d90611f03565b610b12565b8596610b50610b6f92611b9d565b90919082549060031b9160018060a01b03809116831b921b1916179055565b81855260026020526040852060ff199081815416905581865260016040872091825416179055604051917f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b908680a27ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d8580a28160095416600854813b156108ed57630b058e4560e21b835260048301526001600160a01b038416602483015284908290604490829084905af1908115610c95578491610c81575b5050600954169060085490823b15610c7c57604051633419164560e21b815260048101929092526001600160a01b031660248201529082908290818381604481015b03925af18015610a9857610a885750f35b505050fd5b610c8a90611c13565b610aac578238610c29565b6040513d86823e3d90fd5b5050849550610b6f565b8380fd5b50346102265780600319360112610226576020600454604051908152f35b5034610226578060031936011261022657602060405160328152f35b503461022657602036600319011261022657610d05600435612172565b80f35b503461022657602036600319011261022657610d0560043561209c565b5034610226578060031936011261022657602060ff600654166040519015158152f35b50346102265780600319360112610226576020600554604051908152f35b50346102265760208060031936011261022257600435906003805490610d8b82611fcf565b928594865b848110610deb57878787610da382611fcf565b925b828110610dbe5760405180610dba8682611e28565b0390f35b610de6906001600160a01b03610dd48285612001565b5116610de08287612001565b52611f03565b610da5565b818852600180845260408920610e0083611b9d565b90546001600160a01b0391881b1c8116600090815291865260409091205460ff16610e36575b5050610e3190611f03565b610d90565b610e41839993611b9d565b905490871b1c16610e528389612001565b5281018091116106ef5795610e3138610e26565b50346102265760803660031901126102265760248035600435610e87611c04565b926064359384151585036108f5576005805491610ea383611fcf565b968892895b858110610f3b578a8a8a8a610ec5610ec08284612015565b611fcf565b92815b838110610f14578486604051918291602080840190808552835180925280604086019401925b828110610efd57505050500390f35b835185528695509381019392810192600101610eee565b80610f22610f369284612001565b51610de0610f308684612015565b88612001565b610ec8565b8380610fac575b8015610f8d575b610f5c575b610f5790611f03565b610ea8565b9384610f68828c612001565b5260018101809111610f7a5793610f4e565b634e487b7160e01b8b526011600452868bfd5b50828015610f495750808b528a60205260ff8260408d20015416610f49565b50808b528a60205260ff8260408d2001541615610f42565b5034610226578060031936011261022657604051600380548083529083526020808301936000805160206124ec83398151915292915b82821061101d57610dba8561101181890382611c72565b60405191829182611e28565b83546001600160a01b031686529485019460019384019390910190610ffa565b50346102265760203660031901126102265760406111079160043581528060205220610dba6040519161107b836110748184611d52565b0384611c72565b600661112d60405161109b816110948160018801611d52565b0382611c72565b600284015460038501546040516001600160a01b0390921692611115906110d0846110c98160048c01611d52565b0385611c72565b6110f360ff60058a015416986110ec604051809a819301611d52565b0388611c72565b6040519a8b9a60e08c5260e08c0190611de8565b908a820360208c0152611de8565b92604089015260608801528682036080880152611de8565b91151560a085015283820360c0850152611de8565b50346102265760a03660031901126102265761115c611bee565b6001600160401b0390604435828111610caa5761117d903690600401611caa565b9060643590608435918215158093036108f557600690815460ff94858260101c1615928380946114af575b8015611495575b6111b890612022565b61ff001980841661010090811787559385611482575b506001600160a01b03968716801561144b576004356008556bffffffffffffffffffffffff60a01b6009541617600955855490888260101c16159485918296879361143c575b8015611422575b61122490612022565b831617875561140f575b50875160328111159081611404575b816113fa575b816113f0575b50156113ec5789805b89518110156112d05787611266828c612001565b511682526002602081815260408420548b16158a848e836112b9575b50505015610caa576112b2938a611299858f612001565b511690525260408c20805460ff19166001179055611f03565b8a90611252565b6112c4929350612001565b511615158a848e611282565b50969089899697875191821161077257600160401b821161077257600354826003558083106113c8575b5060208098019060038b528a5b8381106113a6575050505060045585549116918260ff19831617865561136c575b5050611332578280f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989162ff000019815416905560405160018152a181808280f35b62ff00ff19161783557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024988260405160018152a18480611328565b825182166000805160206124ec83398151915282015591890191600101611307565b6113e690836000805160206124ec8339815191529182019101612085565b8a6112fa565b8980fd5b9050151538611249565b8215159150611243565b80831115915061123d565b62ffff001916620101001785553861122e565b50303b15801561121b5750600884901c8b1660011461121b565b5060018b8560081c1610611214565b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fd5b62ffff00191662010100178655386111ce565b50303b1580156111af5750600883901c87166001146111af565b506001878460081c16106111a8565b50346102265780600319360112610226576009546040516001600160a01b039091168152602090f35b50346102265780600319360112610226576020600854604051908152f35b5034610226576020908160031936011261022657600380548291600435835b838110611535578686604051908152f35b81855260018088526040862061154a83611b9d565b905490861b1c6001600160a01b03166000908152908952604090205460ff1661157d575b5061157890611f03565b611524565b86919601809111611591579461157861156e565b634e487b7160e01b85526011600452602485fd5b50346102265760203660031901126102265760206115c4600435611f28565b6040519015158152f35b5034610226576020366003190112610226576115e8611bd8565b90303303610226576001600160a01b03828116808352600260205260408320549193909160ff166106eb5781156106eb5760035460018101809111611722576004549060328111159182611717575b8261170d575b5081611703575b50156106eb57818352600260205260408320805460ff1916600117905560035493600160401b8510156116ef5761168682610b50876001889901600355611b9d565b604051927ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d8580a26009541660085490803b156108f157633419164560e21b845260048401919091526001600160a01b0390911660248301528290829081838160448101610c6b565b634e487b7160e01b84526041600452602484fd5b9050151538611644565b151591503861163d565b818111159250611637565b634e487b7160e01b84526011600452602484fd5b50346102265760403660031901126102265760043580151581036108f55760249182359081151582036108f5578092819260058054945b85811061177f57602087604051908152f35b83806117e4575b80156117c5575b6117a0575b61179b90611f03565b61176d565b95600181018091116117b25795611792565b634e487b7160e01b855260116004528785fd5b5082801561178d57508085528460205260ff826040872001541661178d565b508085528460205260ff826040872001541615611786565b5034610226576040366003190112610226576040611818611bee565b9160043581526001602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b50346102265760203660031901126102265760209060ff906040906001600160a01b03611873611bd8565b168152600284522054166040519015158152f35b50346102265780602080600319360112610ab057600435906118a761240c565b3383526002815260ff60408420541615610aac57818352600181526040832033600052815260ff6040600020541615610aac5781835282815260ff600560408520015416610aac576001815260408320903360005252604060002060ff1981541690556040519080337ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e98580a36001600755600954600854906001600160a01b0316803b156108f1576303df7ba160e31b8452600484019190915233602484015260448301919091528290829081838160648101610c6b565b50346102265760203660031901126102265761199a611bd8565b303303610222576001600160a01b0381811680845260026020526040842080549293919260ff8116156108ed5760ff19169055835b600380546000198101908111611b0d5780831015611b035784866119f285611b9d565b905490851b1c1614611a0e575050611a0990611f03565b6119cf565b85611a309392611a24610b509398969798611b9d565b9054911b1c1691611b9d565b6003548015611aef578492919060001901611a4a81611b9d565b8382549160031b1b19169055806003558060045411611ae0575b50604051937f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b908480a26009541660085491813b15610caa57630b058e4560e21b855260048501929092526001600160a01b0390911660248401528290604490829084905af18015610a9857611ad7575080f35b610d0590611c13565b611ae99061209c565b38611a64565b634e487b7160e01b85526031600452602485fd5b5050509091611a30565b634e487b7160e01b87526011600452602487fd5b50346102265760203660031901126102265760043590600354821015610226576020611b4c83611b9d565b905460405160039290921b1c6001600160a01b03168152f35b9050346102225760203660031901126102225760043563ffffffff60e01b81168091036106eb576301ffc9a760e01b14815260209150f35b600354811015611bc25760036000526000805160206124ec8339815191520190600090565b634e487b7160e01b600052603260045260246000fd5b600435906001600160a01b03821682036108f557565b602435906001600160a01b03821682036108f557565b6044359081151582036108f557565b6001600160401b038111611c2657604052565b634e487b7160e01b600052604160045260246000fd5b60e081019081106001600160401b03821117611c2657604052565b604081019081106001600160401b03821117611c2657604052565b90601f801991011681019081106001600160401b03821117611c2657604052565b6001600160401b038111611c265760051b60200190565b81601f820112156108f557803591611cc183611c93565b92611ccf6040519485611c72565b808452602092838086019260051b8201019283116108f5578301905b828210611cf9575050505090565b81356001600160a01b03811681036108f5578152908301908301611ceb565b90600182811c92168015611d48575b6020831014611d3257565b634e487b7160e01b600052602260045260246000fd5b91607f1691611d27565b9060009291805491611d6383611d18565b918282526001938481169081600014611dc55750600114611d85575b50505050565b90919394506000526020928360002092846000945b838610611db1575050505001019038808080611d7f565b805485870183015294019385908201611d9a565b9294505050602093945060ff191683830152151560051b01019038808080611d7f565b919082519283825260005b848110611e14575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611df3565b6020908160408183019282815285518094520193019160005b828110611e4f575050505090565b83516001600160a01b031685529381019392810192600101611e41565b6001600160401b038111611c2657601f01601f191660200190565b81601f820112156108f557803590611e9e82611e6c565b92611eac6040519485611c72565b828452602083830101116108f557816000926020809301838601378301015290565b34611ed557565b6040513481527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c60203392a2565b6000198114611f125760010190565b634e487b7160e01b600052601160045260246000fd5b6000806003918254936004908154935b868110611f4b5750505050505050600090565b81600052600160ff60208281526040908160002090611f6986611b9d565b9054908c1b1c6001600160a01b03166000908152919052205416611fa9575b858514611f9e5750611f9990611f03565b611f38565b965050505050505090565b93848101809111611fba5793611f88565b601184634e487b7160e01b6000525260246000fd5b90611fd982611c93565b611fe66040519182611c72565b8281528092611ff7601f1991611c93565b0190602036910137565b8051821015611bc25760209160051b010190565b91908203918211611f1257565b1561202957565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b818110612090575050565b60008155600101612085565b3033036108f55760035460328111159081612167575b8161215d575b81612153575b50156108f557806004557fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a6020604051838152a16009546008546001600160a01b0390911691823b156108f557604460009283604051958694859363d6df593560e01b8552600485015260248401525af180156121475761213c5750565b61214590611c13565b565b6040513d6000823e3d90fd5b90501515386120be565b82151591506120b8565b8083111591506120b2565b61217a61240c565b6000903382526020906002825260ff91604092808486205416156108f157828552848252838520600201546001600160a01b0392908316156108ed5760019182825285872033885282528086882054166124085784875282825285872033885282528587209060ff1991848382541617905585337f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef8a80a380600654161561228d575b50505060075560095416600854813b156108f15783516338cf071f60e11b81526004810191909152336024820152604481019290925290919083908390606490829084905af19081156122845750612273575050565b61227d8291611c13565b6102265750565b513d84823e3d90fd5b600283528087892054161561240457858852838352868820338952835280878920541615612404578588528783526005878920015416612408576122d085611f28565b6122db575b8061221d565b612380918588528781528688209184600584019182541617905587806004876002860154166123186003870154966109b28d518095819301611d52565b8a519561232487611c57565b601d87527f63616c6c20726576657274656420776974686f7574206d657373616765000000868801528583519301915af13d15610aa3573d61236581611e6c565b906123728a519283611c72565b81528981933d92013e612462565b508351837f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed758780a28260095416600854813b15612404576044838980948294637a2672c760e01b845260048401528960248401525af180156123fa576123e7575b806122d5565b6123f390959195611c13565b93386123e1565b85513d88823e3d90fd5b8780fd5b8680fd5b60026007541461241d576002600755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b9091901561246e575090565b81511561247e5750805190602001fd5b60405162461bcd60e51b8152602060048201529081906124a2906024830190611de8565b0390fd5b9190601f81116124b557505050565b612145926000526020600020906020601f840160051c830193106124e1575b601f0160051c0190612085565b90915081906124d456fec2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85ba264697066735822122009dec31067b9028eb4676ea1841933df5a11bfbb669bffc33095b8b5a171a00264736f6c63430008120033"; + "0x6080806040523461001b57600160075561254790816100218239f35b600080fdfe6080806040526004361015610028575b5036156100205761001e611ed8565b005b61001e611ed8565b600090813560e01c90816301ffc9a714611b6f57508063025e7c2714611b2b578063173825d91461198a57806320ea8d86146118915780632f54bf6e146118525780633411c81c1461180657806354741525146117405780637065cb48146115d8578063784547a7146115af5780638b51d13f1461150f5780638dcc95ca146114f157806394645f27146114c8578063969e7e341461114c5780639ace38c214611047578063a0e67e2b14610fce578063a8abe69a14610e70578063b5dc40c314610d70578063b77bf60014610d52578063b781694a14610d2f578063ba51a6df14610d12578063c01a8c8414610cf2578063d74f8edd14610cd6578063dc8452cd14610cb8578063e20056e614610ab3578063ee22610b146108fa578063f06a7522146102295763f72b230d0361000f5734610226576060366003190112610226576004356001600160401b0381116102225761018a903690600401611cb4565b50610193611c0e565b506101b660065460ff8160101c16159081610210575b81156101ed575b5061202c565b60405162461bcd60e51b815260206004820152600f60248201526e139bdd08125b5c1b195b595b9d1959608a1b6044820152606490fd5b303b159150816101ff575b50826101b0565b60081c60ff166001149050826101f8565b9050600160ff8260081c1610906101a9565b5080fd5b80fd5b50346102265760c0366003190112610226576004356001600160401b0381116102225761025a903690600401611e91565b6024356001600160401b0381116106eb57610279903690600401611e91565b604435916001600160a01b03831683036108f5576084356001600160401b0381116108f1576102ac903690600401611e91565b9260a4356001600160401b0381116108ed576102cc903690600401611e91565b6001600160a01b038216156108ed57600554946040516102eb81611c46565b84815285602082015260018060a01b038416604082015260643560608201528160808201528760a08201528260c082015286885287602052604088209080518051906001600160401b0382116107fb5781906103518261034b8754611d22565b876124ac565b602090601f8311600114610889578c9261087e575b50508160011b916000199060031b1c19161782555b602081015180516001600160401b0381116107fb578060018501926103aa826103a48654611d22565b866124ac565b602090601f831160011461081a578d9261080f575b50508160011b916000199060031b1c19161790555b6002820160018060a01b036040830151166bffffffffffffffffffffffff60a01b8254161790556060810151600383015560808101519081516001600160401b0381116107fb5760048401906104348161042e8454611d22565b846124ac565b60208c601f8311600114610791579060c09583610786575b50508160011b916000199060031b1c19161790555b6005830160a0820151151560ff801983541691161790550151908151906001600160401b038211610772576006829101926104a0826103a48654611d22565b602090601f831160011461070e578b92610703575b50508160011b916000199060031b1c19161790555b6005546001810181116106ef5790600188959493920160055586855284602052867f180494405e1822cfac7f46cb28e05d25c4e51a01231c971781dfcab4f00639216105a1604088206040519182916020835260e060208401526006610534610100850183611d5c565b91610582610552601f19948588820301604089015260018401611d5c565b60028301546001600160a01b0316606088015260038301546080880152868103850160a088015260048301611d5c565b9260ff600583015416151560c08701528584030160e086015201611d5c565b0390a260018060a01b03600954169260085496604051956105c187611c46565b865260208601526001600160a01b031660408501526064356060850152608084015260a0830184905260c0830152803b156106eb576106a99383604051809681958294631f9ecc9d60e31b8452600484015289602484015260606044840152610637815160e06064860152610144850190611df2565b60c061068961065860208501519360631994858983030160848a0152611df2565b60408501516001600160a01b031660a4880152606085015160c48801526080850151878203850160e4890152611df2565b9260a0810151151561010487015201519084830301610124850152611df2565b03925af180156106e0576106cc575b6020826106c48161217c565b604051908152f35b6106d68391611c1d565b61022257816106b8565b6040513d85823e3d90fd5b8280fd5b634e487b7160e01b88526011600452602488fd5b0151905038806104b5565b848c5260208c209250601f1984168c5b81811061075a5750908460019594939210610741575b505050811b0190556104ca565b015160001960f88460031b161c19169055388080610734565b9293602060018192878601518155019501930161071e565b634e487b7160e01b8a52604160045260248afd5b01519050388061044c565b91929394601f19841685845260208420935b8181106107e3575091600193918560c098979694106107ca575b505050811b019055610461565b015160001960f88460031b161c191690553880806107bd565b929360206001819287860151815501950193016107a3565b634e487b7160e01b8b52604160045260248bfd5b0151905038806103bf565b848e5260208e209250601f1984168e5b818110610866575090846001959493921061084d575b505050811b0190556103d4565b015160001960f88460031b161c19169055388080610840565b9293602060018192878601518155019501930161082a565b015190503880610366565b858d5260208d209250601f1984168d5b8181106108d557509084600195949392106108bc575b505050811b01825561037b565b015160001960f88460031b161c191690553880806108af565b92936020600181928786015181550195019301610899565b8580fd5b8480fd5b600080fd5b50346102265780602080600319360112610ab0576004353383526002825260ff60408420541615610aac57808352600182526040832033600052825260ff6040600020541615610aac5780835282825260ff600560408520015416610aac5761096281611f32565b61096a575050f35b808352828252610a236040842060058101600160ff1982541617905560018060a01b039385806004876002860154166109b96003870154966109b26040518095819301611d5c565b0383611c7c565b604051956109c687611c61565b601d87527f63616c6c20726576657274656420776974686f7574206d657373616765000000868801528583519301915af13d15610aa3573d610a0781611e76565b90610a156040519283611c7c565b81528781933d92013e612468565b5060405191817f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed758580a26009541660085490803b156108f157838560449281958395637a2672c760e01b8552600485015260248401525af18015610a9857610a885750f35b610a9190611c1d565b6102265780f35b6040513d84823e3d90fd5b60609150612468565b5050fd5b50fd5b503461022657604036600319011261022657610acd611be2565b90610ad6611bf8565b303303610222576001600160a01b038381168084526002602052604084205460ff1615610cb4578183169485855260ff6040862054166108f157845b60038054821015610cab57848491610b2984611ba7565b9054911b1c1614610b4257610b3d90611f0d565b610b12565b95610b7085610b518899611ba7565b90919082549060031b9160018060a01b03809116831b921b1916179055565b82865260026020526040862060ff199081815416905581875260016040882091825416179055604051927f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b908780a27ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d8680a2826009541660085490803b15610ca757630b058e4560e21b845260048401919091526001600160a01b0391909116602483015284908290604490829084905af1908115610c9c578491610c88575b5050600954169060085490823b15610c8357604051633419164560e21b815260048101929092526001600160a01b031660248201529082908290818381604481015b03925af18015610a9857610a885750f35b505050fd5b610c9190611c1d565b610aac578238610c30565b6040513d86823e3d90fd5b8680fd5b50508495610b70565b8380fd5b50346102265780600319360112610226576020600454604051908152f35b5034610226578060031936011261022657602060405160328152f35b503461022657602036600319011261022657610d0f60043561217c565b80f35b503461022657602036600319011261022657610d0f6004356120a6565b5034610226578060031936011261022657602060ff600654166040519015158152f35b50346102265780600319360112610226576020600554604051908152f35b50346102265760208060031936011261022257600435906003805490610d9582611fd9565b928594865b848110610df557878787610dad82611fd9565b925b828110610dc85760405180610dc48682611e32565b0390f35b610df0906001600160a01b03610dde828561200b565b5116610dea828761200b565b52611f0d565b610daf565b818852600180845260408920610e0a83611ba7565b90546001600160a01b0391881b1c8116600090815291865260409091205460ff16610e40575b5050610e3b90611f0d565b610d9a565b610e4b839993611ba7565b905490871b1c16610e5c838961200b565b5281018091116106ef5795610e3b38610e30565b50346102265760803660031901126102265760248035600435610e91611c0e565b926064359384151585036108f5576005805491610ead83611fd9565b968892895b858110610f45578a8a8a8a610ecf610eca828461201f565b611fd9565b92815b838110610f1e578486604051918291602080840190808552835180925280604086019401925b828110610f0757505050500390f35b835185528695509381019392810192600101610ef8565b80610f2c610f40928461200b565b51610dea610f3a868461201f565b8861200b565b610ed2565b8380610fb6575b8015610f97575b610f66575b610f6190611f0d565b610eb2565b9384610f72828c61200b565b5260018101809111610f845793610f58565b634e487b7160e01b8b526011600452868bfd5b50828015610f535750808b528a60205260ff8260408d20015416610f53565b50808b528a60205260ff8260408d2001541615610f4c565b5034610226578060031936011261022657604051600380548083529083526020808301936000805160206124f283398151915292915b82821061102757610dc48561101b81890382611c7c565b60405191829182611e32565b83546001600160a01b031686529485019460019384019390910190611004565b50346102265760203660031901126102265760406111119160043581528060205220610dc4604051916110858361107e8184611d5c565b0384611c7c565b60066111376040516110a58161109e8160018801611d5c565b0382611c7c565b600284015460038501546040516001600160a01b039092169261111f906110da846110d38160048c01611d5c565b0385611c7c565b6110fd60ff60058a015416986110f6604051809a819301611d5c565b0388611c7c565b6040519a8b9a60e08c5260e08c0190611df2565b908a820360208c0152611df2565b92604089015260608801528682036080880152611df2565b91151560a085015283820360c0850152611df2565b50346102265760a036600319011261022657611166611bf8565b6001600160401b0390604435828111610cb457611187903690600401611cb4565b9060643590608435918215158093036108f557600690815460ff94858260101c1615928380946114b9575b801561149f575b6111c29061202c565b61ff00198084166101009081178755938561148c575b506001600160a01b039687168015611455576004356008556bffffffffffffffffffffffff60a01b6009541617600955855490888260101c161594859182968793611446575b801561142c575b61122e9061202c565b8316178755611419575b5087516032811115908161140e575b81611404575b816113fa575b50156113f65789805b89518110156112da5787611270828c61200b565b511682526002602081815260408420548b16158a848e836112c3575b50505015610cb4576112bc938a6112a3858f61200b565b511690525260408c20805460ff19166001179055611f0d565b8a9061125c565b6112ce92935061200b565b511615158a848e61128c565b50969089899697875191821161077257600160401b821161077257600354826003558083106113d2575b5060208098019060038b528a5b8381106113b0575050505060045585549116918260ff198316178655611376575b505061133c578280f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989162ff000019815416905560405160018152a181808280f35b62ff00ff19161783557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024988260405160018152a18480611332565b825182166000805160206124f283398151915282015591890191600101611311565b6113f090836000805160206124f2833981519152918201910161208f565b8a611304565b8980fd5b9050151538611253565b821515915061124d565b808311159150611247565b62ffff0019166201010017855538611238565b50303b1580156112255750600884901c8b16600114611225565b5060018b8560081c161061121e565b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fd5b62ffff00191662010100178655386111d8565b50303b1580156111b95750600883901c87166001146111b9565b506001878460081c16106111b2565b50346102265780600319360112610226576009546040516001600160a01b039091168152602090f35b50346102265780600319360112610226576020600854604051908152f35b5034610226576020908160031936011261022657600380548291600435835b83811061153f578686604051908152f35b81855260018088526040862061155483611ba7565b905490861b1c6001600160a01b03166000908152908952604090205460ff16611587575b5061158290611f0d565b61152e565b8691960180911161159b5794611582611578565b634e487b7160e01b85526011600452602485fd5b50346102265760203660031901126102265760206115ce600435611f32565b6040519015158152f35b5034610226576020366003190112610226576115f2611be2565b90303303610226576001600160a01b03828116808352600260205260408320549193909160ff166106eb5781156106eb576003546001810180911161172c576004549060328111159182611721575b82611717575b508161170d575b50156106eb57818352600260205260408320805460ff1916600117905560035493600160401b8510156116f95761169082610b51876001889901600355611ba7565b604051927ff39e6e1eb0edcf53c221607b54b00cd28f3196fed0a24994dc308b8f611b682d8580a26009541660085490803b156108f157633419164560e21b845260048401919091526001600160a01b0390911660248301528290829081838160448101610c72565b634e487b7160e01b84526041600452602484fd5b905015153861164e565b1515915038611647565b818111159250611641565b634e487b7160e01b84526011600452602484fd5b50346102265760403660031901126102265760043580151581036108f55760249182359081151582036108f5578092819260058054945b85811061178957602087604051908152f35b83806117ee575b80156117cf575b6117aa575b6117a590611f0d565b611777565b95600181018091116117bc579561179c565b634e487b7160e01b855260116004528785fd5b5082801561179757508085528460205260ff8260408720015416611797565b508085528460205260ff826040872001541615611790565b5034610226576040366003190112610226576040611822611bf8565b9160043581526001602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b50346102265760203660031901126102265760209060ff906040906001600160a01b0361187d611be2565b168152600284522054166040519015158152f35b50346102265780602080600319360112610ab057600435906118b1612412565b3383526002815260ff60408420541615610aac57818352600181526040832033600052815260ff6040600020541615610aac5781835282815260ff600560408520015416610aac576001815260408320903360005252604060002060ff1981541690556040519080337ff6a317157440607f36269043eb55f1287a5a19ba2216afeab88cd46cbcfb88e98580a36001600755600954600854906001600160a01b0316803b156108f1576303df7ba160e31b8452600484019190915233602484015260448301919091528290829081838160648101610c72565b5034610226576020366003190112610226576119a4611be2565b303303610222576001600160a01b0381811680845260026020526040842080549293919260ff8116156108ed5760ff19169055835b600380546000198101908111611b175780831015611b0d5784866119fc85611ba7565b905490851b1c1614611a18575050611a1390611f0d565b6119d9565b85611a3a9392611a2e610b519398969798611ba7565b9054911b1c1691611ba7565b6003548015611af9578492919060001901611a5481611ba7565b8382549160031b1b19169055806003558060045411611aea575b50604051937f8001553a916ef2f495d26a907cc54d96ed840d7bda71e73194bf5a9df7a76b908480a26009541660085491813b15610cb457630b058e4560e21b855260048501929092526001600160a01b0390911660248401528290604490829084905af18015610a9857611ae1575080f35b610d0f90611c1d565b611af3906120a6565b38611a6e565b634e487b7160e01b85526031600452602485fd5b5050509091611a3a565b634e487b7160e01b87526011600452602487fd5b50346102265760203660031901126102265760043590600354821015610226576020611b5683611ba7565b905460405160039290921b1c6001600160a01b03168152f35b9050346102225760203660031901126102225760043563ffffffff60e01b81168091036106eb576301ffc9a760e01b14815260209150f35b600354811015611bcc5760036000526000805160206124f28339815191520190600090565b634e487b7160e01b600052603260045260246000fd5b600435906001600160a01b03821682036108f557565b602435906001600160a01b03821682036108f557565b6044359081151582036108f557565b6001600160401b038111611c3057604052565b634e487b7160e01b600052604160045260246000fd5b60e081019081106001600160401b03821117611c3057604052565b604081019081106001600160401b03821117611c3057604052565b90601f801991011681019081106001600160401b03821117611c3057604052565b6001600160401b038111611c305760051b60200190565b81601f820112156108f557803591611ccb83611c9d565b92611cd96040519485611c7c565b808452602092838086019260051b8201019283116108f5578301905b828210611d03575050505090565b81356001600160a01b03811681036108f5578152908301908301611cf5565b90600182811c92168015611d52575b6020831014611d3c57565b634e487b7160e01b600052602260045260246000fd5b91607f1691611d31565b9060009291805491611d6d83611d22565b918282526001938481169081600014611dcf5750600114611d8f575b50505050565b90919394506000526020928360002092846000945b838610611dbb575050505001019038808080611d89565b805485870183015294019385908201611da4565b9294505050602093945060ff191683830152151560051b01019038808080611d89565b919082519283825260005b848110611e1e575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201611dfd565b6020908160408183019282815285518094520193019160005b828110611e59575050505090565b83516001600160a01b031685529381019392810192600101611e4b565b6001600160401b038111611c3057601f01601f191660200190565b81601f820112156108f557803590611ea882611e76565b92611eb66040519485611c7c565b828452602083830101116108f557816000926020809301838601378301015290565b34611edf57565b6040513481527fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c60203392a2565b6000198114611f1c5760010190565b634e487b7160e01b600052601160045260246000fd5b6000806003918254936004908154935b868110611f555750505050505050600090565b81600052600160ff60208281526040908160002090611f7386611ba7565b9054908c1b1c6001600160a01b03166000908152919052205416611fb3575b858514611fa85750611fa390611f0d565b611f42565b965050505050505090565b93848101809111611fc45793611f92565b601184634e487b7160e01b6000525260246000fd5b90611fe382611c9d565b611ff06040519182611c7c565b8281528092612001601f1991611c9d565b0190602036910137565b8051821015611bcc5760209160051b010190565b91908203918211611f1c57565b1561203357565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b81811061209a575050565b6000815560010161208f565b3033036108f55760035460328111159081612171575b81612167575b8161215d575b50156108f557806004557fa3f1ee9126a074d9326c682f561767f710e927faa811f7a99829d49dc421797a6020604051838152a16009546008546001600160a01b0390911691823b156108f557604460009283604051958694859363d6df593560e01b8552600485015260248401525af18015612151576121465750565b61214f90611c1d565b565b6040513d6000823e3d90fd5b90501515386120c8565b82151591506120c2565b8083111591506120bc565b612184612412565b6000903382526020906002825260ff91604092808486205416156108f157828552848252838520600201546001600160a01b0392908316156108ed576001918282528587203388528252808688205416610ca75784875282825285872033885282528587209060ff1991848382541617905585337f4a504a94899432a9846e1aa406dceb1bcfd538bb839071d49d1e5e23f5be30ef8a80a3806006541615612297575b50505060075560095416600854813b156108f15783516338cf071f60e11b81526004810191909152336024820152604481019290925290919083908390606490829084905af190811561228e575061227d575050565b6122878291611c1d565b6102265750565b513d84823e3d90fd5b600283528087892054161561240e5785885283835286882033895283528087892054161561240e578588528783526005878920015416610ca7576122da85611f32565b6122e5575b80612227565b61238a918588528781528688209184600584019182541617905587806004876002860154166123226003870154966109b28d518095819301611d5c565b8a519561232e87611c61565b601d87527f63616c6c20726576657274656420776974686f7574206d657373616765000000868801528583519301915af13d15610aa3573d61236f81611e76565b9061237c8a519283611c7c565b81528981933d92013e612468565b508351837f33e13ecb54c3076d8e8bb8c2881800a4d972b792045ffae98fdf46df365fed758780a28260095416600854813b1561240e576044838980948294637a2672c760e01b845260048401528960248401525af18015612404576123f1575b806122df565b6123fd90959195611c1d565b93386123eb565b85513d88823e3d90fd5b8780fd5b600260075414612423576002600755565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b90919015612474575090565b8151156124845750805190602001fd5b60405162461bcd60e51b8152602060048201529081906124a8906024830190611df2565b0390fd5b9190601f81116124bb57505050565b61214f926000526020600020906020601f840160051c830193106124e7575b601f0160051c019061208f565b90915081906124da56fec2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85ba264697066735822122098db35da1646fedc4fff03b1a91e29c7b573d44d735f2906dc804a3c0bc0836c64736f6c63430008120033"; type EndowmentMultiSigConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/index.ts b/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/index.ts index 5bf938c9f..0dfc5d187 100644 --- a/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/index.ts +++ b/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/index.ts @@ -2,6 +2,6 @@ /* tslint:disable */ /* eslint-disable */ export * as endowmentMultiSigFactorySol from "./EndowmentMultiSigFactory.sol"; -export * as interface from "./interface"; +export * as interfaces from "./interfaces"; export { EndowmentMultiSig__factory } from "./EndowmentMultiSig__factory"; export { EndowmentMultiSigEmitter__factory } from "./EndowmentMultiSigEmitter__factory"; diff --git a/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigEmitter__factory.ts b/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigEmitter__factory.ts similarity index 97% rename from typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigEmitter__factory.ts rename to typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigEmitter__factory.ts index 54f3d0b0b..cb80db876 100644 --- a/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigEmitter__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigEmitter__factory.ts @@ -7,7 +7,7 @@ import type { Provider } from "@ethersproject/providers"; import type { IEndowmentMultiSigEmitter, IEndowmentMultiSigEmitterInterface, -} from "../../../../../contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigEmitter"; +} from "../../../../../contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigEmitter"; const _abi = [ { @@ -65,22 +65,22 @@ const _abi = [ }, { internalType: "address", - name: "curEmitter", + name: "emitter", type: "address", }, { internalType: "address[]", - name: "curOwners", + name: "owners", type: "address[]", }, { internalType: "uint256", - name: "curRequired", + name: "required", type: "uint256", }, { internalType: "bool", - name: "curRequireexecution", + name: "requireexecution", type: "bool", }, ], diff --git a/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigFactory__factory.ts b/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigFactory__factory.ts similarity index 95% rename from typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigFactory__factory.ts rename to typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigFactory__factory.ts index b82769e36..2010769ea 100644 --- a/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigFactory__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigFactory__factory.ts @@ -7,7 +7,7 @@ import type { Provider } from "@ethersproject/providers"; import type { IEndowmentMultiSigFactory, IEndowmentMultiSigFactoryInterface, -} from "../../../../../contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigFactory"; +} from "../../../../../contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigFactory"; const _abi = [ { @@ -24,12 +24,12 @@ const _abi = [ }, { internalType: "address[]", - name: "curOwners", + name: "owners", type: "address[]", }, { internalType: "uint256", - name: "curRequired", + name: "required", type: "uint256", }, ], diff --git a/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interface/index.ts b/typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interfaces/index.ts similarity index 100% rename from typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interface/index.ts rename to typechain-types/factories/contracts/normalized_endowment/endowment-multisig/interfaces/index.ts diff --git a/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/IncentivisedVotingLockup__factory.ts b/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/IncentivisedVotingLockup__factory.ts index a8cb2a210..e88256bb6 100644 --- a/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/IncentivisedVotingLockup__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/IncentivisedVotingLockup__factory.ts @@ -203,7 +203,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curOwner", + name: "owner", type: "address", }, ], @@ -222,12 +222,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curOwner", + name: "owner", type: "address", }, { internalType: "uint256", - name: "curBlocknumber", + name: "blocknumber", type: "uint256", }, ], @@ -253,12 +253,12 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curValue", + name: "value", type: "uint256", }, { internalType: "uint256", - name: "curUnlocktime", + name: "unlocktime", type: "uint256", }, ], @@ -284,7 +284,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curAddr", + name: "addr", type: "address", }, ], @@ -324,7 +324,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curAddr", + name: "addr", type: "address", }, ], @@ -353,7 +353,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curAddr", + name: "addr", type: "address", }, ], @@ -385,7 +385,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curValue", + name: "value", type: "uint256", }, ], @@ -398,7 +398,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curUnlocktime", + name: "unlocktime", type: "uint256", }, ], @@ -411,17 +411,17 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curStakingtoken", + name: "stakingtoken", type: "address", }, { internalType: "string", - name: "curName", + name: "name", type: "string", }, { internalType: "string", - name: "curSymbol", + name: "symbol", type: "string", }, ], @@ -632,7 +632,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curAddr", + name: "addr", type: "address", }, ], @@ -690,7 +690,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curBlocknumber", + name: "blocknumber", type: "uint256", }, ], @@ -709,7 +709,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curNewowner", + name: "newowner", type: "address", }, ], @@ -805,7 +805,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608080604052346100435760006001815560018060b01b0319600354166003556012600c5580600d5580600e5580600f558060105560115561327d90816100498239f35b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde0314611af1575081630700037d14611ab95781630f73d0b4146119c957816318160ddd1461199d578163313ce5671461197e57816334d901a4146119395781633ccfd60b146103815781633fdd420e14611913578163403f4447146117115781634c2067c7146116ed5781634ee2cd7e146116c45781635719098b146116a65781636316028214611485578163700a4a741461144d57816370a082311461142757816372f702f3146113fe5781637b0a47ee146113df57816381fc83bb146113a75781638ad4c447146113485781638b87634714611310578163901d13e214610fe05781639065714714610b3857816395d89b4114610a57578163981b24d014610a30578163af5bb34e14610a11578163b52c05fe146107d1578163c2c4c5c114610535578163c4698ee5146104f7578163c8f33c91146104d8578163cbf9fe5f14610487578163d5a73fdd146103a5578163df136d6514610386578163e9fad8ee14610381578163ebe2b12b14610362578163ee00ef3a14610343578163efe7a50414610324578163f2fde38b14610230578163f52a36f714610201575063f851a440146101d257600080fd5b346101fd57816003193601126101fd57600354905160089190911c6001600160a01b03168152602090f35b5080fd5b90503461022c57602036600319011261022c576020928291358152600884522054600f0b9051908152f35b8280fd5b90503461022c57602036600319011261022c5761024b611ca8565b6001600160a01b0392909190838316156102e157600354938460081c163303610294575050610100600160a81b031990911660089190911b610100600160a81b03161760035580f35b906020608492519162461bcd60e51b8352820152602160248201527f4f6e6c79206f776e65722063616e207472616e73666572206f776e65727368696044820152600760fc1b6064820152fd5b906020606492519162461bcd60e51b8352820152602060248201527f4e6577206f776e65722063616e6e6f74206265207a65726f20616464726573736044820152fd5b5050346101fd57816003193601126101fd576020906002549051908152f35b5050346101fd57816003193601126101fd57602090516301e133808152f35b5050346101fd57816003193601126101fd57602090600d549051908152f35b611d30565b5050346101fd57816003193601126101fd576020906011549051908152f35b828434610484576020366003190112610484576001600160a01b036103c8611ca8565b1691828252600960205261040a6103e482842054600f0b61270e565b84845260096020526104046103ff60028587200154426120dc565b61270e565b906120e9565b928252600960205261042b6103ff82842060026001820154910154906120dc565b92600f0b92600f0b9182156104715760016001607f1b0319841460001984141661045e575060209350519105600f0b8152f35b634e487b7160e01b815260118552602490fd5b634e487b7160e01b815260128552602490fd5b80fd5b5050346101fd5760203660031901126101fd5760609181906001600160a01b036104af611ca8565b1681526009602052208054600f0b91600260018301549201549181519384526020840152820152f35b5050346101fd57816003193601126101fd576020906010549051908152f35b5050346101fd5760203660031901126101fd5760609061051d610518611ca8565b612063565b919290815193600f0b8452600f0b6020840152820152f35b8383346101fd57816003193601126101fd5780519261055384611bd3565b82845282826020958287820152015261056a6120b7565b506105736120b7565b50805490825161058281611c05565b8481528486820152428482015243606082015292826107b7575b80840195865196606086019788518451936105b685611c05565b898552898186015260608686019584875201918252899380514211610762575b916105e48497969594612acb565b928b975b60ff8910610601575b8c6105fe8d8d8d55611f6e565b80f35b62093a8085969798999b9293949501809611610710578c908c878b849942811160001461073357505050869783809281999899429b8c9461066761065e6106546103ff610674955b88019b8c519a6120dc565b600f98890b6120e9565b8551880b61212f565b860b84528751860b612154565b840b938487528251900b1261072b575b505012610723575b505084908583528d6106bd8651670de0b6b3a76400006106b66106b08d518c6120dc565b8c612ab8565b0490612009565b90526001810180911161071057994286036106f2575050505050505050506105fe9394439052849386808080808080806105f1565b610704906106ff8d611f6e565b612120565b979695949391906105e8565b634e487b7160e01b8d5260118a5260248dfd5b528b8e61068c565b52818f610684565b829a5092856106748b61066761065e6106549d9e9d6103ff869a988799885260088652872054600f0b94610649565b935061076f8b51436120dc565b670de0b6b3a7640000908181029181830414901517156107a45761079e906107988651426120dc565b90612100565b936105d6565b634e487b7160e01b8b526011885260248bfd5b92506107cb6107c583611cc3565b5061202c565b9261059c565b8383346101fd57806003193601126101fd578235906107ee61285f565b6107fd60ff6003541615612771565b610808602435612acb565b3384526020906009825282852095600187549701549684519061082a82611bd3565b600f0b81528381019788528481019242845286151592610849846127b3565b8251600f0b6109ce574282111561097c5750976108ec9188996108706002548211156127ff565b8151600f0b92519551906108a789519461088986611bd3565b8086528986019889528a86019384526108a18c61270e565b90612154565b600f0b845280610974575b50338a52600987526002888b209184516001600160801b0319845416906001600160801b031617835587516001840155519101553361217a565b61092d575b5190825193845283015242908201527fbe9cf0e939c614fad640a623a53ba0a807c8cb503c4c4c8dacabe27b86ff2dd560603392a36001815580f35b60015483516323b872dd60e01b848201523360248201523060448201526064808201879052815261096f916001600160a01b031661096a82611c21565b6128b5565b6108f1565b86528b6108b2565b865162461bcd60e51b8152908101869052602660248201527f43616e206f6e6c79206c6f636b20756e74696c2074696d6520696e207468652060448201526566757475726560d01b6064820152608490fd5b865162461bcd60e51b8152908101869052601960248201527f5769746864726177206f6c6420746f6b656e73206669727374000000000000006044820152606490fd5b5050346101fd57816003193601126101fd57602090600f549051908152f35b8284346104845760203660031901126104845750610a5060209235612f11565b9051908152f35b5050346101fd57816003193601126101fd5780519082600b54610a7981611b99565b80855291600191808316908115610b105750600114610ab3575b505050610aa582610aaf940383611c3d565b5191829182611c5f565b0390f35b9450600b85527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db95b828610610af857505050610aa5826020610aaf9582010194610a93565b80546020878701810191909152909501948101610adb565b610aaf975086935060209250610aa594915060ff191682840152151560051b82010194610a93565b90503461022c57606036600319011261022c57610b53611ca8565b9160249067ffffffffffffffff8235818111610fdc57610b769036908601611f27565b604435828111610fd857610b8d9036908701611f27565b600396875460ff8160a81c16610fa05760ff60a81b1916600160a81b178855600180546001600160a01b0319166001600160a01b0392909216918217815585519095909188908b90610bde85611c05565b818552610bfd6020958693848201524286820152436060820152611f6e565b835163313ce56760e01b815292839182905afa908115610f96578b91610f5a575b5060ff6012911680600c5511610f0e57508251848111610efc5780610c44600a54611b99565b94601f95868111610e8f575b508390868311600114610e11578c92610e06575b5050600019828b1b1c191690861b17600a555b8151938411610df457610c8b600b54611b99565b838111610d92575b5080928411600114610d1057509282939183928994610d05575b50501b9160001990861b1c191617600b555b6301e13380420191824211610cf45750506002558054610100600160a81b0319163360081b610100600160a81b031617905580f35b634e487b7160e01b85526011905283fd5b015192503880610cad565b919083601f198116600b8b527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9948b905b88838310610d785750505010610d60575b505050811b01600b55610cbf565b015160001983881b60f8161c19169055388080610d52565b858701518855909601959485019487935090810190610d41565b600b8a527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db98480870160051c820192848810610deb575b0160051c019086905b828110610de0575050610c93565b8b8155018690610dd2565b92508192610dc9565b634e487b7160e01b8952604187528589fd5b015190503880610c64565b600a8d528893507fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a89190601f1984168e5b87828210610e795750508411610e61575b505050811b01600a55610c77565b0151600019838d1b60f8161c19169055388080610e53565b8385015186558c97909501949384019301610e42565b909150600a8c527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a88680850160051c820192868610610ef3575b918a91869594930160051c01915b828110610ee5575050610c50565b8e81558594508a9101610ed7565b92508192610ec9565b634e487b7160e01b8a5260418852868afd5b5162461bcd60e51b8152808801919091526021818701527f43616e6e6f742068617665206d6f7265207468616e20313820646563696d616c6044820152607360f81b6064820152608490fd5b90508281813d8311610f8f575b610f718183611c3d565b81010312610f8b575160ff81168103610f8b5760ff610c1e565b8a80fd5b503d610f67565b82513d8d823e3d90fd5b855162461bcd60e51b81526020818a015260138189015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b8780fd5b8680fd5b9190503461022c576020918260031936011261130c57610ffe611ca8565b9261100e60ff6003541615612771565b6001600160a01b0384811680875260098352848720855191969291889061103481611bd3565b8254600f0b90818152886002600186015495868a8501520154910152139081611301575b50156112bf576110678261302a565b1561127d5761107461285f565b8587526009835284872093600185015460028654600f0b96015487519661109a88611bd3565b87528186880152878701524210801590611271575b1561123557878551600f0b13156111f25750938386936111c1897ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689561096a7f3a1df3c76d2dfab31786674a912f29b53c3a12a052fe94502a99e66f9286bf3f9a61111e889b51600f0b612a69565b96879489519061112d82611bd3565b80825260028d8c8b85019380855281860192818452815260098d52209284516001600160801b0319855416906001600160801b03161784555160018401555191015560ff60035416156111e1575b5050600154885163a9059cbb60e01b888201526001600160a01b03909416602485015260448401949094529192919091169082606481015b03601f198101845283611c3d565b82519182524290820152a26001845551328152426020820152604090a280f35b6111eb918561217a565b388061117b565b855162461bcd60e51b8152908101849052601f60248201527f4d757374206861766520736f6d657468696e6720746f207769746864726177006044820152606490fd5b855162461bcd60e51b81529081018490526016602482015275546865206c6f636b206469646e27742065787069726560501b6044820152606490fd5b5060ff600354166110af565b5050606492519162461bcd60e51b8352820152601c60248201527f55736572206d7573742068617665206578697374696e672062696173000000006044820152fd5b5050606492519162461bcd60e51b8352820152601860248201527f5573657273206c6f636b206469646e27742065787069726500000000000000006044820152fd5b905042101538611058565b8380fd5b5050346101fd5760203660031901126101fd5760209181906001600160a01b03611338611ca8565b1681526012845220549051908152f35b839150346101fd5760203660031901126101fd573590600554821015610484575061137290611cc3565b50805460018201546002909201549251600f82810b8252608092831d900b602082015260408101929092526060820192909252f35b5050346101fd5760203660031901126101fd5760209181906001600160a01b036113cf611ca8565b1681526007845220549051908152f35b5050346101fd57816003193601126101fd57602090600e549051908152f35b5050346101fd57816003193601126101fd5760015490516001600160a01b039091168152602090f35b5050346101fd5760203660031901126101fd57602090610a50611448611ca8565b612ae5565b5050346101fd5760203660031901126101fd5760209181906001600160a01b03611475611ca8565b1681526014845220549051908152f35b8383346101fd576020908160031936011261022c576114a261285f565b6114b160ff6003541615612771565b33835260098252808320600181549101548251916114ce83611bd3565b600f0b8252838201908152828201914283526114ea8735612acb565b868251600f0b131561166f57428351111561163d5782518111156115fa576115166002548211156127ff565b8151600f0b925193519085519361152c85611bd3565b80855287850195865286850192835260016001607f1b03811360016001607f1b03198212176115e757600298995090849392916115a39552806115df575b503389526009875287868a209184516001600160801b0319845416906001600160801b031617835586516001840155519101553361217a565b5181519285845283015242908201527fbe9cf0e939c614fad640a623a53ba0a807c8cb503c4c4c8dacabe27b86ff2dd560603392a36001815580f35b85528961156a565b634e487b7160e01b895260118a52602489fd5b845162461bcd60e51b8152808901879052601b60248201527f43616e206f6e6c7920696e637265617365206c6f636b205745454b00000000006044820152606490fd5b845162461bcd60e51b8152808901879052600c60248201526b131bd8dac8195e1c1a5c995960a21b6044820152606490fd5b845162461bcd60e51b81528089018790526011602482015270139bdd1a1a5b99c81a5cc81b1bd8dad959607a1b6044820152606490fd5b90503461022c578260031936011261022c5760209250549051908152f35b5050346101fd57806003193601126101fd57602090610a506116e4611ca8565b60243590612bca565b5050346101fd57816003193601126101fd5760209060ff6003541690519015158152f35b8383346101fd576020908160031936011261022c5783359161173161285f565b61174060ff6003541615612771565b3384526009815281842094855490600260018801549701549184519061176582611bd3565b600f0b815283810197885284810192835285151591611783836127b3565b878251600f0b13156118d75788514210156118885750600196978161180e9251600f0b915194516117d18851936117b985611bd3565b8085528885019788528985019283526108a18b61270e565b600f0b8352338b52600987526002888c209184516001600160801b0319845416906001600160801b031617835587518c840155519101553361217a565b61184e575190825193845283015242908201527fbe9cf0e939c614fad640a623a53ba0a807c8cb503c4c4c8dacabe27b86ff2dd560603392a36001815580f35b61096f858060a01b038654168451906323b872dd60e01b858301523360248301523060448301528660648301526064825261096a82611c21565b855162461bcd60e51b81529081018590526024808201527f43616e6e6f742061646420746f2065787069726564206c6f636b2e20576974686044820152636472617760e01b6064820152608490fd5b855162461bcd60e51b81529081018590526016602482015275139bc8195e1a5cdd1a5b99c81b1bd8dac8199bdd5b9960521b6044820152606490fd5b5050346101fd5760203660031901126101fd57602090610a50611934611ca8565b61302a565b5050346101fd57806003193601126101fd57611953611ca8565b6001600160a01b0316825260066020528082208054602435919082101561130c579061137291611d14565b5050346101fd57816003193601126101fd57602090600c549051908152f35b82843461048457806003193601126104845750610a506119c26107c560209454611cc3565b4290612e2e565b90503461022c578260031936011261022c57600354916119ec60ff841615612771565b600883901c6001600160a01b03163303611a7657600d54421115611a3d5760ff198316600117600355837f203d82d8d99f63bfecc8335216735e0271df4249ea752b030f9ab305b94e5afe8180a180f35b906020606492519162461bcd60e51b835282015260136024820152722832b934b7b21036bab9ba1031329037bb32b960691b6044820152fd5b906020606492519162461bcd60e51b8352820152601e60248201527f4f6e6c79206f776e65722063616e2065787069726520636f6e747261637400006044820152fd5b5050346101fd5760203660031901126101fd5760209181906001600160a01b03611ae1611ca8565b1681526013845220549051908152f35b8490843461022c578260031936011261022c5782600a54611b1181611b99565b80855291600191808316908115610b105750600114611b3c57505050610aa582610aaf940383611c3d565b9450600a85527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85b828610611b8157505050610aa5826020610aaf9582010194610a93565b80546020878701810191909152909501948101611b64565b90600182811c92168015611bc9575b6020831014611bb357565b634e487b7160e01b600052602260045260246000fd5b91607f1691611ba8565b6060810190811067ffffffffffffffff821117611bef57604052565b634e487b7160e01b600052604160045260246000fd5b6080810190811067ffffffffffffffff821117611bef57604052565b60a0810190811067ffffffffffffffff821117611bef57604052565b90601f8019910116810190811067ffffffffffffffff821117611bef57604052565b6020808252825181830181905290939260005b828110611c9457505060409293506000838284010152601f8019910116010190565b818101860151848201604001528501611c72565b600435906001600160a01b0382168203611cbe57565b600080fd5b600554811015611cfe576003906005600052027f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00190600090565b634e487b7160e01b600052603260045260246000fd5b8054821015611cfe576000526003602060002091020190600090565b34611cbe5760008060031936011261048457611d4a61285f565b338152602060098152604080832091600183015460028454940154835194611d7186611bd3565b600f0b85528183860152838501524210801590611eff575b15611ec457838351600f0b1315611e8257907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56891611dca8451600f0b612a69565b938251611dd681611bd3565b8681528281018781526002858301898152338a5260098652868a209284516001600160801b0319855416906001600160801b03161784555160018401555191015560ff6003541615611e71575b5050600154825163a9059cbb60e01b8382015233602482015260448101869052611e5d916001600160a01b031661096a82606481016111b3565b815193845242908401523392a26001815580f35b611e7b913361217a565b3880611e23565b606491519062461bcd60e51b82526004820152601f60248201527f4d757374206861766520736f6d657468696e6720746f207769746864726177006044820152fd5b606491519062461bcd60e51b825260048201526016602482015275546865206c6f636b206469646e27742065787069726560501b6044820152fd5b5060ff60035416611d89565b67ffffffffffffffff8111611bef57601f01601f191660200190565b81601f82011215611cbe57803590611f3e82611f0b565b92611f4c6040519485611c3d565b82845260208383010111611cbe57816000926020809301838601378301015290565b600554600160401b811015611bef57806001611f8d9201600555611cc3565b919091611fd6578051602082015160801b6fffffffffffffffffffffffffffffffff19166001600160801b03909116178255604081015160018301556060015160029190910155565b634e487b7160e01b600052600060045260246000fd5b8054600160401b811015611bef57611f8d91600182018155611d14565b9190820180921161201657565b634e487b7160e01b600052601160045260246000fd5b9060405161203981611c05565b606060028294805480600f0b855260801d600f0b6020850152600181015460408501520154910152565b6001600160a01b031660009081526007602052604081205480156120b0576107c590604061209693600660205220611d14565b908151600f0b9060406020840151600f0b93015191929190565b5080918190565b604051906120c482611c05565b60006060838281528260208201528260408201520152565b9190820391821161201657565b90600f0b90600f0b029081600f0b91820361201657565b811561210a570490565b634e487b7160e01b600052601260045260246000fd5b60001981146120165760010190565b600f91820b910b039060016001607f1b0319821260016001607f1b0383131761201657565b90600f0b90600f0b019060016001607f1b0319821260016001607f1b0383131761201657565b9190916121856120b7565b9261218e6120b7565b9260009485936004549060018060a01b03169081612536575b6040516121b381611c05565b60008152600060208201524260408201524360608201529080612522575b6040820151606083015190604051916121e983611c05565b60008352600060208401528160408401526060830152600091604085015142116124cb575b612219829392612acb565b916000935b60ff851061239c575b50505050509061223e916004558261232057611f6e565b61224b575b505050505050565b602080930195428751116122bf575b5050019283519042821161226f575b80612243565b511061227d575b8080612269565b602061228e920151600f0b9061212f565b905160005260086020526040600020906001600160801b0319825416906001600160801b0316179055388080612276565b836122cf920151600f0b90612154565b8282015186511461230a575b8551600052600883526040600020906001600160801b0319825416906001600160801b0316179055388061225a565b61231b9083860151600f0b9061212f565b6122db565b60006020820180519061234f61234260208d015193600f94850b90850b612154565b6020890151840b9061212f565b820b8152826123736123698d8751860b9051860b90612154565b8951850b9061212f565b830b928386528251900b12612393575b501215611f6e5760008152611f6e565b82905238612383565b62093a808495969401809511612016578694600090804281111561249f575050602095600061240181936123f46123eb6123e16103ff429d8e985b01998a51986120dc565b600f96870b6120e9565b8d51860b61212f565b840b8c528551840b612154565b820b918285528a51900b12612497575b1261248d575b5083928460408801526124486060840151670de0b6b3a76400006106b661244260408801518a6120dc565b86612ab8565b60608801526001810180911161201657944285036124795750504360608601525061223e9150389050808080612227565b612486906106ff88611f6e565b939261221e565b6000905238612417565b818952612411565b61240182986123f46123eb6123e16103ff602060408a60009b998c9a52600883522054600f0b956123d7565b916124da6060860151436120dc565b90670de0b6b3a76400009182810292818404149015171561250e5750612508906107986040870151426120dc565b9161220e565b634e487b7160e01b81526011600452602490fd5b90506125306107c582611cc3565b906121d1565b60208086018051421080612701575b6126d3575b818601998a9242845111806126c6575b612696575b858252600781528a8761259861259060409785898820549586159586612680575b5001519051904290600f0b6130be565b600f54612009565b9015612636575b600f55600181018091116126225782916008918887955260078252848420558c84429101528c606043910152878352600681526125de8d858520611fec565b84518352522054600f0b995190816125f9575b5050506121a7565b519297509091810361261257505086945b3880806125f1565b60005260002054600f0b9461260a565b634e487b7160e01b83526011600452602483fd5b61267b908885526006845261267561265084898820611d14565b505460801d8a875260068652600161266a868b8a20611d14565b5001548851916130be565b906120dc565b61259f565b61269090600684528c8b20611fec565b8d612580565b6126bc818c6301e133808b51600f0b05600f0b91829101526104046103ff4288516120dc565b600f0b8b5261255f565b50818851600f0b1361255a565b6126f76301e133808851600f0b05600f0b80848801526104046103ff4285516120dc565b600f0b855261254a565b50898751600f0b13612545565b9081600f0b91820361271c57565b60405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608490fd5b1561277857565b60405162461bcd60e51b815260206004820152601360248201527210dbdb9d1c9858dd081a5cc8195e1c1a5c9959606a1b6044820152606490fd5b156127ba57565b60405162461bcd60e51b815260206004820152601a60248201527f4d757374207374616b65206e6f6e207a65726f20616d6f756e740000000000006044820152606490fd5b1561280657565b60405162461bcd60e51b815260206004820152602b60248201527f566f74696e67206c6f636b2063616e20626520312079656172206d617820287560448201526a6e74696c207265636f6c2960a81b6064820152608490fd5b600260005414612870576002600055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b60018060a01b031690604051604081019080821067ffffffffffffffff831117611bef57612945916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d156129d0573d9161292a83611f0b565b926129386040519485611c3d565b83523d868885013e6129d4565b805180612953575b50505050565b818491810103126101fd578201519081159182150361048457506129795780808061294d565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b6060915b91929015612a3657508151156129e8575090565b3b156129f15790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b825190915015612a495750805190602001fd5b60405162461bcd60e51b8152908190612a659060048301611c5f565b0390fd5b60008112612a745790565b606460405162461bcd60e51b815260206004820152602060248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152fd5b8181029291811591840414171561201657565b62093a808091048181029181830414901517156120165790565b6001600160a01b03166000908152600760205260408120548015612b6f5790612b1c6107c5612b6493600660205260408420611d14565b9080612b4e8351612b456020860151612b3c6103ff6040890151426120dc565b90600f0b6120e9565b90600f0b61212f565b600f0b80845212612b67575b5051600f0b612a69565b90565b815238612b5a565b5090565b15612b7a57565b60405162461bcd60e51b815260206004820152602260248201527f4d757374207061737320626c6f636b206e756d62657220696e207468652070616044820152611cdd60f21b6064820152608490fd5b90612bd743821115612b73565b60009160018060a01b031691828152602090600782526040938482205482905b60808210612d3e575b50508115612d3457612c20916107c5916000526006845285600020611d14565b9260045490612c2f8285612db0565b93612c3c6107c586611cc3565b92851015612d025760018501809511612016576103ff612b4593612b3c92612c696107c5612caf99611cc3565b90612c8e86612c8160608501516060870151906120dc565b93015187850151906120dc565b905b868401519383612ccd575b5050505087519588015193880151906120dc565b600f0b9081905260008112612cc757612b6490612a69565b50600090565b612cf392612ce8612cf99695936060612cee940151906120dc565b90612ab8565b612100565b90612009565b38808080612c9b565b612caf94506103ff83612b3c92612d206060612b45970151436120dc565b90612d2e86840151426120dc565b90612c90565b5050505050600090565b909281811015612daa57612d528282612009565b6001808201809211612016571c908360005260068652866002612d78848b600020611d14565b50015411612d915750612d8b9093612120565b90612bf7565b939150600019810190811161201657612d8b9091612120565b92612c00565b6000919082915b60808310612dc6575b50505090565b90919281811015612e2857612ddb8282612009565b6001808201809211612016571c90836002612df584611cc3565b50015411612e0f5750612e089093612120565b9190612db7565b939150600019810190811161201657612e089091612120565b92612dc0565b9190916040808201612e408151612acb565b9460005b60ff8110612e76575b50505050612b6491925060008151600f0b12612e6d575b51600f0b612a69565b60008152612e64565b62093a808701809711612016576000968083811115612efd57505081965b87865191612ec66020890193612ebe8551612eb66103ff600f978c51906120dc565b90860b6120e9565b90840b61212f565b820b8852848a14612ef55790612ee48392612ef0959451830b612154565b900b9052878452612120565b612e44565b505050612e4d565b885260086020529684902054600f0b612e94565b612f1d43821115612b73565b600454612f2a8183612db0565b612f366107c582611cc3565b916060830193845181811161301f57600092841015612fd257506001830180931161201657612b6494612f6e6107c5612f8e95611cc3565b8151606082019384518203612f94575b50505050505b6040830151612009565b90612e2e565b612fc8955091612ce86040612fb0612fbe9461079897966120dc565b92015160408a0151906120dc565b92519051906120dc565b3880808080612f7e565b612f8e9350612b649591438203612fec575b505050612f84565b61301793506130016107989261300f926120dc565b612ce86040880151426120dc565b9151436120dc565b388080612fe4565b505050505050600090565b6001600160a01b03166000818152600760205260408120549091811580156130a0575b61309b57600160408483612b64965260066020528261308761307187858520611d14565b505460801d968684526006602052848420611d14565b5001549381526009602052200154916130be565b505090565b5060066020526130b38260408520611d14565b5054600f0b1561304d565b918082116130f957612710916130d3916120dc565b91600f0b029081600f0b91820361201657612ce86130f3612b6493612a69565b91613101565b505050600090565b8061310c5750600090565b600181600160801b811015613235575b6131c66131b96131ac61319f6131926131856131dd97600888600160401b6131d39a1015613228575b64010000000081101561321b575b6201000081101561320f575b610100811015613203575b60108110156131f6575b10156131ee575b612cf3818b612100565b60011c612cf3818a612100565b60011c612cf38189612100565b60011c612cf38188612100565b60011c612cf38187612100565b60011c612cf38186612100565b60011c612cf38185612100565b60011c8092612100565b808210156131e9575090565b905090565b60011b61317b565b60041c9160021b91613174565b811c9160041b9161316a565b60101c91811b9161315f565b60201c9160101b91613153565b60401c9160201b91613145565b50600160401b9050608082901c61311c56fea264697066735822122032f79e1ef90a017f8297e4a2e848db27da1fad6b6b5e6e8e93892558f8bb03ff64736f6c63430008120033"; + "0x608080604052346100435760006001815560018060b01b0319600354166003556012600c5580600d5580600e5580600f5580601055601155612fdb90816100498239f35b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826306fdde0314611876575081630700037d1461183e5781630f73d0b41461174e57816318160ddd14611722578163313ce5671461170357816334d901a4146116be5781633ccfd60b146103815781633fdd420e14611698578163403f4447146114965781634c2067c7146114725781634ee2cd7e146114495781635719098b1461142b578163631602821461120a578163700a4a74146111d257816370a08231146111ac57816372f702f3146111835781637b0a47ee1461116457816381fc83bb1461112c5781638ad4c447146110cd5781638b87634714611095578163901d13e214610d655781639065714714610b5a57816395d89b4114610a57578163981b24d014610a30578163af5bb34e14610a11578163b52c05fe146107d1578163c2c4c5c114610535578163c4698ee5146104f7578163c8f33c91146104d8578163cbf9fe5f14610487578163d5a73fdd146103a5578163df136d6514610386578163e9fad8ee14610381578163ebe2b12b14610362578163ee00ef3a14610343578163efe7a50414610324578163f2fde38b14610230578163f52a36f714610201575063f851a440146101d257600080fd5b346101fd57816003193601126101fd57600354905160089190911c6001600160a01b03168152602090f35b5080fd5b90503461022c57602036600319011261022c576020928291358152600884522054600f0b9051908152f35b8280fd5b90503461022c57602036600319011261022c5761024b611a06565b6001600160a01b0392909190838316156102e157600354938460081c163303610294575050610100600160a81b031990911660089190911b610100600160a81b03161760035580f35b906020608492519162461bcd60e51b8352820152602160248201527f4f6e6c79206f776e65722063616e207472616e73666572206f776e65727368696044820152600760fc1b6064820152fd5b906020606492519162461bcd60e51b8352820152602060248201527f4e6577206f776e65722063616e6e6f74206265207a65726f20616464726573736044820152fd5b5050346101fd57816003193601126101fd576020906002549051908152f35b5050346101fd57816003193601126101fd57602090516301e133808152f35b5050346101fd57816003193601126101fd57602090600d549051908152f35b611a8e565b5050346101fd57816003193601126101fd576020906011549051908152f35b828434610484576020366003190112610484576001600160a01b036103c8611a06565b1691828252600960205261040a6103e482842054600f0b61246c565b84845260096020526104046103ff6002858720015442611e3a565b61246c565b90611e47565b928252600960205261042b6103ff8284206002600182015491015490611e3a565b92600f0b92600f0b9182156104715760016001607f1b0319841460001984141661045e575060209350519105600f0b8152f35b634e487b7160e01b815260118552602490fd5b634e487b7160e01b815260128552602490fd5b80fd5b5050346101fd5760203660031901126101fd5760609181906001600160a01b036104af611a06565b1681526009602052208054600f0b91600260018301549201549181519384526020840152820152f35b5050346101fd57816003193601126101fd576020906010549051908152f35b5050346101fd5760203660031901126101fd5760609061051d610518611a06565b611dc1565b919290815193600f0b8452600f0b6020840152820152f35b8383346101fd57816003193601126101fd5780519261055384611931565b82845282826020958287820152015261056a611e15565b50610573611e15565b50805490825161058281611963565b8481528486820152428482015243606082015292826107b7575b80840195865196606086019788518451936105b685611963565b898552898186015260608686019584875201918252899380514211610762575b916105e48497969594612829565b928b975b60ff8910610601575b8c6105fe8d8d8d55611ccc565b80f35b62093a8085969798999b9293949501809611610710578c908c878b849942811160001461073357505050869783809281999899429b8c9461066761065e6106546103ff610674955b88019b8c519a611e3a565b600f98890b611e47565b8551880b611e8d565b860b84528751860b611eb2565b840b938487528251900b1261072b575b505012610723575b505084908583528d6106bd8651670de0b6b3a76400006106b66106b08d518c611e3a565b8c612816565b0490611d67565b90526001810180911161071057994286036106f2575050505050505050506105fe9394439052849386808080808080806105f1565b610704906106ff8d611ccc565b611e7e565b979695949391906105e8565b634e487b7160e01b8d5260118a5260248dfd5b528b8e61068c565b52818f610684565b829a5092856106748b61066761065e6106549d9e9d6103ff869a988799885260088652872054600f0b94610649565b935061076f8b5143611e3a565b670de0b6b3a7640000908181029181830414901517156107a45761079e90610798865142611e3a565b90611e5e565b936105d6565b634e487b7160e01b8b526011885260248bfd5b92506107cb6107c583611a21565b50611d8a565b9261059c565b8383346101fd57806003193601126101fd578235906107ee6125bd565b6107fd60ff60035416156124cf565b610808602435612829565b3384526020906009825282852095600187549701549684519061082a82611931565b600f0b8152838101978852848101924284528615159261084984612511565b8251600f0b6109ce574282111561097c5750976108ec91889961087060025482111561255d565b8151600f0b92519551906108a789519461088986611931565b8086528986019889528a86019384526108a18c61246c565b90611eb2565b600f0b845280610974575b50338a52600987526002888b209184516001600160801b0319845416906001600160801b0316178355875160018401555191015533611ed8565b61092d575b5190825193845283015242908201527fbe9cf0e939c614fad640a623a53ba0a807c8cb503c4c4c8dacabe27b86ff2dd560603392a36001815580f35b60015483516323b872dd60e01b848201523360248201523060448201526064808201879052815261096f916001600160a01b031661096a8261197f565b612613565b6108f1565b86528b6108b2565b865162461bcd60e51b8152908101869052602660248201527f43616e206f6e6c79206c6f636b20756e74696c2074696d6520696e207468652060448201526566757475726560d01b6064820152608490fd5b865162461bcd60e51b8152908101869052601960248201527f5769746864726177206f6c6420746f6b656e73206669727374000000000000006044820152606490fd5b5050346101fd57816003193601126101fd57602090600f549051908152f35b8284346104845760203660031901126104845750610a5060209235612c6f565b9051908152f35b9190503461022c578260031936011261022c5780519183600b549060019082821c928281168015610b50575b6020958686108214610b3d5750848852908115610b1b5750600114610ac2575b610abe8686610ab4828b038361199b565b51918291826119bd565b0390f35b929550600b83527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db95b828410610b085750505082610abe94610ab4928201019438610aa3565b8054868501880152928601928101610aeb565b60ff191687860152505050151560051b8301019250610ab482610abe38610aa3565b634e487b7160e01b845260229052602483fd5b93607f1693610a83565b9190503461022c57606036600319011261022c57610b76611a06565b67ffffffffffffffff602435818111610d6157610b969036908601611c85565b50604435908111610d1357610bae9036908501611c85565b5060035460ff8160a81c16610d285760ff60a81b1916600160a81b17600355600180546001600160a01b0319166001600160a01b0390921691821790558151610c1b9291849190610bfe82611963565b868252602094828887809501524286820152436060820152611ccc565b835163313ce56760e01b815292839182905afa908115610d1e578591610ce2575b5060ff6012911680600c5511610c975750506301e13380420190814211610c84575060025560038054610100600160a81b0319163360081b610100600160a81b031617905580f35b634e487b7160e01b835260119052602482fd5b5162461bcd60e51b815291820152602160248201527f43616e6e6f742068617665206d6f7265207468616e20313820646563696d616c6044820152607360f81b606482015260849150fd5b90508281813d8311610d17575b610cf9818361199b565b81010312610d13575160ff81168103610d135760ff610c3c565b8480fd5b503d610cef565b82513d87823e3d90fd5b825162461bcd60e51b81526020818601526013602482015272105b1c9958591e481a5b9a5d1a585b1a5e9959606a1b6044820152606490fd5b8580fd5b9190503461022c576020918260031936011261109157610d83611a06565b92610d9360ff60035416156124cf565b6001600160a01b03848116808752600983528487208551919692918890610db981611931565b8254600f0b90818152886002600186015495868a8501520154910152139081611086575b501561104457610dec82612d88565b1561100257610df96125bd565b8587526009835284872093600185015460028654600f0b960154875196610e1f88611931565b87528186880152878701524210801590610ff6575b15610fba57878551600f0b1315610f77575093838693610f46897ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5689561096a7f3a1df3c76d2dfab31786674a912f29b53c3a12a052fe94502a99e66f9286bf3f9a610ea3889b51600f0b6127c7565b968794895190610eb282611931565b80825260028d8c8b85019380855281860192818452815260098d52209284516001600160801b0319855416906001600160801b03161784555160018401555191015560ff6003541615610f66575b5050600154885163a9059cbb60e01b888201526001600160a01b03909416602485015260448401949094529192919091169082606481015b03601f19810184528361199b565b82519182524290820152a26001845551328152426020820152604090a280f35b610f709185611ed8565b3880610f00565b855162461bcd60e51b8152908101849052601f60248201527f4d757374206861766520736f6d657468696e6720746f207769746864726177006044820152606490fd5b855162461bcd60e51b81529081018490526016602482015275546865206c6f636b206469646e27742065787069726560501b6044820152606490fd5b5060ff60035416610e34565b5050606492519162461bcd60e51b8352820152601c60248201527f55736572206d7573742068617665206578697374696e672062696173000000006044820152fd5b5050606492519162461bcd60e51b8352820152601860248201527f5573657273206c6f636b206469646e27742065787069726500000000000000006044820152fd5b905042101538610ddd565b8380fd5b5050346101fd5760203660031901126101fd5760209181906001600160a01b036110bd611a06565b1681526012845220549051908152f35b839150346101fd5760203660031901126101fd57359060055482101561048457506110f790611a21565b50805460018201546002909201549251600f82810b8252608092831d900b602082015260408101929092526060820192909252f35b5050346101fd5760203660031901126101fd5760209181906001600160a01b03611154611a06565b1681526007845220549051908152f35b5050346101fd57816003193601126101fd57602090600e549051908152f35b5050346101fd57816003193601126101fd5760015490516001600160a01b039091168152602090f35b5050346101fd5760203660031901126101fd57602090610a506111cd611a06565b612843565b5050346101fd5760203660031901126101fd5760209181906001600160a01b036111fa611a06565b1681526014845220549051908152f35b8383346101fd576020908160031936011261022c576112276125bd565b61123660ff60035416156124cf565b338352600982528083206001815491015482519161125383611931565b600f0b82528382019081528282019142835261126f8735612829565b868251600f0b13156113f45742835111156113c257825181111561137f5761129b60025482111561255d565b8151600f0b92519351908551936112b185611931565b80855287850195865286850192835260016001607f1b03811360016001607f1b031982121761136c5760029899509084939291611328955280611364575b503389526009875287868a209184516001600160801b0319845416906001600160801b0316178355865160018401555191015533611ed8565b5181519285845283015242908201527fbe9cf0e939c614fad640a623a53ba0a807c8cb503c4c4c8dacabe27b86ff2dd560603392a36001815580f35b8552896112ef565b634e487b7160e01b895260118a52602489fd5b845162461bcd60e51b8152808901879052601b60248201527f43616e206f6e6c7920696e637265617365206c6f636b205745454b00000000006044820152606490fd5b845162461bcd60e51b8152808901879052600c60248201526b131bd8dac8195e1c1a5c995960a21b6044820152606490fd5b845162461bcd60e51b81528089018790526011602482015270139bdd1a1a5b99c81a5cc81b1bd8dad959607a1b6044820152606490fd5b90503461022c578260031936011261022c5760209250549051908152f35b5050346101fd57806003193601126101fd57602090610a50611469611a06565b60243590612928565b5050346101fd57816003193601126101fd5760209060ff6003541690519015158152f35b8383346101fd576020908160031936011261022c578335916114b66125bd565b6114c560ff60035416156124cf565b338452600981528184209485549060026001880154970154918451906114ea82611931565b600f0b81528381019788528481019283528515159161150883612511565b878251600f0b131561165c57885142101561160d575060019697816115939251600f0b9151945161155688519361153e85611931565b8085528885019788528985019283526108a18b61246c565b600f0b8352338b52600987526002888c209184516001600160801b0319845416906001600160801b031617835587518c8401555191015533611ed8565b6115d3575190825193845283015242908201527fbe9cf0e939c614fad640a623a53ba0a807c8cb503c4c4c8dacabe27b86ff2dd560603392a36001815580f35b61096f858060a01b038654168451906323b872dd60e01b858301523360248301523060448301528660648301526064825261096a8261197f565b855162461bcd60e51b81529081018590526024808201527f43616e6e6f742061646420746f2065787069726564206c6f636b2e20576974686044820152636472617760e01b6064820152608490fd5b855162461bcd60e51b81529081018590526016602482015275139bc8195e1a5cdd1a5b99c81b1bd8dac8199bdd5b9960521b6044820152606490fd5b5050346101fd5760203660031901126101fd57602090610a506116b9611a06565b612d88565b5050346101fd57806003193601126101fd576116d8611a06565b6001600160a01b0316825260066020528082208054602435919082101561109157906110f791611a72565b5050346101fd57816003193601126101fd57602090600c549051908152f35b82843461048457806003193601126104845750610a506117476107c560209454611a21565b4290612b8c565b90503461022c578260031936011261022c576003549161177160ff8416156124cf565b600883901c6001600160a01b031633036117fb57600d544211156117c25760ff198316600117600355837f203d82d8d99f63bfecc8335216735e0271df4249ea752b030f9ab305b94e5afe8180a180f35b906020606492519162461bcd60e51b835282015260136024820152722832b934b7b21036bab9ba1031329037bb32b960691b6044820152fd5b906020606492519162461bcd60e51b8352820152601e60248201527f4f6e6c79206f776e65722063616e2065787069726520636f6e747261637400006044820152fd5b5050346101fd5760203660031901126101fd5760209181906001600160a01b03611866611a06565b1681526013845220549051908152f35b92915034611091578360031936011261109157600a54600181811c9186908281168015611927575b6020958686108214610b3d5750848852908115610b1b57506001146118ce57610abe8686610ab4828b038361199b565b929550600a83527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a85b8284106119145750505082610abe94610ab4928201019438610aa3565b80548685018801529286019281016118f7565b93607f169361189e565b6060810190811067ffffffffffffffff82111761194d57604052565b634e487b7160e01b600052604160045260246000fd5b6080810190811067ffffffffffffffff82111761194d57604052565b60a0810190811067ffffffffffffffff82111761194d57604052565b90601f8019910116810190811067ffffffffffffffff82111761194d57604052565b6020808252825181830181905290939260005b8281106119f257505060409293506000838284010152601f8019910116010190565b8181018601518482016040015285016119d0565b600435906001600160a01b0382168203611a1c57565b600080fd5b600554811015611a5c576003906005600052027f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00190600090565b634e487b7160e01b600052603260045260246000fd5b8054821015611a5c576000526003602060002091020190600090565b34611a1c5760008060031936011261048457611aa86125bd565b338152602060098152604080832091600183015460028454940154835194611acf86611931565b600f0b85528183860152838501524210801590611c5d575b15611c2257838351600f0b1315611be057907ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b56891611b288451600f0b6127c7565b938251611b3481611931565b8681528281018781526002858301898152338a5260098652868a209284516001600160801b0319855416906001600160801b03161784555160018401555191015560ff6003541615611bcf575b5050600154825163a9059cbb60e01b8382015233602482015260448101869052611bbb916001600160a01b031661096a8260648101610f38565b815193845242908401523392a26001815580f35b611bd99133611ed8565b3880611b81565b606491519062461bcd60e51b82526004820152601f60248201527f4d757374206861766520736f6d657468696e6720746f207769746864726177006044820152fd5b606491519062461bcd60e51b825260048201526016602482015275546865206c6f636b206469646e27742065787069726560501b6044820152fd5b5060ff60035416611ae7565b67ffffffffffffffff811161194d57601f01601f191660200190565b81601f82011215611a1c57803590611c9c82611c69565b92611caa604051948561199b565b82845260208383010111611a1c57816000926020809301838601378301015290565b600554600160401b81101561194d57806001611ceb9201600555611a21565b919091611d34578051602082015160801b6fffffffffffffffffffffffffffffffff19166001600160801b03909116178255604081015160018301556060015160029190910155565b634e487b7160e01b600052600060045260246000fd5b8054600160401b81101561194d57611ceb91600182018155611a72565b91908201809211611d7457565b634e487b7160e01b600052601160045260246000fd5b90604051611d9781611963565b606060028294805480600f0b855260801d600f0b6020850152600181015460408501520154910152565b6001600160a01b03166000908152600760205260408120548015611e0e576107c5906040611df493600660205220611a72565b908151600f0b9060406020840151600f0b93015191929190565b5080918190565b60405190611e2282611963565b60006060838281528260208201528260408201520152565b91908203918211611d7457565b90600f0b90600f0b029081600f0b918203611d7457565b8115611e68570490565b634e487b7160e01b600052601260045260246000fd5b6000198114611d745760010190565b600f91820b910b039060016001607f1b0319821260016001607f1b03831317611d7457565b90600f0b90600f0b019060016001607f1b0319821260016001607f1b03831317611d7457565b919091611ee3611e15565b92611eec611e15565b9260009485936004549060018060a01b03169081612294575b604051611f1181611963565b60008152600060208201524260408201524360608201529080612280575b604082015160608301519060405191611f4783611963565b6000835260006020840152816040840152606083015260009160408501514211612229575b611f77829392612829565b916000935b60ff85106120fa575b505050505090611f9c916004558261207e57611ccc565b611fa9575b505050505050565b6020809301954287511161201d575b50500192835190428211611fcd575b80611fa1565b5110611fdb575b8080611fc7565b6020611fec920151600f0b90611e8d565b905160005260086020526040600020906001600160801b0319825416906001600160801b0316179055388080611fd4565b8361202d920151600f0b90611eb2565b82820151865114612068575b8551600052600883526040600020906001600160801b0319825416906001600160801b03161790553880611fb8565b6120799083860151600f0b90611e8d565b612039565b6000602082018051906120ad6120a060208d015193600f94850b90850b611eb2565b6020890151840b90611e8d565b820b8152826120d16120c78d8751860b9051860b90611eb2565b8951850b90611e8d565b830b928386528251900b126120f1575b501215611ccc5760008152611ccc565b829052386120e1565b62093a808495969401809511611d7457869460009080428111156121fd575050602095600061215f819361215261214961213f6103ff429d8e985b01998a5198611e3a565b600f96870b611e47565b8d51860b611e8d565b840b8c528551840b611eb2565b820b918285528a51900b126121f5575b126121eb575b5083928460408801526121a66060840151670de0b6b3a76400006106b66121a060408801518a611e3a565b86612816565b606088015260018101809111611d7457944285036121d757505043606086015250611f9c9150389050808080611f85565b6121e4906106ff88611ccc565b9392611f7c565b6000905238612175565b81895261216f565b61215f829861215261214961213f6103ff602060408a60009b998c9a52600883522054600f0b95612135565b91612238606086015143611e3a565b90670de0b6b3a76400009182810292818404149015171561226c575061226690610798604087015142611e3a565b91611f6c565b634e487b7160e01b81526011600452602490fd5b905061228e6107c582611a21565b90611f2f565b6020808601805142108061245f575b612431575b818601998a924284511180612424575b6123f4575b858252600781528a876122f66122ee604097858988205495861595866123de575b5001519051904290600f0b612e1c565b600f54611d67565b9015612394575b600f55600181018091116123805782916008918887955260078252848420558c84429101528c6060439101528783526006815261233c8d858520611d4a565b84518352522054600f0b99519081612357575b505050611f05565b519297509091810361237057505086945b38808061234f565b60005260002054600f0b94612368565b634e487b7160e01b83526011600452602483fd5b6123d990888552600684526123d36123ae84898820611a72565b505460801d8a87526006865260016123c8868b8a20611a72565b500154885191612e1c565b90611e3a565b6122fd565b6123ee90600684528c8b20611d4a565b8d6122de565b61241a818c6301e133808b51600f0b05600f0b91829101526104046103ff428851611e3a565b600f0b8b526122bd565b50818851600f0b136122b8565b6124556301e133808851600f0b05600f0b80848801526104046103ff428551611e3a565b600f0b85526122a8565b50898751600f0b136122a3565b9081600f0b91820361247a57565b60405162461bcd60e51b815260206004820152602760248201527f53616665436173743a2076616c756520646f65736e27742066697420696e20316044820152663238206269747360c81b6064820152608490fd5b156124d657565b60405162461bcd60e51b815260206004820152601360248201527210dbdb9d1c9858dd081a5cc8195e1c1a5c9959606a1b6044820152606490fd5b1561251857565b60405162461bcd60e51b815260206004820152601a60248201527f4d757374207374616b65206e6f6e207a65726f20616d6f756e740000000000006044820152606490fd5b1561256457565b60405162461bcd60e51b815260206004820152602b60248201527f566f74696e67206c6f636b2063616e20626520312079656172206d617820287560448201526a6e74696c207265636f6c2960a81b6064820152608490fd5b6002600054146125ce576002600055565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b60018060a01b031690604051604081019080821067ffffffffffffffff83111761194d576126a3916040526020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af13d1561272e573d9161268883611c69565b92612696604051948561199b565b83523d868885013e612732565b8051806126b1575b50505050565b818491810103126101fd578201519081159182150361048457506126d7578080806126ab565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152fd5b6060915b919290156127945750815115612746575090565b3b1561274f5790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156127a75750805190602001fd5b60405162461bcd60e51b81529081906127c390600483016119bd565b0390fd5b600081126127d25790565b606460405162461bcd60e51b815260206004820152602060248201527f53616665436173743a2076616c7565206d75737420626520706f7369746976656044820152fd5b81810292918115918404141715611d7457565b62093a80809104818102918183041490151715611d745790565b6001600160a01b031660009081526007602052604081205480156128cd579061287a6107c56128c293600660205260408420611a72565b90806128ac83516128a3602086015161289a6103ff604089015142611e3a565b90600f0b611e47565b90600f0b611e8d565b600f0b808452126128c5575b5051600f0b6127c7565b90565b8152386128b8565b5090565b156128d857565b60405162461bcd60e51b815260206004820152602260248201527f4d757374207061737320626c6f636b206e756d62657220696e207468652070616044820152611cdd60f21b6064820152608490fd5b90612935438211156128d1565b60009160018060a01b031691828152602090600782526040938482205482905b60808210612a9c575b50508115612a925761297e916107c5916000526006845285600020611a72565b926004549061298d8285612b0e565b9361299a6107c586611a21565b92851015612a605760018501809511611d74576103ff6128a39361289a926129c76107c5612a0d99611a21565b906129ec866129df6060850151606087015190611e3a565b9301518785015190611e3a565b905b868401519383612a2b575b505050508751958801519388015190611e3a565b600f0b9081905260008112612a25576128c2906127c7565b50600090565b612a5192612a46612a579695936060612a4c94015190611e3a565b90612816565b611e5e565b90611d67565b388080806129f9565b612a0d94506103ff8361289a92612a7e60606128a397015143611e3a565b90612a8c8684015142611e3a565b906129ee565b5050505050600090565b909281811015612b0857612ab08282611d67565b6001808201809211611d74571c908360005260068652866002612ad6848b600020611a72565b50015411612aef5750612ae99093611e7e565b90612955565b9391506000198101908111611d7457612ae99091611e7e565b9261295e565b6000919082915b60808310612b24575b50505090565b90919281811015612b8657612b398282611d67565b6001808201809211611d74571c90836002612b5384611a21565b50015411612b6d5750612b669093611e7e565b9190612b15565b9391506000198101908111611d7457612b669091611e7e565b92612b1e565b9190916040808201612b9e8151612829565b9460005b60ff8110612bd4575b505050506128c291925060008151600f0b12612bcb575b51600f0b6127c7565b60008152612bc2565b62093a808701809711611d74576000968083811115612c5b57505081965b87865191612c246020890193612c1c8551612c146103ff600f978c5190611e3a565b90860b611e47565b90840b611e8d565b820b8852848a14612c535790612c428392612c4e959451830b611eb2565b900b9052878452611e7e565b612ba2565b505050612bab565b885260086020529684902054600f0b612bf2565b612c7b438211156128d1565b600454612c888183612b0e565b612c946107c582611a21565b9160608301938451818111612d7d57600092841015612d30575060018301809311611d74576128c294612ccc6107c5612cec95611a21565b8151606082019384518203612cf2575b50505050505b6040830151611d67565b90612b8c565b612d26955091612a466040612d0e612d1c946107989796611e3a565b92015160408a015190611e3a565b9251905190611e3a565b3880808080612cdc565b612cec93506128c29591438203612d4a575b505050612ce2565b612d759350612d5f61079892612d6d92611e3a565b612a46604088015142611e3a565b915143611e3a565b388080612d42565b505050505050600090565b6001600160a01b0316600081815260076020526040812054909181158015612dfe575b612df9576001604084836128c29652600660205282612de5612dcf87858520611a72565b505460801d968684526006602052848420611a72565b500154938152600960205220015491612e1c565b505090565b506006602052612e118260408520611a72565b5054600f0b15612dab565b91808211612e575761271091612e3191611e3a565b91600f0b029081600f0b918203611d7457612a46612e516128c2936127c7565b91612e5f565b505050600090565b80612e6a5750600090565b600181600160801b811015612f93575b612f24612f17612f0a612efd612ef0612ee3612f3b97600888600160401b612f319a1015612f86575b640100000000811015612f79575b62010000811015612f6d575b610100811015612f61575b6010811015612f54575b1015612f4c575b612a51818b611e5e565b60011c612a51818a611e5e565b60011c612a518189611e5e565b60011c612a518188611e5e565b60011c612a518187611e5e565b60011c612a518186611e5e565b60011c612a518185611e5e565b60011c8092611e5e565b80821015612f47575090565b905090565b60011b612ed9565b60041c9160021b91612ed2565b811c9160041b91612ec8565b60101c91811b91612ebd565b60201c9160101b91612eb1565b60401c9160201b91612ea3565b50600160401b9050608082901c612e7a56fea26469706673582212207fde6ee97914622cf618d899d59de782aec73b8abc6f43fd1e68d93a87d0c70064736f6c63430008120033"; type IncentivisedVotingLockupConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/index.ts b/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/index.ts index af7a01a5d..906b24007 100644 --- a/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/index.ts +++ b/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/index.ts @@ -1,6 +1,6 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -export * as interface from "./interface"; +export * as interfaces from "./interfaces"; export * as lib from "./lib"; export { IncentivisedVotingLockup__factory } from "./IncentivisedVotingLockup__factory"; diff --git a/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interface/IIncentivisedVotingLockup__factory.ts b/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interfaces/IIncentivisedVotingLockup__factory.ts similarity index 91% rename from typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interface/IIncentivisedVotingLockup__factory.ts rename to typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interfaces/IIncentivisedVotingLockup__factory.ts index 36dba1a68..7c71b37ed 100644 --- a/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interface/IIncentivisedVotingLockup__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interfaces/IIncentivisedVotingLockup__factory.ts @@ -7,14 +7,14 @@ import type { Provider } from "@ethersproject/providers"; import type { IIncentivisedVotingLockup, IIncentivisedVotingLockupInterface, -} from "../../../../../contracts/normalized_endowment/incentivised-voting/interface/IIncentivisedVotingLockup"; +} from "../../../../../contracts/normalized_endowment/incentivised-voting/interfaces/IIncentivisedVotingLockup"; const _abi = [ { inputs: [ { internalType: "address", - name: "curOwner", + name: "owner", type: "address", }, ], @@ -33,12 +33,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curOwner", + name: "owner", type: "address", }, { internalType: "uint256", - name: "curBlocknumber", + name: "blocknumber", type: "uint256", }, ], @@ -57,12 +57,12 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curValue", + name: "value", type: "uint256", }, { internalType: "uint256", - name: "curUnlocktime", + name: "unlocktime", type: "uint256", }, ], @@ -75,7 +75,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curUser", + name: "user", type: "address", }, ], @@ -102,7 +102,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curAddr", + name: "addr", type: "address", }, ], @@ -131,7 +131,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curValue", + name: "value", type: "uint256", }, ], @@ -144,7 +144,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curUnlocktime", + name: "unlocktime", type: "uint256", }, ], @@ -170,7 +170,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curBlocknumber", + name: "blocknumber", type: "uint256", }, ], diff --git a/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interface/QueryIIncentivisedVotingLockup__factory.ts b/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interfaces/QueryIIncentivisedVotingLockup__factory.ts similarity index 92% rename from typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interface/QueryIIncentivisedVotingLockup__factory.ts rename to typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interfaces/QueryIIncentivisedVotingLockup__factory.ts index acc3cb1ab..af2a006c9 100644 --- a/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interface/QueryIIncentivisedVotingLockup__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interfaces/QueryIIncentivisedVotingLockup__factory.ts @@ -7,14 +7,14 @@ import type { Provider } from "@ethersproject/providers"; import type { QueryIIncentivisedVotingLockup, QueryIIncentivisedVotingLockupInterface, -} from "../../../../../contracts/normalized_endowment/incentivised-voting/interface/QueryIIncentivisedVotingLockup"; +} from "../../../../../contracts/normalized_endowment/incentivised-voting/interfaces/QueryIIncentivisedVotingLockup"; const _abi = [ { inputs: [ { internalType: "address", - name: "curOwner", + name: "owner", type: "address", }, ], @@ -33,12 +33,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curOwner", + name: "owner", type: "address", }, { internalType: "uint256", - name: "curBlocknumber", + name: "blocknumber", type: "uint256", }, ], @@ -70,7 +70,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curBlocknumber", + name: "blocknumber", type: "uint256", }, ], diff --git a/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interface/index.ts b/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interfaces/index.ts similarity index 100% rename from typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interface/index.ts rename to typechain-types/factories/contracts/normalized_endowment/incentivised-voting/interfaces/index.ts diff --git a/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/lib/shared/IERC20WithCheckpointing__factory.ts b/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/lib/shared/IERC20WithCheckpointing__factory.ts index f1165c11b..dd2bfe5a6 100644 --- a/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/lib/shared/IERC20WithCheckpointing__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/incentivised-voting/lib/shared/IERC20WithCheckpointing__factory.ts @@ -14,7 +14,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curOwner", + name: "owner", type: "address", }, ], @@ -33,12 +33,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curOwner", + name: "owner", type: "address", }, { internalType: "uint256", - name: "curBlocknumber", + name: "blocknumber", type: "uint256", }, ], @@ -70,7 +70,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curBlocknumber", + name: "blocknumber", type: "uint256", }, ], diff --git a/typechain-types/factories/contracts/normalized_endowment/index.ts b/typechain-types/factories/contracts/normalized_endowment/index.ts index f608a8222..8186f17c4 100644 --- a/typechain-types/factories/contracts/normalized_endowment/index.ts +++ b/typechain-types/factories/contracts/normalized_endowment/index.ts @@ -4,6 +4,5 @@ export * as donationMatch from "./donation-match"; export * as endowmentMultisig from "./endowment-multisig"; export * as incentivisedVoting from "./incentivised-voting"; -export * as lockedWithdraw from "./locked-withdraw"; export * as subdao from "./subdao"; export * as subdaoToken from "./subdao-token"; diff --git a/typechain-types/factories/contracts/normalized_endowment/locked-withdraw/LockedWithdraw__factory.ts b/typechain-types/factories/contracts/normalized_endowment/locked-withdraw/LockedWithdraw__factory.ts deleted file mode 100644 index 1bd1571c3..000000000 --- a/typechain-types/factories/contracts/normalized_endowment/locked-withdraw/LockedWithdraw__factory.ts +++ /dev/null @@ -1,324 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { PromiseOrValue } from "../../../../common"; -import type { - LockedWithdraw, - LockedWithdrawInterface, -} from "../../../../contracts/normalized_endowment/locked-withdraw/LockedWithdraw"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint8", - name: "version", - type: "uint8", - }, - ], - name: "Initialized", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "sender", - type: "address", - }, - ], - name: "LockedWithdrawAPTeam", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - { - indexed: true, - internalType: "address", - name: "curBeneficiary", - type: "address", - }, - { - indexed: false, - internalType: "address[]", - name: "curTokenaddress", - type: "address[]", - }, - { - indexed: false, - internalType: "uint256[]", - name: "curAmount", - type: "uint256[]", - }, - ], - name: "LockedWithdrawApproved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "sender", - type: "address", - }, - ], - name: "LockedWithdrawEndowment", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - { - indexed: true, - internalType: "address", - name: "initiator", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "curBeneficiary", - type: "address", - }, - { - indexed: false, - internalType: "address[]", - name: "curTokenaddress", - type: "address[]", - }, - { - indexed: false, - internalType: "uint256[]", - name: "curAmount", - type: "uint256[]", - }, - ], - name: "LockedWithdrawInitiated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - ], - name: "LockedWithdrawRejected", - type: "event", - }, - { - inputs: [ - { - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - ], - name: "approve", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "address", - name: "curRegistrar", - type: "address", - }, - { - internalType: "address", - name: "curAccounts", - type: "address", - }, - { - internalType: "address", - name: "curApteammultisig", - type: "address", - }, - { - internalType: "address", - name: "curEndowfactory", - type: "address", - }, - ], - name: "initialize", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - { - internalType: "address", - name: "curBeneficiary", - type: "address", - }, - { - internalType: "address[]", - name: "curTokenaddress", - type: "address[]", - }, - { - internalType: "uint256[]", - name: "curAmount", - type: "uint256[]", - }, - ], - name: "propose", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - ], - name: "reject", - 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: [ - { - internalType: "address", - name: "curRegistrar", - type: "address", - }, - { - internalType: "address", - name: "curAccounts", - type: "address", - }, - { - internalType: "address", - name: "curApteammultisig", - type: "address", - }, - { - internalType: "address", - name: "curEndowfactory", - type: "address", - }, - ], - name: "updateConfig", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, -] as const; - -const _bytecode = - "0x6080806040523461001b576001600655610d8690816100218239f35b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a714610a445750806378b6f3981461098757806396a0756014610575578063b759f9541461024b578063b8adaa11146101b85763f8c8765e1461006157600080fd5b346101b35761006f36610a7a565b600554600881901c60ff161594939085806101a6575b801561018f575b156101335760ff19811660011760055585610121575b5060018060a01b0392838092816001600160601b0360a01b97168760005416176000551685600154161760015516836002541617600255169060035416176003556100e957005b61ff0019600554166005557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b61ffff191661010117600555386100a2565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561008c5750600160ff82161461008c565b50600160ff821610610085565b600080fd5b346101b35760203660031901126101b3576004356101d4610b56565b6101e960018060a01b03600254163314610b1b565b806000526004602052610208600160ff60406000205416151514610be0565b807fcb7f2c434a113f944d05b33c5f1c8c39794bfe8d28f239a4e6a634d491e291af600080a26000908152600460205260409020805460ff191690556001600655005b346101b3576020806003193601126101b357600435610268610b56565b6002546001600160a01b0392906102829084163314610b1b565b81600052600481526001916102a28360ff60406000205416151514610be0565b604080518281523360208201527f5f9402e0640a2eb0ab8ae108e4c182d1b965800fbe4ecdfc8797ffb0cf49f1d29190a180600052600482526040600020817f1d00cdddfe0003fb41878c3adc917cc399149e0b62d56b712a4f80d2ed27b06d61033683546040519182916040835260028b610323604086018d8b01610c1b565b928584038c87015260081c169701610c61565b0390a36040519361034685610ac5565b8385528236818701378084541661035c86610c9e565b526040519461036a86610ac5565b848652833681880137600061037e87610c9e565b526040519561038c87610ac5565b85875260005b858110610566575090859661040a9392856000526004875260406000209380855460081c16946040519687916313ad564f60e11b8b8401526024978a8985015260006044850152606484015260a0608484015260026103f78d60c48601908401610c1b565b8481036023190160a48601529101610c61565b039561041e601f1997888101835282610ae1565b61042784610c9e565b5261043183610c9e565b506040519361043f85610ac5565b601d85527f63616c6c20726576657274656420776974686f7574206d6573736167650000008986015260009a5b61048d575b600088815260048a5260409020805460ff1916905560068a9055005b809998979699518b101561055c576000808c846104aa8286610cc1565b51166104c16104b98389610cc1565b519289610cc1565b51918c83519301915af1853d1561055057503d67ffffffffffffffff811161053b578b61050c9288926104fe8d60405194601f8401160184610ae1565b82523d60008d84013e610cd5565b506000198b146105265788809a9b99979899019a9661046c565b85634e487b7160e01b60005260116004526000fd5b87634e487b7160e01b60005260416004526000fd5b61050c91606090610cd5565b8697989950610471565b60608882018701528501610392565b346101b35760803660031901126101b3576024356001600160a01b03811681036101b35760443567ffffffffffffffff81116101b357366023820112156101b3578060040135916105c583610b03565b916105d36040519384610ae1565b83835260208301906024829560051b820101903682116101b357602401915b818310610967575050506064359267ffffffffffffffff84116101b357366023850112156101b35783600401359361062985610b03565b906106376040519283610ae1565b858252602082016024819760051b830101913683116101b357602401905b82821061095757505050610667610b56565b6003546040516337854c1360e21b8152600480359082015290602090829060249082906000906001600160a01b03165af1801561094b57600090610907575b6106bb91506001600160a01b03163314610b1b565b6040516080810181811067ffffffffffffffff8211176108d457604052600181526020810160018060a01b0385168152604082018681528360608401526004356000526004602052604060002091835115159060ff845491610100600160a81b03905160081b169216906affffffffffffffffffffff60a81b16171782555180519067ffffffffffffffff82116108d457600160401b82116108d4576020600184019161076d84845481865585610bac565b0190600052602060002060005b8381106108ea57505050506002606091019101519081519167ffffffffffffffff83116108d457600160401b83116108d4576020906107be84845481865585610bac565b0190600052602060002060005b8381106108c05750505050604051936040850190604086525180915260608501929060005b8181106108a15750505060209084830382860152519182815201939060005b81811061088b575050506001600160a01b0316913391600435917fdc2392a60c788a4900c84778e03ad7f725858ff5cadfe421002be204be50db2c919081900390a46040805160043581523360208201527f4c4609254522027db8ab56c0975580084420874f5852525bbf5c109475d4dc929190a16001600655005b825186526020958601959092019160010161080f565b82516001600160a01b03168552602094850194909201916001016107f0565b6001906020845194019381840155016107cb565b634e487b7160e01b600052604160045260246000fd5b82516001600160a01b03168183015560209092019160010161077a565b506020813d602011610943575b8161092160209383610ae1565b810103126101b357516001600160a01b03811681036101b3576106bb906106a6565b3d9150610914565b6040513d6000823e3d90fd5b8135815260209182019101610655565b82356001600160a01b03811681036101b3578152602092830192016105f2565b346101b35761099536610a7a565b919261099f610b56565b6002549160018060a01b0380958180946109bc3383891614610b1b565b1680610a2b575b501680610a12575b501690816109fd575b505016806109e4575b6001600655005b6001600160601b0360a01b6003541617600355806109dd565b6001600160a01b0319161760025582806109d4565b6001600160601b0360a01b6001541617600155856109cb565b6001600160601b0360a01b6000541617600055876109c3565b346101b35760203660031901126101b3576004359063ffffffff60e01b82168092036101b3576020916301ffc9a760e01b148152f35b60809060031901126101b3576001600160a01b039060043582811681036101b3579160243581811681036101b3579160443582811681036101b3579160643590811681036101b35790565b6040810190811067ffffffffffffffff8211176108d457604052565b90601f8019910116810190811067ffffffffffffffff8211176108d457604052565b67ffffffffffffffff81116108d45760051b60200190565b15610b2257565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b600260065414610b67576002600655565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b9091828110610bba57505050565b60009182526020822092830192015b828110610bd557505050565b818155600101610bc9565b15610be757565b60405162461bcd60e51b815260206004820152600c60248201526b50656e64696e672054786e7360a01b6044820152606490fd5b90815480825260208092019260005281600020916000905b828210610c41575050505090565b83546001600160a01b031685529384019360019384019390910190610c33565b90815480825260208092019260005281600020916000905b828210610c87575050505090565b835485529384019360019384019390910190610c79565b805115610cab5760200190565b634e487b7160e01b600052603260045260246000fd5b8051821015610cab5760209160051b010190565b90919015610ce1575090565b815115610cf15750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510610d37575050604492506000838284010152601f80199101168101030190fd5b8481018201518686016044015293810193859350610d1456fea2646970667358221220410c3909ede8c830e5d8dd7e4d82591bd6448e3dd0cbf76b821a267b63f7d1e964736f6c63430008120033"; - -type LockedWithdrawConstructorParams = - | [signer?: Signer] - | ConstructorParameters; - -const isSuperArgs = ( - xs: LockedWithdrawConstructorParams -): xs is ConstructorParameters => xs.length > 1; - -export class LockedWithdraw__factory extends ContractFactory { - constructor(...args: LockedWithdrawConstructorParams) { - if (isSuperArgs(args)) { - super(...args); - } else { - super(_abi, _bytecode, args[0]); - } - } - - override deploy( - overrides?: Overrides & { from?: PromiseOrValue } - ): Promise { - return super.deploy(overrides || {}) as Promise; - } - override getDeployTransaction( - overrides?: Overrides & { from?: PromiseOrValue } - ): TransactionRequest { - return super.getDeployTransaction(overrides || {}); - } - override attach(address: string): LockedWithdraw { - return super.attach(address) as LockedWithdraw; - } - override connect(signer: Signer): LockedWithdraw__factory { - return super.connect(signer) as LockedWithdraw__factory; - } - - static readonly bytecode = _bytecode; - static readonly abi = _abi; - static createInterface(): LockedWithdrawInterface { - return new utils.Interface(_abi) as LockedWithdrawInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): LockedWithdraw { - return new Contract(address, _abi, signerOrProvider) as LockedWithdraw; - } -} diff --git a/typechain-types/factories/contracts/normalized_endowment/locked-withdraw/index.ts b/typechain-types/factories/contracts/normalized_endowment/locked-withdraw/index.ts deleted file mode 100644 index c4e1dd565..000000000 --- a/typechain-types/factories/contracts/normalized_endowment/locked-withdraw/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ -export * as interface from "./interface"; -export { LockedWithdraw__factory } from "./LockedWithdraw__factory"; diff --git a/typechain-types/factories/contracts/normalized_endowment/locked-withdraw/interface/ILockedWithdraw__factory.ts b/typechain-types/factories/contracts/normalized_endowment/locked-withdraw/interface/ILockedWithdraw__factory.ts deleted file mode 100644 index 36592f767..000000000 --- a/typechain-types/factories/contracts/normalized_endowment/locked-withdraw/interface/ILockedWithdraw__factory.ts +++ /dev/null @@ -1,246 +0,0 @@ -/* Autogenerated file. Do not edit manually. */ -/* tslint:disable */ -/* eslint-disable */ - -import { Contract, Signer, utils } from "ethers"; -import type { Provider } from "@ethersproject/providers"; -import type { - ILockedWithdraw, - ILockedWithdrawInterface, -} from "../../../../../contracts/normalized_endowment/locked-withdraw/interface/ILockedWithdraw"; - -const _abi = [ - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "sender", - type: "address", - }, - ], - name: "LockedWithdrawAPTeam", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - { - indexed: true, - internalType: "address", - name: "curBeneficiary", - type: "address", - }, - { - indexed: false, - internalType: "address[]", - name: "curTokenaddress", - type: "address[]", - }, - { - indexed: false, - internalType: "uint256[]", - name: "curAmount", - type: "uint256[]", - }, - ], - name: "LockedWithdrawApproved", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: false, - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - { - indexed: false, - internalType: "address", - name: "sender", - type: "address", - }, - ], - name: "LockedWithdrawEndowment", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - { - indexed: true, - internalType: "address", - name: "initiator", - type: "address", - }, - { - indexed: true, - internalType: "address", - name: "curBeneficiary", - type: "address", - }, - { - indexed: false, - internalType: "address[]", - name: "curTokenaddress", - type: "address[]", - }, - { - indexed: false, - internalType: "uint256[]", - name: "curAmount", - type: "uint256[]", - }, - ], - name: "LockedWithdrawInitiated", - type: "event", - }, - { - anonymous: false, - inputs: [ - { - indexed: true, - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - ], - name: "LockedWithdrawRejected", - type: "event", - }, - { - inputs: [ - { - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - ], - name: "approve", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - { - internalType: "address", - name: "curBeneficiary", - type: "address", - }, - { - internalType: "address[]", - name: "curTokenaddress", - type: "address[]", - }, - { - internalType: "uint256[]", - name: "curAmount", - type: "uint256[]", - }, - ], - name: "propose", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "accountId", - type: "uint256", - }, - ], - name: "reject", - 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: [ - { - internalType: "address", - name: "curRegistrar", - type: "address", - }, - { - internalType: "address", - name: "curAccounts", - type: "address", - }, - { - internalType: "address", - name: "curApteammultisig", - type: "address", - }, - { - internalType: "address", - name: "curEndowfactory", - type: "address", - }, - ], - name: "updateConfig", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, -] as const; - -export class ILockedWithdraw__factory { - static readonly abi = _abi; - static createInterface(): ILockedWithdrawInterface { - return new utils.Interface(_abi) as ILockedWithdrawInterface; - } - static connect( - address: string, - signerOrProvider: Signer | Provider - ): ILockedWithdraw { - return new Contract(address, _abi, signerOrProvider) as ILockedWithdraw; - } -} diff --git a/typechain-types/factories/contracts/normalized_endowment/subdao-token/Token/BancorBondingCurve__factory.ts b/typechain-types/factories/contracts/normalized_endowment/subdao-token/Token/BancorBondingCurve__factory.ts index 84dad2552..ab14145bb 100644 --- a/typechain-types/factories/contracts/normalized_endowment/subdao-token/Token/BancorBondingCurve__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/subdao-token/Token/BancorBondingCurve__factory.ts @@ -14,22 +14,22 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curSupply", + name: "supply", type: "uint256", }, { internalType: "uint256", - name: "curReservebalance", + name: "reservebalance", type: "uint256", }, { internalType: "uint32", - name: "curReserveratio", + name: "reserveratio", type: "uint32", }, { internalType: "uint256", - name: "curDepositamount", + name: "depositamount", type: "uint256", }, ], @@ -48,22 +48,22 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curSupply", + name: "supply", type: "uint256", }, { internalType: "uint256", - name: "curReservebalance", + name: "reservebalance", type: "uint256", }, { internalType: "uint32", - name: "curReserveratio", + name: "reserveratio", type: "uint32", }, { internalType: "uint256", - name: "curSellamount", + name: "sellamount", type: "uint256", }, ], @@ -94,7 +94,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60808060405234620007c357600080546001908181811c91168015620007b8575b6020821014620007a457601f811162000778575b5050600662302e3360e81b0190556001641c35fedd1560601b036021556001646c3390ecc9605e1b036022556001640cf801476160611b0360235560016431bdb23e1d605f1b0360245560016502fb1d8fe083605b1b0360255560016505b771955b37605a1b036026556001650af67a93bb5160591b0360275560016515060c256cb360581b036028556001651428a2f98d7360581b036029556001654d515663970960561b03602a55600165944620b0e70f60551b03602b55600166011c592761c66760541b03602c5560016602214d10d014eb60531b03602d55600166020ade36b7dbef60531b03602e5560016603eab73b3bbfe360521b03602f556001660782ee3593f6d760511b036030556001661ccf4b44bb4821604f1b0360315560016606e7f88ad8a77760511b0360325560016669f3d1c921891d604d1b03603355600166cb2ff529eb71e5604c1b03603455600166c2d415c3db974b604c1b0360355560016702eb40f9f620fda7604a1b0360365560016705990681d961a1eb60491b03603755600167055e12902701414760491b0360385560016714962dee9dc9764160471b0360395560016704ef57b9b560fab560491b03603a5560016712ed7b32a58f552b60471b03603b556001679131271922eaa60760441b03603c556001678b380f3558668c4760441b03603d556001680215f77c045fbe885760421b03603e556001600160831b03603f556001670f577eded5773a1160471b036040556001680eb5ec597592befbf5603f1b036041556001681c35fedd14b861eb05603e1b036042556001683619c87664579bc94b603d1b0360435560016867c00a3b07ffc01fd7603c1b03604455600168c6f6c8f8739773a7a5603b1b03604555600168bec763f8209b7a72b1603b1b0360465560016902dbb8caad9b7097b91b60391b03604755600169057b3d49dda84556d6f760381b03604855600169054183095b2c8ececf3160381b036049556001690a14517cc6b9457111ef60371b03604a5560016913545598e5c23276ccf160361b03604b556001692511882c39c3adea96ff60351b03604c55600169471649d87199aa99075760341b03604d557004429a21a029d4c1457cfbffffffffffff604e55700415bc6d6fb7dd71af2cb3ffffffffffff604f557003eab73b3bbfe282243ce1ffffffffffff6050557003c1771ac9fb6b4c18e229ffffffffffff605155700399e96897690418f785257fffffffffff605255700373fc456c53bb779bf0ea9fffffffffff60535570034f9e8e490c48e67e6ab8bfffffffffff60545570032cbfd4a7adc790560b3337ffffffffff60555570030b50570f6e5d2acca94613ffffffffff6056557002eb40f9f620fda6b56c2861ffffffffff6057557002cc8340ecb0d0f520a6af58ffffffffff6058557002af09481380a0a35cf1ba02ffffffffff605955700292c5bdd3b92ec810287b1b3fffffffff605a55700277abdcdab07d5a77ac6d6b9fffffffff605b5570025daf6654b1eaa55fd64df5efffffffff605c55700244c49c648baa98192dce88b7ffffffff605d5570022ce03cd5619a311b2471268bffffffff605e55700215f77c045fbe885654a44a0fffffffff605f556001600160811b036060557001eaefdbdaaee7421fc4d3ede5ffffffff6061557001d6bd8b2eb257df7e8ca57b09bfffffff6062557001c35fedd14b861eb0443f7f133fffffff6063557001b0ce43b322bcde4a56e8ada5afffffff60645570019f0028ec1fff007f5a195a39dfffffff60655570018ded91f0e72ee74f49b15ba527ffffff60665570017d8ec7f04136f4e5615fd41a63ffffff60675570016ddc6556cdb84bdc8d12d22e6fffffff60685570015ecf52776a1155b5bd8395814f7fffff60695570015060c256cb23b3b3cc3754cf40ffffff606a557001428a2f98d728ae223ddab715be3fffff606b5570013545598e5c23276ccf0ede68034fffff606c557001288c4161ce1d6f54b7f61081194fffff606d5570011c592761c666aa641d5a01a40f17ffff606e55700110a688680a7530515f3e6e6cfdcdffff606f557001056f1b5bedf75c6bcb2ce8aed428ffff6070556ffaadceceeff8a0890f3875f008277fff6071556ff05dc6b27edad306388a600f6ba0bfff6072556fe67a5a25da41063de1495d5b18cdbfff6073556fdcff115b14eedde6fc3aa5353f2e4fff6074556fd3e7a3924312399f9aae2e0f868f8fff6075556fcb2ff529eb71e41582cccd5a1ee26fff6076556fc2d415c3db974ab32a51840c0b67edff6077556fbad03e7d883f69ad5b0a186184e06bff6078556fb320d03b2c343d4829abd6075f0cc5ff6079556fabc25204e02828d73c6e80bcdb1a95bf607a556fa4b16f74ee4bb2040a1ec6c15fbbf2df607b556f9deaf736ac1f569deb1b5ae3f36c130f607c556f976bd9952c7aa957f5937d790ef65037607d556f9131271922eaa6064b73a22d0bd4f2bf607e556f8b380f3558668c46c91c49a2f8e967b9607f556f857ddf0117efa215952912839f6473e6608055611cdb9081620007c98239f35b828052601f60208420910160051c8101905b81811062000799575062000034565b83815582016200078a565b634e487b7160e01b83526022600452602483fd5b90607f169062000020565b600080fdfe604060808152600436101561001357600080fd5b600090813560e01c806329a00e7c146101cb57806349f9b0f7146101a6576354fd4d501461004057600080fd5b346101a257816003193601126101a257805190829183549360019385851c94808716968715610198575b60209788881081146101845787865288929181156101655750600114610110575b505082939450601f801994859203011682019482861067ffffffffffffffff8711176100fc5785929391838652818452845191828186015281955b8387106100e45750508394508582601f949501015201168101030190f35b868101820151898801890152958101958895506100c6565b634e487b7160e01b82526041600452602482fd5b83805290915082907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8783106101525750949550859450830101853861008b565b805486840185015291830191810161013a565b60ff191683870152509495869550151560051b8401019050853861008b565b634e487b7160e01b85526022600452602485fd5b95607f169561006a565b5080fd5b50346101a2576020906101c46101bb366101e9565b92919091610325565b9051908152f35b50346101a2576020906101c46101e0366101e9565b9291909161023c565b608090600319011261021457600435906024359060443563ffffffff81168103610214579060643590565b600080fd5b9190820391821161022657565b634e487b7160e01b600052601160045260246000fd5b9192821515806102dc575b806102cd575b806102ba575b156102145780156102b157620f424063ffffffff85161461029d5761028a61029a94836102856102929560ff956102e5565b610414565b9290846102f2565b91161c610219565b90565b61029a93506102ac91926102f2565b610305565b50505050600090565b50620f424063ffffffff85161115610253565b5063ffffffff8416151561024d565b50811515610247565b9190820180921161022657565b8181029291811591840414171561022657565b811561030f570490565b634e487b7160e01b600052601260045260246000fd5b909192811515806103ca575b806103bb575b806103a8575b8061039e575b156102145780156102b15781811461039757620f424063ffffffff85161461029d5761029a938261037a610380936102ac95610219565b906115b0565b909260ff61038e85836102f2565b92161b90610219565b5050905090565b5081811115610343565b50620f424063ffffffff8516111561033d565b5063ffffffff84161515610337565b50821515610331565b156103da57565b634e487b7160e01b600052600160045260246000fd5b60ff6000199116019060ff821161022657565b60ff16607f039060ff821161022657565b909291600160811b906104288284106103d3565b84831061156b576000607f9584871b6001607f1b9580820487149015171561150a579061045491610305565b9070015bf0a8b1457695355fb8ac404e7a79e38210156113a6575080916000916fd3094c70f034de4b96ff7d5b6f99fcd880821015611382575b50506fa45af1e1f40c333b3de1db4dd55f29a780841015611357575b506f910b022db7ae67ce76b441c27035c6a18084101561132c575b506f88415abbe9a76bead8d00cf112e4d4a880841015611301575b506f84102b00893f64c705e841d5d4064bd3808410156112d6575b506f8204055aaef1c8bd5c3259f4822735a2808410156112ab575b506f810100ab00222d861931c15e39b44e9980841015611280575b506f808040155aabbbe9451521693554f73380841015611255575b5060016001607f1b031983018381116102265761056981806102f2565b881c92600160801b85810388019190821161022657610599859161059061059f94866102f2565b60801c906102e5565b926102f2565b881c906faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9087868303019182116102265761059985916105d26105db94866102f2565b60811c906102e5565b881c906f9999999999999999999999999999999990878683030191821161022657610599859161061b93610614600360801b91876102f2565b04906102e5565b881c906f9249249249249249249249249249249290878683030191821161022657610599859161064e61065794866102f2565b60821c906102e5565b881c906f8e38e38e38e38e38e38e38e38e38e38e90878683030191821161022657610599859161069093610614600560801b91876102f2565b881c906f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b9087868303019182116102265761059985916106c993610614600360811b91876102f2565b881c926f89d89d89d89d89d89d89d89d89d89d898786820301908111610226576107079261070191600760801b9061061490886102f2565b936102f2565b871c856f88888888888888888888888888888888948503019384116102265761074961075293610740620f42409663ffffffff946102f2565b60831c906102e5565b915b16906102f2565b0490600160831b821015610cac5760009260016001607c1b03831661077781806102f2565b871c6710e1b3be415a000090818102918183041481151715610c84578261079d916102f2565b881c906705a0913f6b1e000090818302918383041483151715610c98576105996107c89285926102e5565b881c90670168244fdac7800090818302918383041483151715610c98576105996107f39285926102e5565b881c90664807432bc1800090818302918383041483151715610c985761059961081d9285926102e5565b881c90660c0135dca0400090818302918383041483151715610c98576105996108479285926102e5565b881c906601b707b1cdc00090818302918383041483151715610c98576105996108719285926102e5565b881c906536e0f639b80090818302918383041483151715610c985761059961089a9285926102e5565b881c90650618fee9f80090818302918383041483151715610c98576105996108c39285926102e5565b881c90649c197dcc0090818302918383041483151715610c98576105996108eb9285926102e5565b881c90640e30dce40090818302918383041483151715610c98576105996109139285926102e5565b881c9064012ebd130090818302918383041483151715610c985761059961093b9285926102e5565b881c906317499f0090818302918383041483151715610c98576105996109629285926102e5565b881c906301a9d48090818302918383041483151715610c98576105996109899285926102e5565b881c90621c638090818302918383041483151715610c98576105996109af9285926102e5565b881c906201c63890818302918383041483151715610c98576105996109d59285926102e5565b881c90611ab890818302918383041483151715610c98576105996109fa9285926102e5565b881c9061017c90818302918383041483151715610c9857610599610a1f9285926102e5565b881c90601482029082820460141483151715610c9857610599610a439285926102e5565b881c9081800460011482151715610c8457610a6b610a7193926721c3677c82b40000926102e5565b046102e5565b93818501809511610c705750836001607c1b8416610c2f575b506001607d1b8316610bf1575b6001607e1b8316610bb4575b8216610b78575b600160801b8216610b3c575b8116610b01575b600160821b16610acb579190565b6e2bf84208204f5977f9a8cf01fdc30790818102918183041490151715610226576d03c6ab775dd0b95b4cbee7e65d1190049190565b906f0960aadc109e7a3bf4578099615711d790818102918183041490151715610226576e2bf84208204f5977f9a8cf01fdce3d900490610abd565b916f454aaa8efe072e7f6ddbab84b40a55c590818102918183041490151715610226576f0960aadc109e7a3bf4578099615711ea900491610ab6565b916fbc5ab1b16779be3575bd8f0520a9f21e90818102918183041490151715610226576f454aaa8efe072e7f6ddbab84b40a55c9900491610aaa565b927001368b2fc6f9609fe7aceb46aa619baed590818102918183041490151715610226576fbc5ab1b16779be3575bd8f0520a9f21f900492610aa3565b9270018ebef9eac820ae8682b9793ac6d1e77890818102918183041490151715610226577001368b2fc6f9609fe7aceb46aa619baed4900492610a97565b9093507001c3d6a24ed82218787d624d3e5eba95f9908181029181830414901517156102265770018ebef9eac820ae8682b9793ac6d1e77690049238610a8a565b634e487b7160e01b81526011600452602490fd5b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526011600452602488fd5b50809350610cba9150611bc3565b9160ff610cc684610403565b161c610cd281806102f2565b60ff841690811c6f03442c4e6074a82f1797f72ac0000000908181029181830414811517156102265783610d05916102f2565b821c906f0116b96f757c380fb287fd0e40000000808302908382041483151715610226576105998591610d37936102e5565b821c906e45ae5bdd5f0e03eca1ff4390000000808302908382041483151715610226576105998591610d68936102e5565b821c906e0defabf91302cd95b9ffda50000000808302908382041483151715610226576105998591610d99936102e5565b821c906e02529ca9832b22439efff9b8000000808302908382041483151715610226576105998591610dca936102e5565b821c906d54f1cf12bd04e516b6da88000000808302908382041483151715610226576105998591610dfa936102e5565b821c906d0a9e39e257a09ca2d6db51000000808302908382041483151715610226576105998591610e2a936102e5565b821c906d012e066e7b839fa050c309000000808302908382041483151715610226576105998591610e5a936102e5565b821c906c1e33d7d926c329a1ad1a800000808302908382041483151715610226576105998591610e89936102e5565b821c906c02bee513bdb4a6b19b5f800000808302908382041483151715610226576105998591610eb8936102e5565b821c906b3a9316fa79b88eccf2a00000808302908382041483151715610226576105998591610ee6936102e5565b821c906b048177ebe1fa812375200000808302908382041483151715610226576105998591610f14936102e5565b821c906a5263fe90242dcbacf00000808302908382041483151715610226576105998591610f41936102e5565b821c906a057e22099c030d94100000808302908382041483151715610226576105998591610f6e936102e5565b821c906957e22099c030d9410000808302908382041483151715610226576105998591610f9a936102e5565b821c9069052b6b54569976310000808302908382041483151715610226576105998591610fc6936102e5565b821c90684985f67696bf748000808302908382041483151715610226576105998591610ff1936102e5565b821c906803dea12ea99e49800080830290838204148315171561022657610599859161101c936102e5565b821c906731880f2214b6e000808302908382041483151715610226576105998591611046936102e5565b821c9067025bcff56eb36000808302908382041483151715610226576105998591611070936102e5565b821c90661b722e10ab1000808302908382041483151715610226576105998591611099936102e5565b821c906601317c700770008083029083820414831517156102265761059985916110c2936102e5565b821c90650cba84aafa008083029083820414831517156102265761059985916110ea936102e5565b821c906482573a0a00808302908382041483151715610226576105998591611111936102e5565b821c906405035ad900808302908382041483151715610226576105998591611138936102e5565b821c90632f881b0080830290838204148315171561022657610599859161115e936102e5565b821c906301b29340808302908382041483151715610226576105998591611184936102e5565b821c90620efc408083029083820414831517156102265761059985916111a9936102e5565b821c90617fe08083029083820414831517156102265761059985916111cd936102e5565b821c906104208083029083820414831517156102265761059985916111f1936102e5565b821c906021820282810460211483151715610226576105998591611214936102e5565b821c908180046001148215171561022657611251936f0688589cc0e9505e2f2fee5580000000610a6b600194611249946102e5565b911b906102e5565b9190565b909291600160771b8101908110610226579180881b908082048714901517156102265704913861054c565b909291600160781b8101908110610226579180881b9080820487149015171561022657049138610531565b909291600160791b8101908110610226579180881b9080820487149015171561022657049138610516565b9092916001607a1b8101908110610226579180881b90808204871490151715610226570491386104fb565b9092916001607b1b8101908110610226579180881b90808204871490151715610226570491386104e0565b9092916001607c1b8101908110610226579180881b90808204871490151715610226570491386104c5565b9092916001607d1b8101908110610226579180881b90808204871490151715610226570491386104aa565b9193506001607e1b925080881b90801590820487141715610226570491388061048e565b908190600160801b818181101561149d575b5086821161140c575b50506f03f80fe03f80fe03f80fe03f80fe03f891828102928184041490151715610c705750620f42409163ffffffff6f05b9de1d10bf4103d647b0955897ba8061075293049161074b565b9196909792939495835b60ff998a82161561148b578061142b916102f2565b998a861c9a858c1015611461575b505060ff16801561144d5760001901611416565b634e487b7160e01b89526011600452602489fd5b611483919b5096600160ff939860801c9c61147b8a6103f0565b161b906102e5565b959038611439565b505095949392975095905038806113c1565b988991989450809597939692501c958597610100881060001461151e5797965b6001808211156114d8571c966114d290611bb1565b966114bd565b5050939796929695909491955b60ff821690811c91891b60ff607f1b169080159082048814171561150a5792386113b8565b634e487b7160e01b83526011600452602483fd5b8560809a95999798969a5b60ff81168015611559576001811b89101561154b575b5060011c168a90611529565b978199981c9717973861153f565b505050939094509591959490946114e5565b60405162461bcd60e51b815260206004820152601c60248201527f4261736573203c203120617265206e6f7420737570706f727465642e000000006044820152606490fd5b909291600160811b906115c48284106103d3565b84831061156b576000607f9584871b6001607f1b9580820487149015171561150a57906115f091610305565b9070015bf0a8b1457695355fb8ac404e7a79e3821015611a2a57506000816fd3094c70f034de4b96ff7d5b6f99fcd880821015611a07575b50506fa45af1e1f40c333b3de1db4dd55f29a7808310156119de575b506f910b022db7ae67ce76b441c27035c6a1808310156119b5575b506f88415abbe9a76bead8d00cf112e4d4a88083101561198c575b506f84102b00893f64c705e841d5d4064bd380831015611963575b506f8204055aaef1c8bd5c3259f4822735a28083101561193a575b506f810100ab00222d861931c15e39b44e9980831015611911575b506f808040155aabbbe9451521693554f733808310156118e8575b5060016001607f1b031982018281116102265761170381806102f2565b881c91600160801b84810388019190821161022657610599849161059061172a94866102f2565b881c906faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9087858303019182116102265761059984916105d261175d94866102f2565b881c906f9999999999999999999999999999999990878583030191821161022657610599849161179693610614600360801b91876102f2565b881c906f9249249249249249249249249249249290878583030191821161022657610599849161064e6117c994866102f2565b881c906f8e38e38e38e38e38e38e38e38e38e38e90878583030191821161022657610599849161180293610614600560801b91876102f2565b881c906f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b90878583030191821161022657610599849161183b93610614600360811b91876102f2565b881c916f89d89d89d89d89d89d89d89d89d89d898785820301908111610226576118739261059991600760801b9061061490876102f2565b871c856f88888888888888888888888888888888938403019283116102265761189f92610740916102f2565b620f4240908181029181830414901517156102265763ffffffff6118c4921690610305565b90600160831b821015610cac5760009260016001607c1b03831661077781806102f2565b90600160771b8101908110610226579180881b90808204871490151715610226570490386116e6565b90600160781b8101908110610226579180881b90808204871490151715610226570490386116cb565b90600160791b8101908110610226579180881b90808204871490151715610226570490386116b0565b906001607a1b8101908110610226579180881b9080820487149015171561022657049038611695565b906001607b1b8101908110610226579180881b908082048714901517156102265704903861167a565b906001607c1b8101908110610226579180881b908082048714901517156102265704903861165f565b906001607d1b8101908110610226579180881b9080820487149015171561022657049038611644565b6001607e1b9350915080881b908015908204871417156102265704903880611628565b908190600160801b8181811015611af7575b50868211611a82575b50506f03f80fe03f80fe03f80fe03f80fe03f891828102928184041490151715610c7057506f05b9de1d10bf4103d647b0955897ba80900461189f565b9196909792939495835b60ff998a821615611ae55780611aa1916102f2565b998a861c9a858c1015611ac3575b505060ff16801561144d5760001901611a8c565b611add919b5096600160ff939860801c9c61147b8a6103f0565b959038611aaf565b50509594939297509590503880611a45565b988991989450809597939692501c9585976101008810600014611b645797965b600180821115611b32571c96611b2c90611bb1565b96611b17565b5050939796929695909491955b60ff821690811c91891b60ff607f1b169080159082048814171561150a579238611a3c565b8560809a95999798969a5b60ff81168015611b9f576001811b891015611b91575b5060011c168a90611b6f565b978199981c97179738611b85565b50505093909450959195949094611b3f565b60ff60019116019060ff821161022657565b607f91829060205b611bd481611bb1565b9060ff8092818816918291161015611c435782821601918211611c2e5783600192831c16916080831015611c19578201548511611c115750611bcb565b945093611bcb565b60246000634e487b7160e01b81526032600452fd5b60246000634e487b7160e01b81526011600452fd5b5093925050926080811015611c89578181600101541015611c9f57506080821015611c89578160010154101561029a57634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b9150509056fea26469706673582212209f587f105d08c6c794baf40f687b42451990b058c0d05e5c10df079b04aff6cc64736f6c63430008120033"; + "0x60808060405234620007c357600080546001908181811c91168015620007b8575b6020821014620007a457601f811162000778575b5050600662302e3360e81b0190556001641c35fedd1560601b036021556001646c3390ecc9605e1b036022556001640cf801476160611b0360235560016431bdb23e1d605f1b0360245560016502fb1d8fe083605b1b0360255560016505b771955b37605a1b036026556001650af67a93bb5160591b0360275560016515060c256cb360581b036028556001651428a2f98d7360581b036029556001654d515663970960561b03602a55600165944620b0e70f60551b03602b55600166011c592761c66760541b03602c5560016602214d10d014eb60531b03602d55600166020ade36b7dbef60531b03602e5560016603eab73b3bbfe360521b03602f556001660782ee3593f6d760511b036030556001661ccf4b44bb4821604f1b0360315560016606e7f88ad8a77760511b0360325560016669f3d1c921891d604d1b03603355600166cb2ff529eb71e5604c1b03603455600166c2d415c3db974b604c1b0360355560016702eb40f9f620fda7604a1b0360365560016705990681d961a1eb60491b03603755600167055e12902701414760491b0360385560016714962dee9dc9764160471b0360395560016704ef57b9b560fab560491b03603a5560016712ed7b32a58f552b60471b03603b556001679131271922eaa60760441b03603c556001678b380f3558668c4760441b03603d556001680215f77c045fbe885760421b03603e556001600160831b03603f556001670f577eded5773a1160471b036040556001680eb5ec597592befbf5603f1b036041556001681c35fedd14b861eb05603e1b036042556001683619c87664579bc94b603d1b0360435560016867c00a3b07ffc01fd7603c1b03604455600168c6f6c8f8739773a7a5603b1b03604555600168bec763f8209b7a72b1603b1b0360465560016902dbb8caad9b7097b91b60391b03604755600169057b3d49dda84556d6f760381b03604855600169054183095b2c8ececf3160381b036049556001690a14517cc6b9457111ef60371b03604a5560016913545598e5c23276ccf160361b03604b556001692511882c39c3adea96ff60351b03604c55600169471649d87199aa99075760341b03604d557004429a21a029d4c1457cfbffffffffffff604e55700415bc6d6fb7dd71af2cb3ffffffffffff604f557003eab73b3bbfe282243ce1ffffffffffff6050557003c1771ac9fb6b4c18e229ffffffffffff605155700399e96897690418f785257fffffffffff605255700373fc456c53bb779bf0ea9fffffffffff60535570034f9e8e490c48e67e6ab8bfffffffffff60545570032cbfd4a7adc790560b3337ffffffffff60555570030b50570f6e5d2acca94613ffffffffff6056557002eb40f9f620fda6b56c2861ffffffffff6057557002cc8340ecb0d0f520a6af58ffffffffff6058557002af09481380a0a35cf1ba02ffffffffff605955700292c5bdd3b92ec810287b1b3fffffffff605a55700277abdcdab07d5a77ac6d6b9fffffffff605b5570025daf6654b1eaa55fd64df5efffffffff605c55700244c49c648baa98192dce88b7ffffffff605d5570022ce03cd5619a311b2471268bffffffff605e55700215f77c045fbe885654a44a0fffffffff605f556001600160811b036060557001eaefdbdaaee7421fc4d3ede5ffffffff6061557001d6bd8b2eb257df7e8ca57b09bfffffff6062557001c35fedd14b861eb0443f7f133fffffff6063557001b0ce43b322bcde4a56e8ada5afffffff60645570019f0028ec1fff007f5a195a39dfffffff60655570018ded91f0e72ee74f49b15ba527ffffff60665570017d8ec7f04136f4e5615fd41a63ffffff60675570016ddc6556cdb84bdc8d12d22e6fffffff60685570015ecf52776a1155b5bd8395814f7fffff60695570015060c256cb23b3b3cc3754cf40ffffff606a557001428a2f98d728ae223ddab715be3fffff606b5570013545598e5c23276ccf0ede68034fffff606c557001288c4161ce1d6f54b7f61081194fffff606d5570011c592761c666aa641d5a01a40f17ffff606e55700110a688680a7530515f3e6e6cfdcdffff606f557001056f1b5bedf75c6bcb2ce8aed428ffff6070556ffaadceceeff8a0890f3875f008277fff6071556ff05dc6b27edad306388a600f6ba0bfff6072556fe67a5a25da41063de1495d5b18cdbfff6073556fdcff115b14eedde6fc3aa5353f2e4fff6074556fd3e7a3924312399f9aae2e0f868f8fff6075556fcb2ff529eb71e41582cccd5a1ee26fff6076556fc2d415c3db974ab32a51840c0b67edff6077556fbad03e7d883f69ad5b0a186184e06bff6078556fb320d03b2c343d4829abd6075f0cc5ff6079556fabc25204e02828d73c6e80bcdb1a95bf607a556fa4b16f74ee4bb2040a1ec6c15fbbf2df607b556f9deaf736ac1f569deb1b5ae3f36c130f607c556f976bd9952c7aa957f5937d790ef65037607d556f9131271922eaa6064b73a22d0bd4f2bf607e556f8b380f3558668c46c91c49a2f8e967b9607f556f857ddf0117efa215952912839f6473e6608055611cdb9081620007c98239f35b828052601f60208420910160051c8101905b81811062000799575062000034565b83815582016200078a565b634e487b7160e01b83526022600452602483fd5b90607f169062000020565b600080fdfe604060808152600436101561001357600080fd5b600090813560e01c806329a00e7c146101cb57806349f9b0f7146101a6576354fd4d501461004057600080fd5b346101a257816003193601126101a257805190829183549360019385851c94808716968715610198575b60209788881081146101845787865288929181156101655750600114610110575b505082939450601f801994859203011682019482861067ffffffffffffffff8711176100fc5785929391838652818452845191828186015281955b8387106100e45750508394508582601f949501015201168101030190f35b868101820151898801890152958101958895506100c6565b634e487b7160e01b82526041600452602482fd5b83805290915082907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8783106101525750949550859450830101853861008b565b805486840185015291830191810161013a565b60ff191683870152509495869550151560051b8401019050853861008b565b634e487b7160e01b85526022600452602485fd5b95607f169561006a565b5080fd5b50346101a2576020906101c46101bb366101e9565b92919091610325565b9051908152f35b50346101a2576020906101c46101e0366101e9565b9291909161023c565b608090600319011261021457600435906024359060443563ffffffff81168103610214579060643590565b600080fd5b9190820391821161022657565b634e487b7160e01b600052601160045260246000fd5b9192821515806102dc575b806102cd575b806102ba575b156102145780156102b157620f424063ffffffff85161461029d5761028a61029a94836102856102929560ff956102e5565b610414565b9290846102f2565b91161c610219565b90565b61029a93506102ac91926102f2565b610305565b50505050600090565b50620f424063ffffffff85161115610253565b5063ffffffff8416151561024d565b50811515610247565b9190820180921161022657565b8181029291811591840414171561022657565b811561030f570490565b634e487b7160e01b600052601260045260246000fd5b909192811515806103ca575b806103bb575b806103a8575b8061039e575b156102145780156102b15781811461039757620f424063ffffffff85161461029d5761029a938261037a610380936102ac95610219565b906115b0565b909260ff61038e85836102f2565b92161b90610219565b5050905090565b5081811115610343565b50620f424063ffffffff8516111561033d565b5063ffffffff84161515610337565b50821515610331565b156103da57565b634e487b7160e01b600052600160045260246000fd5b60ff6000199116019060ff821161022657565b60ff16607f039060ff821161022657565b909291600160811b906104288284106103d3565b84831061156b576000607f9584871b6001607f1b9580820487149015171561150a579061045491610305565b9070015bf0a8b1457695355fb8ac404e7a79e38210156113a6575080916000916fd3094c70f034de4b96ff7d5b6f99fcd880821015611382575b50506fa45af1e1f40c333b3de1db4dd55f29a780841015611357575b506f910b022db7ae67ce76b441c27035c6a18084101561132c575b506f88415abbe9a76bead8d00cf112e4d4a880841015611301575b506f84102b00893f64c705e841d5d4064bd3808410156112d6575b506f8204055aaef1c8bd5c3259f4822735a2808410156112ab575b506f810100ab00222d861931c15e39b44e9980841015611280575b506f808040155aabbbe9451521693554f73380841015611255575b5060016001607f1b031983018381116102265761056981806102f2565b881c92600160801b85810388019190821161022657610599859161059061059f94866102f2565b60801c906102e5565b926102f2565b881c906faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9087868303019182116102265761059985916105d26105db94866102f2565b60811c906102e5565b881c906f9999999999999999999999999999999990878683030191821161022657610599859161061b93610614600360801b91876102f2565b04906102e5565b881c906f9249249249249249249249249249249290878683030191821161022657610599859161064e61065794866102f2565b60821c906102e5565b881c906f8e38e38e38e38e38e38e38e38e38e38e90878683030191821161022657610599859161069093610614600560801b91876102f2565b881c906f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b9087868303019182116102265761059985916106c993610614600360811b91876102f2565b881c926f89d89d89d89d89d89d89d89d89d89d898786820301908111610226576107079261070191600760801b9061061490886102f2565b936102f2565b871c856f88888888888888888888888888888888948503019384116102265761074961075293610740620f42409663ffffffff946102f2565b60831c906102e5565b915b16906102f2565b0490600160831b821015610cac5760009260016001607c1b03831661077781806102f2565b871c6710e1b3be415a000090818102918183041481151715610c84578261079d916102f2565b881c906705a0913f6b1e000090818302918383041483151715610c98576105996107c89285926102e5565b881c90670168244fdac7800090818302918383041483151715610c98576105996107f39285926102e5565b881c90664807432bc1800090818302918383041483151715610c985761059961081d9285926102e5565b881c90660c0135dca0400090818302918383041483151715610c98576105996108479285926102e5565b881c906601b707b1cdc00090818302918383041483151715610c98576105996108719285926102e5565b881c906536e0f639b80090818302918383041483151715610c985761059961089a9285926102e5565b881c90650618fee9f80090818302918383041483151715610c98576105996108c39285926102e5565b881c90649c197dcc0090818302918383041483151715610c98576105996108eb9285926102e5565b881c90640e30dce40090818302918383041483151715610c98576105996109139285926102e5565b881c9064012ebd130090818302918383041483151715610c985761059961093b9285926102e5565b881c906317499f0090818302918383041483151715610c98576105996109629285926102e5565b881c906301a9d48090818302918383041483151715610c98576105996109899285926102e5565b881c90621c638090818302918383041483151715610c98576105996109af9285926102e5565b881c906201c63890818302918383041483151715610c98576105996109d59285926102e5565b881c90611ab890818302918383041483151715610c98576105996109fa9285926102e5565b881c9061017c90818302918383041483151715610c9857610599610a1f9285926102e5565b881c90601482029082820460141483151715610c9857610599610a439285926102e5565b881c9081800460011482151715610c8457610a6b610a7193926721c3677c82b40000926102e5565b046102e5565b93818501809511610c705750836001607c1b8416610c2f575b506001607d1b8316610bf1575b6001607e1b8316610bb4575b8216610b78575b600160801b8216610b3c575b8116610b01575b600160821b16610acb579190565b6e2bf84208204f5977f9a8cf01fdc30790818102918183041490151715610226576d03c6ab775dd0b95b4cbee7e65d1190049190565b906f0960aadc109e7a3bf4578099615711d790818102918183041490151715610226576e2bf84208204f5977f9a8cf01fdce3d900490610abd565b916f454aaa8efe072e7f6ddbab84b40a55c590818102918183041490151715610226576f0960aadc109e7a3bf4578099615711ea900491610ab6565b916fbc5ab1b16779be3575bd8f0520a9f21e90818102918183041490151715610226576f454aaa8efe072e7f6ddbab84b40a55c9900491610aaa565b927001368b2fc6f9609fe7aceb46aa619baed590818102918183041490151715610226576fbc5ab1b16779be3575bd8f0520a9f21f900492610aa3565b9270018ebef9eac820ae8682b9793ac6d1e77890818102918183041490151715610226577001368b2fc6f9609fe7aceb46aa619baed4900492610a97565b9093507001c3d6a24ed82218787d624d3e5eba95f9908181029181830414901517156102265770018ebef9eac820ae8682b9793ac6d1e77690049238610a8a565b634e487b7160e01b81526011600452602490fd5b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526011600452602488fd5b50809350610cba9150611bc3565b9160ff610cc684610403565b161c610cd281806102f2565b60ff841690811c6f03442c4e6074a82f1797f72ac0000000908181029181830414811517156102265783610d05916102f2565b821c906f0116b96f757c380fb287fd0e40000000808302908382041483151715610226576105998591610d37936102e5565b821c906e45ae5bdd5f0e03eca1ff4390000000808302908382041483151715610226576105998591610d68936102e5565b821c906e0defabf91302cd95b9ffda50000000808302908382041483151715610226576105998591610d99936102e5565b821c906e02529ca9832b22439efff9b8000000808302908382041483151715610226576105998591610dca936102e5565b821c906d54f1cf12bd04e516b6da88000000808302908382041483151715610226576105998591610dfa936102e5565b821c906d0a9e39e257a09ca2d6db51000000808302908382041483151715610226576105998591610e2a936102e5565b821c906d012e066e7b839fa050c309000000808302908382041483151715610226576105998591610e5a936102e5565b821c906c1e33d7d926c329a1ad1a800000808302908382041483151715610226576105998591610e89936102e5565b821c906c02bee513bdb4a6b19b5f800000808302908382041483151715610226576105998591610eb8936102e5565b821c906b3a9316fa79b88eccf2a00000808302908382041483151715610226576105998591610ee6936102e5565b821c906b048177ebe1fa812375200000808302908382041483151715610226576105998591610f14936102e5565b821c906a5263fe90242dcbacf00000808302908382041483151715610226576105998591610f41936102e5565b821c906a057e22099c030d94100000808302908382041483151715610226576105998591610f6e936102e5565b821c906957e22099c030d9410000808302908382041483151715610226576105998591610f9a936102e5565b821c9069052b6b54569976310000808302908382041483151715610226576105998591610fc6936102e5565b821c90684985f67696bf748000808302908382041483151715610226576105998591610ff1936102e5565b821c906803dea12ea99e49800080830290838204148315171561022657610599859161101c936102e5565b821c906731880f2214b6e000808302908382041483151715610226576105998591611046936102e5565b821c9067025bcff56eb36000808302908382041483151715610226576105998591611070936102e5565b821c90661b722e10ab1000808302908382041483151715610226576105998591611099936102e5565b821c906601317c700770008083029083820414831517156102265761059985916110c2936102e5565b821c90650cba84aafa008083029083820414831517156102265761059985916110ea936102e5565b821c906482573a0a00808302908382041483151715610226576105998591611111936102e5565b821c906405035ad900808302908382041483151715610226576105998591611138936102e5565b821c90632f881b0080830290838204148315171561022657610599859161115e936102e5565b821c906301b29340808302908382041483151715610226576105998591611184936102e5565b821c90620efc408083029083820414831517156102265761059985916111a9936102e5565b821c90617fe08083029083820414831517156102265761059985916111cd936102e5565b821c906104208083029083820414831517156102265761059985916111f1936102e5565b821c906021820282810460211483151715610226576105998591611214936102e5565b821c908180046001148215171561022657611251936f0688589cc0e9505e2f2fee5580000000610a6b600194611249946102e5565b911b906102e5565b9190565b909291600160771b8101908110610226579180881b908082048714901517156102265704913861054c565b909291600160781b8101908110610226579180881b9080820487149015171561022657049138610531565b909291600160791b8101908110610226579180881b9080820487149015171561022657049138610516565b9092916001607a1b8101908110610226579180881b90808204871490151715610226570491386104fb565b9092916001607b1b8101908110610226579180881b90808204871490151715610226570491386104e0565b9092916001607c1b8101908110610226579180881b90808204871490151715610226570491386104c5565b9092916001607d1b8101908110610226579180881b90808204871490151715610226570491386104aa565b9193506001607e1b925080881b90801590820487141715610226570491388061048e565b908190600160801b818181101561149d575b5086821161140c575b50506f03f80fe03f80fe03f80fe03f80fe03f891828102928184041490151715610c705750620f42409163ffffffff6f05b9de1d10bf4103d647b0955897ba8061075293049161074b565b9196909792939495835b60ff998a82161561148b578061142b916102f2565b998a861c9a858c1015611461575b505060ff16801561144d5760001901611416565b634e487b7160e01b89526011600452602489fd5b611483919b5096600160ff939860801c9c61147b8a6103f0565b161b906102e5565b959038611439565b505095949392975095905038806113c1565b988991989450809597939692501c958597610100881060001461151e5797965b6001808211156114d8571c966114d290611bb1565b966114bd565b5050939796929695909491955b60ff821690811c91891b60ff607f1b169080159082048814171561150a5792386113b8565b634e487b7160e01b83526011600452602483fd5b8560809a95999798969a5b60ff81168015611559576001811b89101561154b575b5060011c168a90611529565b978199981c9717973861153f565b505050939094509591959490946114e5565b60405162461bcd60e51b815260206004820152601c60248201527f4261736573203c203120617265206e6f7420737570706f727465642e000000006044820152606490fd5b909291600160811b906115c48284106103d3565b84831061156b576000607f9584871b6001607f1b9580820487149015171561150a57906115f091610305565b9070015bf0a8b1457695355fb8ac404e7a79e3821015611a2a57506000816fd3094c70f034de4b96ff7d5b6f99fcd880821015611a07575b50506fa45af1e1f40c333b3de1db4dd55f29a7808310156119de575b506f910b022db7ae67ce76b441c27035c6a1808310156119b5575b506f88415abbe9a76bead8d00cf112e4d4a88083101561198c575b506f84102b00893f64c705e841d5d4064bd380831015611963575b506f8204055aaef1c8bd5c3259f4822735a28083101561193a575b506f810100ab00222d861931c15e39b44e9980831015611911575b506f808040155aabbbe9451521693554f733808310156118e8575b5060016001607f1b031982018281116102265761170381806102f2565b881c91600160801b84810388019190821161022657610599849161059061172a94866102f2565b881c906faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9087858303019182116102265761059984916105d261175d94866102f2565b881c906f9999999999999999999999999999999990878583030191821161022657610599849161179693610614600360801b91876102f2565b881c906f9249249249249249249249249249249290878583030191821161022657610599849161064e6117c994866102f2565b881c906f8e38e38e38e38e38e38e38e38e38e38e90878583030191821161022657610599849161180293610614600560801b91876102f2565b881c906f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b90878583030191821161022657610599849161183b93610614600360811b91876102f2565b881c916f89d89d89d89d89d89d89d89d89d89d898785820301908111610226576118739261059991600760801b9061061490876102f2565b871c856f88888888888888888888888888888888938403019283116102265761189f92610740916102f2565b620f4240908181029181830414901517156102265763ffffffff6118c4921690610305565b90600160831b821015610cac5760009260016001607c1b03831661077781806102f2565b90600160771b8101908110610226579180881b90808204871490151715610226570490386116e6565b90600160781b8101908110610226579180881b90808204871490151715610226570490386116cb565b90600160791b8101908110610226579180881b90808204871490151715610226570490386116b0565b906001607a1b8101908110610226579180881b9080820487149015171561022657049038611695565b906001607b1b8101908110610226579180881b908082048714901517156102265704903861167a565b906001607c1b8101908110610226579180881b908082048714901517156102265704903861165f565b906001607d1b8101908110610226579180881b9080820487149015171561022657049038611644565b6001607e1b9350915080881b908015908204871417156102265704903880611628565b908190600160801b8181811015611af7575b50868211611a82575b50506f03f80fe03f80fe03f80fe03f80fe03f891828102928184041490151715610c7057506f05b9de1d10bf4103d647b0955897ba80900461189f565b9196909792939495835b60ff998a821615611ae55780611aa1916102f2565b998a861c9a858c1015611ac3575b505060ff16801561144d5760001901611a8c565b611add919b5096600160ff939860801c9c61147b8a6103f0565b959038611aaf565b50509594939297509590503880611a45565b988991989450809597939692501c9585976101008810600014611b645797965b600180821115611b32571c96611b2c90611bb1565b96611b17565b5050939796929695909491955b60ff821690811c91891b60ff607f1b169080159082048814171561150a579238611a3c565b8560809a95999798969a5b60ff81168015611b9f576001811b891015611b91575b5060011c168a90611b6f565b978199981c97179738611b85565b50505093909450959195949094611b3f565b60ff60019116019060ff821161022657565b607f91829060205b611bd481611bb1565b9060ff8092818816918291161015611c435782821601918211611c2e5783600192831c16916080831015611c19578201548511611c115750611bcb565b945093611bcb565b60246000634e487b7160e01b81526032600452fd5b60246000634e487b7160e01b81526011600452fd5b5093925050926080811015611c89578181600101541015611c9f57506080821015611c89578160010154101561029a57634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b9150509056fea26469706673582212205756bafbc6cf42c67ce1b354cea8d9f4b52adf8c40a5971707ff520fdf8bb55164736f6c63430008120033"; type BancorBondingCurveConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/normalized_endowment/subdao-token/Token/Continous.sol/ContinuousToken__factory.ts b/typechain-types/factories/contracts/normalized_endowment/subdao-token/Token/Continous.sol/ContinuousToken__factory.ts index 8597eeeef..c145d6399 100644 --- a/typechain-types/factories/contracts/normalized_endowment/subdao-token/Token/Continous.sol/ContinuousToken__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/subdao-token/Token/Continous.sol/ContinuousToken__factory.ts @@ -245,7 +245,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -264,7 +264,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -283,22 +283,22 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curSupply", + name: "supply", type: "uint256", }, { internalType: "uint256", - name: "curReservebalance", + name: "reservebalance", type: "uint256", }, { internalType: "uint32", - name: "curReserveratio", + name: "reserveratio", type: "uint32", }, { internalType: "uint256", - name: "curDepositamount", + name: "depositamount", type: "uint256", }, ], @@ -317,22 +317,22 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curSupply", + name: "supply", type: "uint256", }, { internalType: "uint256", - name: "curReservebalance", + name: "reservebalance", type: "uint256", }, { internalType: "uint32", - name: "curReserveratio", + name: "reserveratio", type: "uint32", }, { internalType: "uint256", - name: "curSellamount", + name: "sellamount", type: "uint256", }, ], @@ -486,26 +486,26 @@ const _abi = [ inputs: [ { internalType: "string", - name: "curName", + name: "name", type: "string", }, { internalType: "string", - name: "curSymbol", + name: "symbol", type: "string", }, { internalType: "uint256", - name: "curReserveratio", + name: "reserveratio", type: "uint256", }, { internalType: "address", - name: "curDenomtokenaddress", + name: "denomtokenaddress", type: "address", }, ], - name: "initCurveToken", + name: "initveToken", outputs: [], stateMutability: "nonpayable", type: "function", @@ -712,7 +712,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60808060405234620007e15760008054906001918281811c91168015620007d6575b6020821014620007c257601f811162000793575b50600662302e3360e81b0190556001641c35fedd1560601b036021556001646c3390ecc9605e1b036022556001640cf801476160611b0360235560016431bdb23e1d605f1b0360245560016502fb1d8fe083605b1b0360255560016505b771955b37605a1b036026556001650af67a93bb5160591b0360275560016515060c256cb360581b036028556001651428a2f98d7360581b036029556001654d515663970960561b03602a55600165944620b0e70f60551b03602b55600166011c592761c66760541b03602c5560016602214d10d014eb60531b03602d55600166020ade36b7dbef60531b03602e5560016603eab73b3bbfe360521b03602f556001660782ee3593f6d760511b036030556001661ccf4b44bb4821604f1b0360315560016606e7f88ad8a77760511b0360325560016669f3d1c921891d604d1b03603355600166cb2ff529eb71e5604c1b03603455600166c2d415c3db974b604c1b0360355560016702eb40f9f620fda7604a1b0360365560016705990681d961a1eb60491b03603755600167055e12902701414760491b0360385560016714962dee9dc9764160471b0360395560016704ef57b9b560fab560491b03603a5560016712ed7b32a58f552b60471b03603b556001679131271922eaa60760441b03603c556001678b380f3558668c4760441b03603d556001680215f77c045fbe885760421b03603e556001600160831b03603f556001670f577eded5773a1160471b036040556001680eb5ec597592befbf5603f1b036041556001681c35fedd14b861eb05603e1b036042556001683619c87664579bc94b603d1b0360435560016867c00a3b07ffc01fd7603c1b03604455600168c6f6c8f8739773a7a5603b1b03604555600168bec763f8209b7a72b1603b1b0360465560016902dbb8caad9b7097b91b60391b03604755600169057b3d49dda84556d6f760381b03604855600169054183095b2c8ececf3160381b036049556001690a14517cc6b9457111ef60371b03604a5560016913545598e5c23276ccf160361b03604b556001692511882c39c3adea96ff60351b03604c55600169471649d87199aa99075760341b03604d557004429a21a029d4c1457cfbffffffffffff604e55700415bc6d6fb7dd71af2cb3ffffffffffff604f557003eab73b3bbfe282243ce1ffffffffffff6050557003c1771ac9fb6b4c18e229ffffffffffff605155700399e96897690418f785257fffffffffff605255700373fc456c53bb779bf0ea9fffffffffff60535570034f9e8e490c48e67e6ab8bfffffffffff60545570032cbfd4a7adc790560b3337ffffffffff60555570030b50570f6e5d2acca94613ffffffffff6056557002eb40f9f620fda6b56c2861ffffffffff6057557002cc8340ecb0d0f520a6af58ffffffffff6058557002af09481380a0a35cf1ba02ffffffffff605955700292c5bdd3b92ec810287b1b3fffffffff605a55700277abdcdab07d5a77ac6d6b9fffffffff605b5570025daf6654b1eaa55fd64df5efffffffff605c55700244c49c648baa98192dce88b7ffffffff605d5570022ce03cd5619a311b2471268bffffffff605e55700215f77c045fbe885654a44a0fffffffff605f556001600160811b036060557001eaefdbdaaee7421fc4d3ede5ffffffff6061557001d6bd8b2eb257df7e8ca57b09bfffffff6062557001c35fedd14b861eb0443f7f133fffffff6063557001b0ce43b322bcde4a56e8ada5afffffff60645570019f0028ec1fff007f5a195a39dfffffff60655570018ded91f0e72ee74f49b15ba527ffffff60665570017d8ec7f04136f4e5615fd41a63ffffff60675570016ddc6556cdb84bdc8d12d22e6fffffff60685570015ecf52776a1155b5bd8395814f7fffff60695570015060c256cb23b3b3cc3754cf40ffffff606a557001428a2f98d728ae223ddab715be3fffff606b5570013545598e5c23276ccf0ede68034fffff606c557001288c4161ce1d6f54b7f61081194fffff606d5570011c592761c666aa641d5a01a40f17ffff606e55700110a688680a7530515f3e6e6cfdcdffff606f557001056f1b5bedf75c6bcb2ce8aed428ffff6070556ffaadceceeff8a0890f3875f008277fff6071556ff05dc6b27edad306388a600f6ba0bfff6072556fe67a5a25da41063de1495d5b18cdbfff6073556fdcff115b14eedde6fc3aa5353f2e4fff6074556fd3e7a3924312399f9aae2e0f868f8fff6075556fcb2ff529eb71e41582cccd5a1ee26fff6076556fc2d415c3db974ab32a51840c0b67edff6077556fbad03e7d883f69ad5b0a186184e06bff6078556fb320d03b2c343d4829abd6075f0cc5ff6079556fabc25204e02828d73c6e80bcdb1a95bf607a556fa4b16f74ee4bb2040a1ec6c15fbbf2df607b556f9deaf736ac1f569deb1b5ae3f36c130f607c556f976bd9952c7aa957f5937d790ef65037607d556f9131271922eaa6064b73a22d0bd4f2bf607e556f8b380f3558668c46c91c49a2f8e967b9607f556f857ddf0117efa215952912839f6473e6608055670de0b6b3a764000060e755678ac7230489e8000060e85560ea556134b09081620007e78239f35b81805282601f60208420920160051c8201915b828110620007b657505062000035565b838155018390620007a6565b634e487b7160e01b82526022600452602482fd5b90607f169062000021565b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146111a95750806306fdde0314611115578063095ea7b3146110ef5780630c7d5cd8146110d157806318160ddd146110b357806323b872dd14610ff5578063248a9ca314610fc657806328c3d70114610f8c57806329a00e7c14610f705780632f2ff15d14610ebd578063313ce56714610ea157806336568abe14610e0f5780633950935114610dbe57806349f9b0f714610da257806354fd4d5014610cff57806370a0823114610cc557806382efa0e414610c9c57806390f0c2ea14610c5057806391d1485414610c0357806395d89b4114610b37578063a10954fe14610b19578063a217fddf14610afd578063a457c2d714610a56578063a9059cbb14610a25578063d5391393146109ea578063d547741f146109a9578063dd62ed3e14610958578063e8675fdc146101815763f51e181a1461015e57600080fd5b3461017c57600036600319011261017c57602060e754604051908152f35b600080fd5b3461017c57608036600319011261017c5760043567ffffffffffffffff811161017c576101b29036906004016112fe565b60243567ffffffffffffffff811161017c576101d29036906004016112fe565b6064356001600160a01b038116810361017c576082549060ff8260081c16159182809361094b575b8015610934575b156108d85760ff198116600117608255826108c6575b506001600160a01b0381161561088157670de0b6b3a764000060e755678ac7230489e8000060e855600080527f4ae2a1c1564a6aea6026889e1175df31014840c7520e6d5eb713e4a5b7a1d0a16020527f20e30d886f16ded25f47cbcfbcc5c48fa90e8680b8281b6e56953f4ef0dec9fe5460ff1615610837575b3360009081527f5225570dfbe678e995a884820eedab79cd6ab4d6d9c15575f268272e8a498fa260205260409020547f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69060ff16156107e3575b5061030760ff60825460081c1661030281611b32565b611b32565b835167ffffffffffffffff81116106e45761032360b8546112a2565b601f811161077a575b506020601f82116001146107055781929394956000926106fa575b50508160011b916000199060031b1c19161760b8555b825167ffffffffffffffff81116106e45761037960b9546112a2565b601f8111610677575b506020601f821160011461060557819293946000926105fa575b50508160011b916000199060031b1c19161760b9555b604435801515806105ed575b156105b05760405163313ce56760e01b81526020816004816001600160a01b0387165afa80156105a457600090610567575b60ff9150166012811161052c576012036012811161051657604d811161051657600a0a60ea5560e95560e75433156104d15761042e8160b754611355565b60b7553360005260b5602052604060002081815401905560405190815260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a360018060a01b03166bffffffffffffffffffffffff60a01b60eb54161760eb5561049957005b61ff0019608254166082557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b8152602060048201526013602482015272151bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b6044820152606490fd5b506020813d60201161059c575b81610581602093836112dc565b8101031261017c575160ff8116810361017c5760ff906103f0565b3d9150610574565b6040513d6000823e3d90fd5b60405162461bcd60e51b8152602060048201526015602482015274496e76616c6964205265736572766520526174696f60581b6044820152606490fd5b50620f42408111156103be565b01519050848061039c565b60b960005260008051602061345b833981519152906000601f198416905b81811061065f57509583600195969710610646575b505050811b0160b9556103b2565b015160001960f88460031b161c19169055848080610638565b9192602060018192868b015181550194019201610623565b60b9600052601f820160051c60008051602061345b83398151915201602083106106cf575b601f90910160051c60008051602061345b83398151915201905b8181106106c35750610382565b600081556001016106b6565b5060008051602061345b83398151915261069c565b634e487b7160e01b600052604160045260246000fd5b015190508580610347565b60b860005260008051602061343b8339815191529060005b601f1984168110610762575060019394959683601f19811610610749575b505050811b0160b85561035d565b015160001960f88460031b161c1916905585808061073b565b9091602060018192858b01518155019301910161071d565b60b8600052601f820160051c60008051602061343b83398151915201602083106107ce575b601f820160051c60008051602061343b8339815191520181106107c2575061032c565b6000815560010161079f565b5060008051602061343b83398151915261079f565b8060005260816020526040600020336000526020526040600020600160ff19825416179055339033907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a4846102ec565b608160205260406000206020526040600020600160ff19825416179055336000807f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4610292565b60405162461bcd60e51b815260206004820152601b60248201527f496e76616c69642064656e6f6d20746f6b656e206164647265737300000000006044820152606490fd5b61ffff19166101011760825584610217565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156102015750600160ff821614610201565b50600160ff8216106101fa565b3461017c57604036600319011261017c5761097161124b565b610979611261565b9060018060a01b0380911660005260b6602052604060002091166000526020526020604060002054604051908152f35b3461017c57604036600319011261017c576109e86004356109c8611261565b908060005260816020526109e36001604060002001546115d4565b611903565b005b3461017c57600036600319011261017c5760206040517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b3461017c57604036600319011261017c57610a4b610a4161124b565b6024359033611362565b602060405160018152f35b3461017c57604036600319011261017c57610a6f61124b565b602435903360005260b6602052604060002060018060a01b03821660005260205260406000205491808310610aaa57610a4b920390336114d2565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608490fd5b3461017c57600036600319011261017c57602060405160008152f35b3461017c57600036600319011261017c57602060e854604051908152f35b3461017c57600036600319011261017c57604051600060b954610b59816112a2565b80845290600190818116908115610bdc5750600114610b93575b610b8f84610b83818603826112dc565b6040519182918261121f565b0390f35b60b96000908152925060008051602061345b8339815191525b828410610bc4575050508101602001610b8382610b73565b80546020858701810191909152909301928101610bac565b60ff191660208087019190915292151560051b85019092019250610b839150839050610b73565b3461017c57604036600319011261017c57610c1c611261565b600435600052608160205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461017c57602036600319011261017c576020610c9460b754610c8f60e8549163ffffffff60e9541660ea5493610c8985600435611979565b92611a84565b611a64565b604051908152f35b3461017c57600036600319011261017c5760eb546040516001600160a01b039091168152602090f35b3461017c57602036600319011261017c576001600160a01b03610ce661124b565b1660005260b56020526020604060002054604051908152f35b3461017c57600036600319011261017c5760405160008054610d20816112a2565b80845290600190818116908115610bdc5750600114610d4957610b8f84610b83818603826112dc565b600080805292507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828410610d8a575050508101602001610b8382610b73565b80546020858701810191909152909301928101610d72565b3461017c576020610c94610db536611277565b92919091611a84565b3461017c57604036600319011261017c57610a4b610dda61124b565b3360005260b6602052604060002060018060a01b038216600052602052610e08602435604060002054611355565b90336114d2565b3461017c57604036600319011261017c57610e28611261565b336001600160a01b03821603610e44576109e890600435611903565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b3461017c57600036600319011261017c57602060405160128152f35b3461017c57604036600319011261017c57600435610ed9611261565b816000526081602052610ef36001604060002001546115d4565b81600052608160205260406000209060018060a01b0316908160005260205260ff6040600020541615610f2257005b8160005260816020526040600020816000526020526040600020600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a4005b3461017c576020610c94610f8336611277565b929190916119c0565b3461017c57602036600319011261017c576020610c9460b75460e85463ffffffff60e9541690610fc060ea54600435611979565b926119c0565b3461017c57602036600319011261017c5760043560005260816020526020600160406000200154604051908152f35b3461017c57606036600319011261017c5761100e61124b565b611016611261565b6044359060018060a01b03831660005260b6602052604060002033600052602052604060002054926000198403611052575b610a4b9350611362565b82841061106e5761106983610a4b950333836114d2565b611048565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b3461017c57600036600319011261017c57602060b754604051908152f35b3461017c57600036600319011261017c57602060e954604051908152f35b3461017c57604036600319011261017c57610a4b61110b61124b565b60243590336114d2565b3461017c57600036600319011261017c57604051600060b854611137816112a2565b80845290600190818116908115610bdc575060011461116057610b8f84610b83818603826112dc565b60b86000908152925060008051602061343b8339815191525b828410611191575050508101602001610b8382610b73565b80546020858701810191909152909301928101611179565b3461017c57602036600319011261017c576004359063ffffffff60e01b821680920361017c57602091637965db0b60e01b81149081156111eb575b5015158152f35b6301ffc9a760e01b149050836111e4565b60005b83811061120f5750506000910152565b81810151838201526020016111ff565b6040916020825261123f81518092816020860152602086860191016111fc565b601f01601f1916010190565b600435906001600160a01b038216820361017c57565b602435906001600160a01b038216820361017c57565b608090600319011261017c57600435906024359060443563ffffffff8116810361017c579060643590565b90600182811c921680156112d2575b60208310146112bc57565b634e487b7160e01b600052602260045260246000fd5b91607f16916112b1565b90601f8019910116810190811067ffffffffffffffff8211176106e457604052565b81601f8201121561017c5780359067ffffffffffffffff82116106e45760405192611333601f8401601f1916602001856112dc565b8284526020838301011161017c57816000926020809301838601378301015290565b9190820180921161051657565b6001600160a01b0390811691821561147f571691821561142e57600082815260b56020526040812054918083106113da57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95876020965260b58652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b0390811691821561158357169182156115335760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260b68252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b600081815260209060818252604092838220338352835260ff8483205416156115fd5750505050565b835167ffffffffffffffff91903360608201848111838210176118ef578752602a825285820192873685378251156118db57603084538251916001928310156118c7576078602185015360295b83811161185d575061181b5790875194608086019086821090821117611807578852604285528685019560603688378551156117f3576030875385518210156117f35790607860218701536041915b81831161178557505050611743579385936117299361171a6048946116f17f416363657373436f6e74726f6c3a206163636f756e74200000000000000000009961173f9b519a8b9788015251809260378801906111fc565b8401917001034b99036b4b9b9b4b733903937b6329607d1b6037840152518093868401906111fc565b010360288101855201836112dc565b5162461bcd60e51b81529182916004830161121f565b0390fd5b60648587519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156117df576f181899199a1a9b1b9c1cb0b131b232b360811b901a6117b5858961198c565b5360041c9280156117cb57600019019190611699565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b87526041600452602487fd5b60648789519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f811660108110156118b3576f181899199a1a9b1b9c1cb0b131b232b360811b901a61188b838761198c565b5360041c90801561189f576000190161164a565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b89526032600452602489fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b906000918083526081602052604083209160018060a01b03169182845260205260ff60408420541661193457505050565b8083526081602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b8181029291811591840414171561051657565b90815181101561199d570160200190565b634e487b7160e01b600052603260045260246000fd5b9190820391821161051657565b919282151580611a5b575b80611a4c575b80611a39575b1561017c578015611a3057620f424063ffffffff851614611a2157611a0e611a1e9483611a09611a169560ff95611355565b611bd3565b929084611979565b91161c6119b3565b90565b611a1e9350610c8f9192611979565b50505050600090565b50620f424063ffffffff851611156119d7565b5063ffffffff841615156119d1565b508115156119cb565b8115611a6e570490565b634e487b7160e01b600052601260045260246000fd5b90919281151580611b29575b80611b1a575b80611b07575b80611afd575b1561017c578015611a3057818114611af657620f424063ffffffff851614611a2157611a1e9382611ad9611adf93610c8f956119b3565b90612d5b565b909260ff611aed8583611979565b92161b906119b3565b5050905090565b5081811115611aa2565b50620f424063ffffffff85161115611a9c565b5063ffffffff84161515611a96565b50821515611a90565b15611b3957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b15611b9957565b634e487b7160e01b600052600160045260246000fd5b60ff6000199116019060ff821161051657565b60ff16607f039060ff821161051657565b909291600160811b90611be7828410611b92565b848310612d16576000607f9584871b6001607f1b95808204871490151715612cb55790611c1391611a64565b9070015bf0a8b1457695355fb8ac404e7a79e3821015612b51575080916000916fd3094c70f034de4b96ff7d5b6f99fcd880821015612b2d575b50506fa45af1e1f40c333b3de1db4dd55f29a780841015612b02575b506f910b022db7ae67ce76b441c27035c6a180841015612ad7575b506f88415abbe9a76bead8d00cf112e4d4a880841015612aac575b506f84102b00893f64c705e841d5d4064bd380841015612a81575b506f8204055aaef1c8bd5c3259f4822735a280841015612a56575b506f810100ab00222d861931c15e39b44e9980841015612a2b575b506f808040155aabbbe9451521693554f73380841015612a00575b5060016001607f1b0319830183811161051657611d288180611979565b881c92600160801b85810388019190821161051657611d588591611d4f611d5e9486611979565b60801c90611355565b92611979565b881c906faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa90878683030191821161051657611d588591611d91611d9a9486611979565b60811c90611355565b881c906f9999999999999999999999999999999990878683030191821161051657611d588591611dda93611dd3600360801b9187611979565b0490611355565b881c906f9249249249249249249249249249249290878683030191821161051657611d588591611e0d611e169486611979565b60821c90611355565b881c906f8e38e38e38e38e38e38e38e38e38e38e90878683030191821161051657611d588591611e4f93611dd3600560801b9187611979565b881c906f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b90878683030191821161051657611d588591611e8893611dd3600360811b9187611979565b881c926f89d89d89d89d89d89d89d89d89d89d89878682030190811161051657611ec692611ec091600760801b90611dd39088611979565b93611979565b871c856f888888888888888888888888888888889485030193841161051657611f08611f1193611eff620f42409663ffffffff94611979565b60831c90611355565b915b1690611979565b0490600160831b8210156124575760009260016001607c1b038316611f368180611979565b871c6710e1b3be415a0000908181029181830414811517156124435782611f5c91611979565b881c906705a0913f6b1e00009081830291838304148315171561189f57611d58611f87928592611355565b881c90670168244fdac780009081830291838304148315171561189f57611d58611fb2928592611355565b881c90664807432bc180009081830291838304148315171561189f57611d58611fdc928592611355565b881c90660c0135dca040009081830291838304148315171561189f57611d58612006928592611355565b881c906601b707b1cdc0009081830291838304148315171561189f57611d58612030928592611355565b881c906536e0f639b8009081830291838304148315171561189f57611d58612059928592611355565b881c90650618fee9f8009081830291838304148315171561189f57611d58612082928592611355565b881c90649c197dcc009081830291838304148315171561189f57611d586120aa928592611355565b881c90640e30dce4009081830291838304148315171561189f57611d586120d2928592611355565b881c9064012ebd13009081830291838304148315171561189f57611d586120fa928592611355565b881c906317499f009081830291838304148315171561189f57611d58612121928592611355565b881c906301a9d4809081830291838304148315171561189f57611d58612148928592611355565b881c90621c63809081830291838304148315171561189f57611d5861216e928592611355565b881c906201c6389081830291838304148315171561189f57611d58612194928592611355565b881c90611ab89081830291838304148315171561189f57611d586121b9928592611355565b881c9061017c9081830291838304148315171561189f57611d586121de928592611355565b881c9060148202908282046014148315171561189f57611d58612202928592611355565b881c90818004600114821517156124435761222a61223093926721c3677c82b4000092611355565b04611355565b9381850180951161242f5750836001607c1b84166123ee575b506001607d1b83166123b0575b6001607e1b8316612373575b8216612337575b600160801b82166122fb575b81166122c0575b600160821b1661228a579190565b6e2bf84208204f5977f9a8cf01fdc30790818102918183041490151715610516576d03c6ab775dd0b95b4cbee7e65d1190049190565b906f0960aadc109e7a3bf4578099615711d790818102918183041490151715610516576e2bf84208204f5977f9a8cf01fdce3d90049061227c565b916f454aaa8efe072e7f6ddbab84b40a55c590818102918183041490151715610516576f0960aadc109e7a3bf4578099615711ea900491612275565b916fbc5ab1b16779be3575bd8f0520a9f21e90818102918183041490151715610516576f454aaa8efe072e7f6ddbab84b40a55c9900491612269565b927001368b2fc6f9609fe7aceb46aa619baed590818102918183041490151715610516576fbc5ab1b16779be3575bd8f0520a9f21f900492612262565b9270018ebef9eac820ae8682b9793ac6d1e77890818102918183041490151715610516577001368b2fc6f9609fe7aceb46aa619baed4900492612256565b9093507001c3d6a24ed82218787d624d3e5eba95f9908181029181830414901517156105165770018ebef9eac820ae8682b9793ac6d1e77690049238612249565b634e487b7160e01b81526011600452602490fd5b634e487b7160e01b87526011600452602487fd5b50809350612465915061336e565b9160ff61247184611bc2565b161c61247d8180611979565b60ff841690811c6f03442c4e6074a82f1797f72ac00000009081810291818304148115171561051657836124b091611979565b821c906f0116b96f757c380fb287fd0e4000000080830290838204148315171561051657611d5885916124e293611355565b821c906e45ae5bdd5f0e03eca1ff439000000080830290838204148315171561051657611d58859161251393611355565b821c906e0defabf91302cd95b9ffda5000000080830290838204148315171561051657611d58859161254493611355565b821c906e02529ca9832b22439efff9b800000080830290838204148315171561051657611d58859161257593611355565b821c906d54f1cf12bd04e516b6da8800000080830290838204148315171561051657611d5885916125a593611355565b821c906d0a9e39e257a09ca2d6db5100000080830290838204148315171561051657611d5885916125d593611355565b821c906d012e066e7b839fa050c30900000080830290838204148315171561051657611d58859161260593611355565b821c906c1e33d7d926c329a1ad1a80000080830290838204148315171561051657611d58859161263493611355565b821c906c02bee513bdb4a6b19b5f80000080830290838204148315171561051657611d58859161266393611355565b821c906b3a9316fa79b88eccf2a0000080830290838204148315171561051657611d58859161269193611355565b821c906b048177ebe1fa81237520000080830290838204148315171561051657611d5885916126bf93611355565b821c906a5263fe90242dcbacf0000080830290838204148315171561051657611d5885916126ec93611355565b821c906a057e22099c030d9410000080830290838204148315171561051657611d58859161271993611355565b821c906957e22099c030d941000080830290838204148315171561051657611d58859161274593611355565b821c9069052b6b5456997631000080830290838204148315171561051657611d58859161277193611355565b821c90684985f67696bf74800080830290838204148315171561051657611d58859161279c93611355565b821c906803dea12ea99e49800080830290838204148315171561051657611d5885916127c793611355565b821c906731880f2214b6e00080830290838204148315171561051657611d5885916127f193611355565b821c9067025bcff56eb3600080830290838204148315171561051657611d58859161281b93611355565b821c90661b722e10ab100080830290838204148315171561051657611d58859161284493611355565b821c906601317c7007700080830290838204148315171561051657611d58859161286d93611355565b821c90650cba84aafa0080830290838204148315171561051657611d58859161289593611355565b821c906482573a0a0080830290838204148315171561051657611d5885916128bc93611355565b821c906405035ad90080830290838204148315171561051657611d5885916128e393611355565b821c90632f881b0080830290838204148315171561051657611d58859161290993611355565b821c906301b2934080830290838204148315171561051657611d58859161292f93611355565b821c90620efc4080830290838204148315171561051657611d58859161295493611355565b821c90617fe080830290838204148315171561051657611d58859161297893611355565b821c9061042080830290838204148315171561051657611d58859161299c93611355565b821c90602182028281046021148315171561051657611d5885916129bf93611355565b821c9081800460011482151715610516576129fc936f0688589cc0e9505e2f2fee558000000061222a6001946129f494611355565b911b90611355565b9190565b909291600160771b8101908110610516579180881b9080820487149015171561051657049138611d0b565b909291600160781b8101908110610516579180881b9080820487149015171561051657049138611cf0565b909291600160791b8101908110610516579180881b9080820487149015171561051657049138611cd5565b9092916001607a1b8101908110610516579180881b9080820487149015171561051657049138611cba565b9092916001607b1b8101908110610516579180881b9080820487149015171561051657049138611c9f565b9092916001607c1b8101908110610516579180881b9080820487149015171561051657049138611c84565b9092916001607d1b8101908110610516579180881b9080820487149015171561051657049138611c69565b9193506001607e1b925080881b908015908204871417156105165704913880611c4d565b908190600160801b8181811015612c48575b50868211612bb7575b50506f03f80fe03f80fe03f80fe03f80fe03f89182810292818404149015171561242f5750620f42409163ffffffff6f05b9de1d10bf4103d647b0955897ba80611f11930491611f0a565b9196909792939495835b60ff998a821615612c365780612bd691611979565b998a861c9a858c1015612c0c575b505060ff168015612bf85760001901612bc1565b634e487b7160e01b89526011600452602489fd5b612c2e919b5096600160ff939860801c9c612c268a611baf565b161b90611355565b959038612be4565b50509594939297509590503880612b6c565b988991989450809597939692501c9585976101008810600014612cc95797965b600180821115612c83571c96612c7d9061335c565b96612c68565b5050939796929695909491955b60ff821690811c91891b60ff607f1b1690801590820488141715612cb5579238612b63565b634e487b7160e01b83526011600452602483fd5b8560809a95999798969a5b60ff81168015612d04576001811b891015612cf6575b5060011c168a90612cd4565b978199981c97179738612cea565b50505093909450959195949094612c90565b60405162461bcd60e51b815260206004820152601c60248201527f4261736573203c203120617265206e6f7420737570706f727465642e000000006044820152606490fd5b909291600160811b90612d6f828410611b92565b848310612d16576000607f9584871b6001607f1b95808204871490151715612cb55790612d9b91611a64565b9070015bf0a8b1457695355fb8ac404e7a79e38210156131d557506000816fd3094c70f034de4b96ff7d5b6f99fcd8808210156131b2575b50506fa45af1e1f40c333b3de1db4dd55f29a780831015613189575b506f910b022db7ae67ce76b441c27035c6a180831015613160575b506f88415abbe9a76bead8d00cf112e4d4a880831015613137575b506f84102b00893f64c705e841d5d4064bd38083101561310e575b506f8204055aaef1c8bd5c3259f4822735a2808310156130e5575b506f810100ab00222d861931c15e39b44e99808310156130bc575b506f808040155aabbbe9451521693554f73380831015613093575b5060016001607f1b0319820182811161051657612eae8180611979565b881c91600160801b84810388019190821161051657611d588491611d4f612ed59486611979565b881c906faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa90878583030191821161051657611d588491611d91612f089486611979565b881c906f9999999999999999999999999999999990878583030191821161051657611d588491612f4193611dd3600360801b9187611979565b881c906f9249249249249249249249249249249290878583030191821161051657611d588491611e0d612f749486611979565b881c906f8e38e38e38e38e38e38e38e38e38e38e90878583030191821161051657611d588491612fad93611dd3600560801b9187611979565b881c906f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b90878583030191821161051657611d588491612fe693611dd3600360811b9187611979565b881c916f89d89d89d89d89d89d89d89d89d89d8987858203019081116105165761301e92611d5891600760801b90611dd39087611979565b871c856f88888888888888888888888888888888938403019283116105165761304a92611eff91611979565b620f4240908181029181830414901517156105165763ffffffff61306f921690611a64565b90600160831b8210156124575760009260016001607c1b038316611f368180611979565b90600160771b8101908110610516579180881b9080820487149015171561051657049038612e91565b90600160781b8101908110610516579180881b9080820487149015171561051657049038612e76565b90600160791b8101908110610516579180881b9080820487149015171561051657049038612e5b565b906001607a1b8101908110610516579180881b9080820487149015171561051657049038612e40565b906001607b1b8101908110610516579180881b9080820487149015171561051657049038612e25565b906001607c1b8101908110610516579180881b9080820487149015171561051657049038612e0a565b906001607d1b8101908110610516579180881b9080820487149015171561051657049038612def565b6001607e1b9350915080881b908015908204871417156105165704903880612dd3565b908190600160801b81818110156132a2575b5086821161322d575b50506f03f80fe03f80fe03f80fe03f80fe03f89182810292818404149015171561242f57506f05b9de1d10bf4103d647b0955897ba80900461304a565b9196909792939495835b60ff998a821615613290578061324c91611979565b998a861c9a858c101561326e575b505060ff168015612bf85760001901613237565b613288919b5096600160ff939860801c9c612c268a611baf565b95903861325a565b505095949392975095905038806131f0565b988991989450809597939692501c958597610100881060001461330f5797965b6001808211156132dd571c966132d79061335c565b966132c2565b5050939796929695909491955b60ff821690811c91891b60ff607f1b1690801590820488141715612cb55792386131e7565b8560809a95999798969a5b60ff8116801561334a576001811b89101561333c575b5060011c168a9061331a565b978199981c97179738613330565b505050939094509591959490946132ea565b60ff60019116019060ff821161051657565b607f91829060205b61337f8161335c565b9060ff80928188169182911610156133ee57828216019182116133d95783600192831c169160808310156133c45782015485116133bc5750613376565b945093613376565b60246000634e487b7160e01b81526032600452fd5b60246000634e487b7160e01b81526011600452fd5b509392505092608081101561199d5781816001015410156134345750608082101561199d5781600101541015611a1e57634e487b7160e01b600052600160045260246000fd5b9150509056fed91d691c894f8266e3f2d5e558ad2349d6783327a752a4949bc554f514e34988e35848a7c6477cfe9366ae64571069fd3a5ad752a460d28c5f73d438b5e432bfa2646970667358221220804ce6b6b22bf2c6477d48018be118d106457826de0f08a2107465382891d54264736f6c63430008120033"; + "0x60808060405234620007e15760008054906001918281811c91168015620007d6575b6020821014620007c257601f811162000793575b50600662302e3360e81b0190556001641c35fedd1560601b036021556001646c3390ecc9605e1b036022556001640cf801476160611b0360235560016431bdb23e1d605f1b0360245560016502fb1d8fe083605b1b0360255560016505b771955b37605a1b036026556001650af67a93bb5160591b0360275560016515060c256cb360581b036028556001651428a2f98d7360581b036029556001654d515663970960561b03602a55600165944620b0e70f60551b03602b55600166011c592761c66760541b03602c5560016602214d10d014eb60531b03602d55600166020ade36b7dbef60531b03602e5560016603eab73b3bbfe360521b03602f556001660782ee3593f6d760511b036030556001661ccf4b44bb4821604f1b0360315560016606e7f88ad8a77760511b0360325560016669f3d1c921891d604d1b03603355600166cb2ff529eb71e5604c1b03603455600166c2d415c3db974b604c1b0360355560016702eb40f9f620fda7604a1b0360365560016705990681d961a1eb60491b03603755600167055e12902701414760491b0360385560016714962dee9dc9764160471b0360395560016704ef57b9b560fab560491b03603a5560016712ed7b32a58f552b60471b03603b556001679131271922eaa60760441b03603c556001678b380f3558668c4760441b03603d556001680215f77c045fbe885760421b03603e556001600160831b03603f556001670f577eded5773a1160471b036040556001680eb5ec597592befbf5603f1b036041556001681c35fedd14b861eb05603e1b036042556001683619c87664579bc94b603d1b0360435560016867c00a3b07ffc01fd7603c1b03604455600168c6f6c8f8739773a7a5603b1b03604555600168bec763f8209b7a72b1603b1b0360465560016902dbb8caad9b7097b91b60391b03604755600169057b3d49dda84556d6f760381b03604855600169054183095b2c8ececf3160381b036049556001690a14517cc6b9457111ef60371b03604a5560016913545598e5c23276ccf160361b03604b556001692511882c39c3adea96ff60351b03604c55600169471649d87199aa99075760341b03604d557004429a21a029d4c1457cfbffffffffffff604e55700415bc6d6fb7dd71af2cb3ffffffffffff604f557003eab73b3bbfe282243ce1ffffffffffff6050557003c1771ac9fb6b4c18e229ffffffffffff605155700399e96897690418f785257fffffffffff605255700373fc456c53bb779bf0ea9fffffffffff60535570034f9e8e490c48e67e6ab8bfffffffffff60545570032cbfd4a7adc790560b3337ffffffffff60555570030b50570f6e5d2acca94613ffffffffff6056557002eb40f9f620fda6b56c2861ffffffffff6057557002cc8340ecb0d0f520a6af58ffffffffff6058557002af09481380a0a35cf1ba02ffffffffff605955700292c5bdd3b92ec810287b1b3fffffffff605a55700277abdcdab07d5a77ac6d6b9fffffffff605b5570025daf6654b1eaa55fd64df5efffffffff605c55700244c49c648baa98192dce88b7ffffffff605d5570022ce03cd5619a311b2471268bffffffff605e55700215f77c045fbe885654a44a0fffffffff605f556001600160811b036060557001eaefdbdaaee7421fc4d3ede5ffffffff6061557001d6bd8b2eb257df7e8ca57b09bfffffff6062557001c35fedd14b861eb0443f7f133fffffff6063557001b0ce43b322bcde4a56e8ada5afffffff60645570019f0028ec1fff007f5a195a39dfffffff60655570018ded91f0e72ee74f49b15ba527ffffff60665570017d8ec7f04136f4e5615fd41a63ffffff60675570016ddc6556cdb84bdc8d12d22e6fffffff60685570015ecf52776a1155b5bd8395814f7fffff60695570015060c256cb23b3b3cc3754cf40ffffff606a557001428a2f98d728ae223ddab715be3fffff606b5570013545598e5c23276ccf0ede68034fffff606c557001288c4161ce1d6f54b7f61081194fffff606d5570011c592761c666aa641d5a01a40f17ffff606e55700110a688680a7530515f3e6e6cfdcdffff606f557001056f1b5bedf75c6bcb2ce8aed428ffff6070556ffaadceceeff8a0890f3875f008277fff6071556ff05dc6b27edad306388a600f6ba0bfff6072556fe67a5a25da41063de1495d5b18cdbfff6073556fdcff115b14eedde6fc3aa5353f2e4fff6074556fd3e7a3924312399f9aae2e0f868f8fff6075556fcb2ff529eb71e41582cccd5a1ee26fff6076556fc2d415c3db974ab32a51840c0b67edff6077556fbad03e7d883f69ad5b0a186184e06bff6078556fb320d03b2c343d4829abd6075f0cc5ff6079556fabc25204e02828d73c6e80bcdb1a95bf607a556fa4b16f74ee4bb2040a1ec6c15fbbf2df607b556f9deaf736ac1f569deb1b5ae3f36c130f607c556f976bd9952c7aa957f5937d790ef65037607d556f9131271922eaa6064b73a22d0bd4f2bf607e556f8b380f3558668c46c91c49a2f8e967b9607f556f857ddf0117efa215952912839f6473e6608055670de0b6b3a764000060e755678ac7230489e8000060e85560ea556134b09081620007e78239f35b81805282601f60208420920160051c8201915b828110620007b657505062000035565b838155018390620007a6565b634e487b7160e01b82526022600452602482fd5b90607f169062000021565b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a7146111a95750806306fdde0314611115578063095ea7b3146110ef5780630c7d5cd8146110d157806318160ddd146110b357806323b872dd14610ff5578063248a9ca314610fc657806328c3d70114610f8c57806329a00e7c14610f705780632f0681da146107995780632f2ff15d146106e6578063313ce567146106ca57806336568abe1461063857806339509351146105e757806349f9b0f7146105cb57806354fd4d501461052857806370a08231146104ee57806382efa0e4146104c557806390f0c2ea1461047957806391d148541461042c57806395d89b4114610360578063a10954fe14610342578063a217fddf14610326578063a457c2d71461027f578063a9059cbb1461024e578063d539139314610213578063d547741f146101d2578063dd62ed3e146101815763f51e181a1461015e57600080fd5b3461017c57600036600319011261017c57602060e754604051908152f35b600080fd5b3461017c57604036600319011261017c5761019a61124b565b6101a2611261565b9060018060a01b0380911660005260b6602052604060002091166000526020526020604060002054604051908152f35b3461017c57604036600319011261017c576102116004356101f1611261565b9080600052608160205261020c6001604060002001546115d4565b611903565b005b3461017c57600036600319011261017c5760206040517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b3461017c57604036600319011261017c5761027461026a61124b565b6024359033611362565b602060405160018152f35b3461017c57604036600319011261017c5761029861124b565b602435903360005260b6602052604060002060018060a01b038216600052602052604060002054918083106102d357610274920390336114d2565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608490fd5b3461017c57600036600319011261017c57602060405160008152f35b3461017c57600036600319011261017c57602060e854604051908152f35b3461017c57600036600319011261017c57604051600060b9546103828161131b565b8084529060019081811690811561040557506001146103bc575b6103b8846103ac818603826112a2565b6040519182918261121f565b0390f35b60b96000908152925060008051602061345b8339815191525b8284106103ed5750505081016020016103ac8261039c565b805460208587018101919091529093019281016103d5565b60ff191660208087019190915292151560051b850190920192506103ac915083905061039c565b3461017c57604036600319011261017c57610445611261565b600435600052608160205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b3461017c57602036600319011261017c5760206104bd60b7546104b860e8549163ffffffff60e9541660ea54936104b285600435611979565b92611a84565b611a64565b604051908152f35b3461017c57600036600319011261017c5760eb546040516001600160a01b039091168152602090f35b3461017c57602036600319011261017c576001600160a01b0361050f61124b565b1660005260b56020526020604060002054604051908152f35b3461017c57600036600319011261017c57604051600080546105498161131b565b808452906001908181169081156104055750600114610572576103b8846103ac818603826112a2565b600080805292507f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b8284106105b35750505081016020016103ac8261039c565b8054602085870181019190915290930192810161059b565b3461017c5760206104bd6105de36611277565b92919091611a84565b3461017c57604036600319011261017c5761027461060361124b565b3360005260b6602052604060002060018060a01b038216600052602052610631602435604060002054611355565b90336114d2565b3461017c57604036600319011261017c57610651611261565b336001600160a01b0382160361066d5761021190600435611903565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b3461017c57600036600319011261017c57602060405160128152f35b3461017c57604036600319011261017c57600435610702611261565b81600052608160205261071c6001604060002001546115d4565b81600052608160205260406000209060018060a01b0316908160005260205260ff604060002054161561074b57005b8160005260816020526040600020816000526020526040600020600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a4005b3461017c57608036600319011261017c5760043567ffffffffffffffff811161017c576107ca9036906004016112c4565b60243567ffffffffffffffff811161017c576107ea9036906004016112c4565b6064356001600160a01b038116810361017c576082549060ff8260081c161591828093610f63575b8015610f4c575b15610ef05760ff19811660011760825582610ede575b506001600160a01b03811615610e9957670de0b6b3a764000060e755678ac7230489e8000060e855600080527f4ae2a1c1564a6aea6026889e1175df31014840c7520e6d5eb713e4a5b7a1d0a16020527f20e30d886f16ded25f47cbcfbcc5c48fa90e8680b8281b6e56953f4ef0dec9fe5460ff1615610e4f575b3360009081527f5225570dfbe678e995a884820eedab79cd6ab4d6d9c15575f268272e8a498fa260205260409020547f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69060ff1615610dfb575b5061091f60ff60825460081c1661091a81611b32565b611b32565b835167ffffffffffffffff8111610cfc5761093b60b85461131b565b601f8111610d92575b506020601f8211600114610d1d578192939495600092610d12575b50508160011b916000199060031b1c19161760b8555b825167ffffffffffffffff8111610cfc5761099160b95461131b565b601f8111610c8f575b506020601f8211600114610c1d5781929394600092610c12575b50508160011b916000199060031b1c19161760b9555b60443580151580610c05575b15610bc85760405163313ce56760e01b81526020816004816001600160a01b0387165afa8015610bbc57600090610b7f575b60ff91501660128111610b445760120360128111610b2e57604d8111610b2e57600a0a60ea5560e95560e7543315610ae957610a468160b754611355565b60b7553360005260b5602052604060002081815401905560405190815260007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a360018060a01b03166bffffffffffffffffffffffff60a01b60eb54161760eb55610ab157005b61ff0019608254166082557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b8152602060048201526013602482015272151bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b6044820152606490fd5b506020813d602011610bb4575b81610b99602093836112a2565b8101031261017c575160ff8116810361017c5760ff90610a08565b3d9150610b8c565b6040513d6000823e3d90fd5b60405162461bcd60e51b8152602060048201526015602482015274496e76616c6964205265736572766520526174696f60581b6044820152606490fd5b50620f42408111156109d6565b0151905084806109b4565b60b960005260008051602061345b833981519152906000601f198416905b818110610c7757509583600195969710610c5e575b505050811b0160b9556109ca565b015160001960f88460031b161c19169055848080610c50565b9192602060018192868b015181550194019201610c3b565b60b9600052601f820160051c60008051602061345b8339815191520160208310610ce7575b601f90910160051c60008051602061345b83398151915201905b818110610cdb575061099a565b60008155600101610cce565b5060008051602061345b833981519152610cb4565b634e487b7160e01b600052604160045260246000fd5b01519050858061095f565b60b860005260008051602061343b8339815191529060005b601f1984168110610d7a575060019394959683601f19811610610d61575b505050811b0160b855610975565b015160001960f88460031b161c19169055858080610d53565b9091602060018192858b015181550193019101610d35565b60b8600052601f820160051c60008051602061343b8339815191520160208310610de6575b601f820160051c60008051602061343b833981519152018110610dda5750610944565b60008155600101610db7565b5060008051602061343b833981519152610db7565b8060005260816020526040600020336000526020526040600020600160ff19825416179055339033907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a484610904565b608160205260406000206020526040600020600160ff19825416179055336000807f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a46108aa565b60405162461bcd60e51b815260206004820152601b60248201527f496e76616c69642064656e6f6d20746f6b656e206164647265737300000000006044820152606490fd5b61ffff1916610101176082558461082f565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b1580156108195750600160ff821614610819565b50600160ff821610610812565b3461017c5760206104bd610f8336611277565b929190916119c0565b3461017c57602036600319011261017c5760206104bd60b75460e85463ffffffff60e9541690610fc060ea54600435611979565b926119c0565b3461017c57602036600319011261017c5760043560005260816020526020600160406000200154604051908152f35b3461017c57606036600319011261017c5761100e61124b565b611016611261565b6044359060018060a01b03831660005260b6602052604060002033600052602052604060002054926000198403611052575b6102749350611362565b82841061106e5761106983610274950333836114d2565b611048565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b3461017c57600036600319011261017c57602060b754604051908152f35b3461017c57600036600319011261017c57602060e954604051908152f35b3461017c57604036600319011261017c5761027461110b61124b565b60243590336114d2565b3461017c57600036600319011261017c57604051600060b8546111378161131b565b808452906001908181169081156104055750600114611160576103b8846103ac818603826112a2565b60b86000908152925060008051602061343b8339815191525b8284106111915750505081016020016103ac8261039c565b80546020858701810191909152909301928101611179565b3461017c57602036600319011261017c576004359063ffffffff60e01b821680920361017c57602091637965db0b60e01b81149081156111eb575b5015158152f35b6301ffc9a760e01b149050836111e4565b60005b83811061120f5750506000910152565b81810151838201526020016111ff565b6040916020825261123f81518092816020860152602086860191016111fc565b601f01601f1916010190565b600435906001600160a01b038216820361017c57565b602435906001600160a01b038216820361017c57565b608090600319011261017c57600435906024359060443563ffffffff8116810361017c579060643590565b90601f8019910116810190811067ffffffffffffffff821117610cfc57604052565b81601f8201121561017c5780359067ffffffffffffffff8211610cfc57604051926112f9601f8401601f1916602001856112a2565b8284526020838301011161017c57816000926020809301838601378301015290565b90600182811c9216801561134b575b602083101461133557565b634e487b7160e01b600052602260045260246000fd5b91607f169161132a565b91908201809211610b2e57565b6001600160a01b0390811691821561147f571691821561142e57600082815260b56020526040812054918083106113da57604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95876020965260b58652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b0390811691821561158357169182156115335760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260b68252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b600081815260209060818252604092838220338352835260ff8483205416156115fd5750505050565b835167ffffffffffffffff91903360608201848111838210176118ef578752602a825285820192873685378251156118db57603084538251916001928310156118c7576078602185015360295b83811161185d575061181b5790875194608086019086821090821117611807578852604285528685019560603688378551156117f3576030875385518210156117f35790607860218701536041915b81831161178557505050611743579385936117299361171a6048946116f17f416363657373436f6e74726f6c3a206163636f756e74200000000000000000009961173f9b519a8b9788015251809260378801906111fc565b8401917001034b99036b4b9b9b4b733903937b6329607d1b6037840152518093868401906111fc565b010360288101855201836112a2565b5162461bcd60e51b81529182916004830161121f565b0390fd5b60648587519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156117df576f181899199a1a9b1b9c1cb0b131b232b360811b901a6117b5858961198c565b5360041c9280156117cb57600019019190611699565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b87526041600452602487fd5b60648789519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f811660108110156118b3576f181899199a1a9b1b9c1cb0b131b232b360811b901a61188b838761198c565b5360041c90801561189f576000190161164a565b634e487b7160e01b88526011600452602488fd5b634e487b7160e01b89526032600452602489fd5b634e487b7160e01b87526032600452602487fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b86526041600452602486fd5b906000918083526081602052604083209160018060a01b03169182845260205260ff60408420541661193457505050565b8083526081602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b81810292918115918404141715610b2e57565b90815181101561199d570160200190565b634e487b7160e01b600052603260045260246000fd5b91908203918211610b2e57565b919282151580611a5b575b80611a4c575b80611a39575b1561017c578015611a3057620f424063ffffffff851614611a2157611a0e611a1e9483611a09611a169560ff95611355565b611bd3565b929084611979565b91161c6119b3565b90565b611a1e93506104b89192611979565b50505050600090565b50620f424063ffffffff851611156119d7565b5063ffffffff841615156119d1565b508115156119cb565b8115611a6e570490565b634e487b7160e01b600052601260045260246000fd5b90919281151580611b29575b80611b1a575b80611b07575b80611afd575b1561017c578015611a3057818114611af657620f424063ffffffff851614611a2157611a1e9382611ad9611adf936104b8956119b3565b90612d5b565b909260ff611aed8583611979565b92161b906119b3565b5050905090565b5081811115611aa2565b50620f424063ffffffff85161115611a9c565b5063ffffffff84161515611a96565b50821515611a90565b15611b3957565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b15611b9957565b634e487b7160e01b600052600160045260246000fd5b60ff6000199116019060ff8211610b2e57565b60ff16607f039060ff8211610b2e57565b909291600160811b90611be7828410611b92565b848310612d16576000607f9584871b6001607f1b95808204871490151715612cb55790611c1391611a64565b9070015bf0a8b1457695355fb8ac404e7a79e3821015612b51575080916000916fd3094c70f034de4b96ff7d5b6f99fcd880821015612b2d575b50506fa45af1e1f40c333b3de1db4dd55f29a780841015612b02575b506f910b022db7ae67ce76b441c27035c6a180841015612ad7575b506f88415abbe9a76bead8d00cf112e4d4a880841015612aac575b506f84102b00893f64c705e841d5d4064bd380841015612a81575b506f8204055aaef1c8bd5c3259f4822735a280841015612a56575b506f810100ab00222d861931c15e39b44e9980841015612a2b575b506f808040155aabbbe9451521693554f73380841015612a00575b5060016001607f1b03198301838111610b2e57611d288180611979565b881c92600160801b858103880191908211610b2e57611d588591611d4f611d5e9486611979565b60801c90611355565b92611979565b881c906faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa908786830301918211610b2e57611d588591611d91611d9a9486611979565b60811c90611355565b881c906f99999999999999999999999999999999908786830301918211610b2e57611d588591611dda93611dd3600360801b9187611979565b0490611355565b881c906f92492492492492492492492492492492908786830301918211610b2e57611d588591611e0d611e169486611979565b60821c90611355565b881c906f8e38e38e38e38e38e38e38e38e38e38e908786830301918211610b2e57611d588591611e4f93611dd3600560801b9187611979565b881c906f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b908786830301918211610b2e57611d588591611e8893611dd3600360811b9187611979565b881c926f89d89d89d89d89d89d89d89d89d89d898786820301908111610b2e57611ec692611ec091600760801b90611dd39088611979565b93611979565b871c856f8888888888888888888888888888888894850301938411610b2e57611f08611f1193611eff620f42409663ffffffff94611979565b60831c90611355565b915b1690611979565b0490600160831b8210156124575760009260016001607c1b038316611f368180611979565b871c6710e1b3be415a0000908181029181830414811517156124435782611f5c91611979565b881c906705a0913f6b1e00009081830291838304148315171561189f57611d58611f87928592611355565b881c90670168244fdac780009081830291838304148315171561189f57611d58611fb2928592611355565b881c90664807432bc180009081830291838304148315171561189f57611d58611fdc928592611355565b881c90660c0135dca040009081830291838304148315171561189f57611d58612006928592611355565b881c906601b707b1cdc0009081830291838304148315171561189f57611d58612030928592611355565b881c906536e0f639b8009081830291838304148315171561189f57611d58612059928592611355565b881c90650618fee9f8009081830291838304148315171561189f57611d58612082928592611355565b881c90649c197dcc009081830291838304148315171561189f57611d586120aa928592611355565b881c90640e30dce4009081830291838304148315171561189f57611d586120d2928592611355565b881c9064012ebd13009081830291838304148315171561189f57611d586120fa928592611355565b881c906317499f009081830291838304148315171561189f57611d58612121928592611355565b881c906301a9d4809081830291838304148315171561189f57611d58612148928592611355565b881c90621c63809081830291838304148315171561189f57611d5861216e928592611355565b881c906201c6389081830291838304148315171561189f57611d58612194928592611355565b881c90611ab89081830291838304148315171561189f57611d586121b9928592611355565b881c9061017c9081830291838304148315171561189f57611d586121de928592611355565b881c9060148202908282046014148315171561189f57611d58612202928592611355565b881c90818004600114821517156124435761222a61223093926721c3677c82b4000092611355565b04611355565b9381850180951161242f5750836001607c1b84166123ee575b506001607d1b83166123b0575b6001607e1b8316612373575b8216612337575b600160801b82166122fb575b81166122c0575b600160821b1661228a579190565b6e2bf84208204f5977f9a8cf01fdc30790818102918183041490151715610b2e576d03c6ab775dd0b95b4cbee7e65d1190049190565b906f0960aadc109e7a3bf4578099615711d790818102918183041490151715610b2e576e2bf84208204f5977f9a8cf01fdce3d90049061227c565b916f454aaa8efe072e7f6ddbab84b40a55c590818102918183041490151715610b2e576f0960aadc109e7a3bf4578099615711ea900491612275565b916fbc5ab1b16779be3575bd8f0520a9f21e90818102918183041490151715610b2e576f454aaa8efe072e7f6ddbab84b40a55c9900491612269565b927001368b2fc6f9609fe7aceb46aa619baed590818102918183041490151715610b2e576fbc5ab1b16779be3575bd8f0520a9f21f900492612262565b9270018ebef9eac820ae8682b9793ac6d1e77890818102918183041490151715610b2e577001368b2fc6f9609fe7aceb46aa619baed4900492612256565b9093507001c3d6a24ed82218787d624d3e5eba95f990818102918183041490151715610b2e5770018ebef9eac820ae8682b9793ac6d1e77690049238612249565b634e487b7160e01b81526011600452602490fd5b634e487b7160e01b87526011600452602487fd5b50809350612465915061336e565b9160ff61247184611bc2565b161c61247d8180611979565b60ff841690811c6f03442c4e6074a82f1797f72ac000000090818102918183041481151715610b2e57836124b091611979565b821c906f0116b96f757c380fb287fd0e40000000808302908382041483151715610b2e57611d5885916124e293611355565b821c906e45ae5bdd5f0e03eca1ff4390000000808302908382041483151715610b2e57611d58859161251393611355565b821c906e0defabf91302cd95b9ffda50000000808302908382041483151715610b2e57611d58859161254493611355565b821c906e02529ca9832b22439efff9b8000000808302908382041483151715610b2e57611d58859161257593611355565b821c906d54f1cf12bd04e516b6da88000000808302908382041483151715610b2e57611d5885916125a593611355565b821c906d0a9e39e257a09ca2d6db51000000808302908382041483151715610b2e57611d5885916125d593611355565b821c906d012e066e7b839fa050c309000000808302908382041483151715610b2e57611d58859161260593611355565b821c906c1e33d7d926c329a1ad1a800000808302908382041483151715610b2e57611d58859161263493611355565b821c906c02bee513bdb4a6b19b5f800000808302908382041483151715610b2e57611d58859161266393611355565b821c906b3a9316fa79b88eccf2a00000808302908382041483151715610b2e57611d58859161269193611355565b821c906b048177ebe1fa812375200000808302908382041483151715610b2e57611d5885916126bf93611355565b821c906a5263fe90242dcbacf00000808302908382041483151715610b2e57611d5885916126ec93611355565b821c906a057e22099c030d94100000808302908382041483151715610b2e57611d58859161271993611355565b821c906957e22099c030d9410000808302908382041483151715610b2e57611d58859161274593611355565b821c9069052b6b54569976310000808302908382041483151715610b2e57611d58859161277193611355565b821c90684985f67696bf748000808302908382041483151715610b2e57611d58859161279c93611355565b821c906803dea12ea99e498000808302908382041483151715610b2e57611d5885916127c793611355565b821c906731880f2214b6e000808302908382041483151715610b2e57611d5885916127f193611355565b821c9067025bcff56eb36000808302908382041483151715610b2e57611d58859161281b93611355565b821c90661b722e10ab1000808302908382041483151715610b2e57611d58859161284493611355565b821c906601317c70077000808302908382041483151715610b2e57611d58859161286d93611355565b821c90650cba84aafa00808302908382041483151715610b2e57611d58859161289593611355565b821c906482573a0a00808302908382041483151715610b2e57611d5885916128bc93611355565b821c906405035ad900808302908382041483151715610b2e57611d5885916128e393611355565b821c90632f881b00808302908382041483151715610b2e57611d58859161290993611355565b821c906301b29340808302908382041483151715610b2e57611d58859161292f93611355565b821c90620efc40808302908382041483151715610b2e57611d58859161295493611355565b821c90617fe0808302908382041483151715610b2e57611d58859161297893611355565b821c90610420808302908382041483151715610b2e57611d58859161299c93611355565b821c906021820282810460211483151715610b2e57611d5885916129bf93611355565b821c9081800460011482151715610b2e576129fc936f0688589cc0e9505e2f2fee558000000061222a6001946129f494611355565b911b90611355565b9190565b909291600160771b8101908110610b2e579180881b90808204871490151715610b2e57049138611d0b565b909291600160781b8101908110610b2e579180881b90808204871490151715610b2e57049138611cf0565b909291600160791b8101908110610b2e579180881b90808204871490151715610b2e57049138611cd5565b9092916001607a1b8101908110610b2e579180881b90808204871490151715610b2e57049138611cba565b9092916001607b1b8101908110610b2e579180881b90808204871490151715610b2e57049138611c9f565b9092916001607c1b8101908110610b2e579180881b90808204871490151715610b2e57049138611c84565b9092916001607d1b8101908110610b2e579180881b90808204871490151715610b2e57049138611c69565b9193506001607e1b925080881b90801590820487141715610b2e5704913880611c4d565b908190600160801b8181811015612c48575b50868211612bb7575b50506f03f80fe03f80fe03f80fe03f80fe03f89182810292818404149015171561242f5750620f42409163ffffffff6f05b9de1d10bf4103d647b0955897ba80611f11930491611f0a565b9196909792939495835b60ff998a821615612c365780612bd691611979565b998a861c9a858c1015612c0c575b505060ff168015612bf85760001901612bc1565b634e487b7160e01b89526011600452602489fd5b612c2e919b5096600160ff939860801c9c612c268a611baf565b161b90611355565b959038612be4565b50509594939297509590503880612b6c565b988991989450809597939692501c9585976101008810600014612cc95797965b600180821115612c83571c96612c7d9061335c565b96612c68565b5050939796929695909491955b60ff821690811c91891b60ff607f1b1690801590820488141715612cb5579238612b63565b634e487b7160e01b83526011600452602483fd5b8560809a95999798969a5b60ff81168015612d04576001811b891015612cf6575b5060011c168a90612cd4565b978199981c97179738612cea565b50505093909450959195949094612c90565b60405162461bcd60e51b815260206004820152601c60248201527f4261736573203c203120617265206e6f7420737570706f727465642e000000006044820152606490fd5b909291600160811b90612d6f828410611b92565b848310612d16576000607f9584871b6001607f1b95808204871490151715612cb55790612d9b91611a64565b9070015bf0a8b1457695355fb8ac404e7a79e38210156131d557506000816fd3094c70f034de4b96ff7d5b6f99fcd8808210156131b2575b50506fa45af1e1f40c333b3de1db4dd55f29a780831015613189575b506f910b022db7ae67ce76b441c27035c6a180831015613160575b506f88415abbe9a76bead8d00cf112e4d4a880831015613137575b506f84102b00893f64c705e841d5d4064bd38083101561310e575b506f8204055aaef1c8bd5c3259f4822735a2808310156130e5575b506f810100ab00222d861931c15e39b44e99808310156130bc575b506f808040155aabbbe9451521693554f73380831015613093575b5060016001607f1b03198201828111610b2e57612eae8180611979565b881c91600160801b848103880191908211610b2e57611d588491611d4f612ed59486611979565b881c906faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa908785830301918211610b2e57611d588491611d91612f089486611979565b881c906f99999999999999999999999999999999908785830301918211610b2e57611d588491612f4193611dd3600360801b9187611979565b881c906f92492492492492492492492492492492908785830301918211610b2e57611d588491611e0d612f749486611979565b881c906f8e38e38e38e38e38e38e38e38e38e38e908785830301918211610b2e57611d588491612fad93611dd3600560801b9187611979565b881c906f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b908785830301918211610b2e57611d588491612fe693611dd3600360811b9187611979565b881c916f89d89d89d89d89d89d89d89d89d89d898785820301908111610b2e5761301e92611d5891600760801b90611dd39087611979565b871c856f8888888888888888888888888888888893840301928311610b2e5761304a92611eff91611979565b620f424090818102918183041490151715610b2e5763ffffffff61306f921690611a64565b90600160831b8210156124575760009260016001607c1b038316611f368180611979565b90600160771b8101908110610b2e579180881b90808204871490151715610b2e57049038612e91565b90600160781b8101908110610b2e579180881b90808204871490151715610b2e57049038612e76565b90600160791b8101908110610b2e579180881b90808204871490151715610b2e57049038612e5b565b906001607a1b8101908110610b2e579180881b90808204871490151715610b2e57049038612e40565b906001607b1b8101908110610b2e579180881b90808204871490151715610b2e57049038612e25565b906001607c1b8101908110610b2e579180881b90808204871490151715610b2e57049038612e0a565b906001607d1b8101908110610b2e579180881b90808204871490151715610b2e57049038612def565b6001607e1b9350915080881b90801590820487141715610b2e5704903880612dd3565b908190600160801b81818110156132a2575b5086821161322d575b50506f03f80fe03f80fe03f80fe03f80fe03f89182810292818404149015171561242f57506f05b9de1d10bf4103d647b0955897ba80900461304a565b9196909792939495835b60ff998a821615613290578061324c91611979565b998a861c9a858c101561326e575b505060ff168015612bf85760001901613237565b613288919b5096600160ff939860801c9c612c268a611baf565b95903861325a565b505095949392975095905038806131f0565b988991989450809597939692501c958597610100881060001461330f5797965b6001808211156132dd571c966132d79061335c565b966132c2565b5050939796929695909491955b60ff821690811c91891b60ff607f1b1690801590820488141715612cb55792386131e7565b8560809a95999798969a5b60ff8116801561334a576001811b89101561333c575b5060011c168a9061331a565b978199981c97179738613330565b505050939094509591959490946132ea565b60ff60019116019060ff8211610b2e57565b607f91829060205b61337f8161335c565b9060ff80928188169182911610156133ee57828216019182116133d95783600192831c169160808310156133c45782015485116133bc5750613376565b945093613376565b60246000634e487b7160e01b81526032600452fd5b60246000634e487b7160e01b81526011600452fd5b509392505092608081101561199d5781816001015410156134345750608082101561199d5781600101541015611a1e57634e487b7160e01b600052600160045260246000fd5b9150509056fed91d691c894f8266e3f2d5e558ad2349d6783327a752a4949bc554f514e34988e35848a7c6477cfe9366ae64571069fd3a5ad752a460d28c5f73d438b5e432bfa26469706673582212201037c5f41bd8e3ebd7487cdda28eede8a2669138705d9a0e6dda1691eacec1a164736f6c63430008120033"; type ContinuousTokenConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/normalized_endowment/subdao-token/Token/Power__factory.ts b/typechain-types/factories/contracts/normalized_endowment/subdao-token/Token/Power__factory.ts index 0a60a86ac..3ce972fdd 100644 --- a/typechain-types/factories/contracts/normalized_endowment/subdao-token/Token/Power__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/subdao-token/Token/Power__factory.ts @@ -31,7 +31,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608080604052346107ba57600080546001908181811c911680156107b0575b602082101461079c57601f8111610773575b5050600662302e3360e81b0190556001641c35fedd1560601b036021556001646c3390ecc9605e1b036022556001640cf801476160611b0360235560016431bdb23e1d605f1b0360245560016502fb1d8fe083605b1b0360255560016505b771955b37605a1b036026556001650af67a93bb5160591b0360275560016515060c256cb360581b036028556001651428a2f98d7360581b036029556001654d515663970960561b03602a55600165944620b0e70f60551b03602b55600166011c592761c66760541b03602c5560016602214d10d014eb60531b03602d55600166020ade36b7dbef60531b03602e5560016603eab73b3bbfe360521b03602f556001660782ee3593f6d760511b036030556001661ccf4b44bb4821604f1b0360315560016606e7f88ad8a77760511b0360325560016669f3d1c921891d604d1b03603355600166cb2ff529eb71e5604c1b03603455600166c2d415c3db974b604c1b0360355560016702eb40f9f620fda7604a1b0360365560016705990681d961a1eb60491b03603755600167055e12902701414760491b0360385560016714962dee9dc9764160471b0360395560016704ef57b9b560fab560491b03603a5560016712ed7b32a58f552b60471b03603b556001679131271922eaa60760441b03603c556001678b380f3558668c4760441b03603d556001680215f77c045fbe885760421b03603e556001600160831b03603f556001670f577eded5773a1160471b036040556001680eb5ec597592befbf5603f1b036041556001681c35fedd14b861eb05603e1b036042556001683619c87664579bc94b603d1b0360435560016867c00a3b07ffc01fd7603c1b03604455600168c6f6c8f8739773a7a5603b1b03604555600168bec763f8209b7a72b1603b1b0360465560016902dbb8caad9b7097b91b60391b03604755600169057b3d49dda84556d6f760381b03604855600169054183095b2c8ececf3160381b036049556001690a14517cc6b9457111ef60371b03604a5560016913545598e5c23276ccf160361b03604b556001692511882c39c3adea96ff60351b03604c55600169471649d87199aa99075760341b03604d557004429a21a029d4c1457cfbffffffffffff604e55700415bc6d6fb7dd71af2cb3ffffffffffff604f557003eab73b3bbfe282243ce1ffffffffffff6050557003c1771ac9fb6b4c18e229ffffffffffff605155700399e96897690418f785257fffffffffff605255700373fc456c53bb779bf0ea9fffffffffff60535570034f9e8e490c48e67e6ab8bfffffffffff60545570032cbfd4a7adc790560b3337ffffffffff60555570030b50570f6e5d2acca94613ffffffffff6056557002eb40f9f620fda6b56c2861ffffffffff6057557002cc8340ecb0d0f520a6af58ffffffffff6058557002af09481380a0a35cf1ba02ffffffffff605955700292c5bdd3b92ec810287b1b3fffffffff605a55700277abdcdab07d5a77ac6d6b9fffffffff605b5570025daf6654b1eaa55fd64df5efffffffff605c55700244c49c648baa98192dce88b7ffffffff605d5570022ce03cd5619a311b2471268bffffffff605e55700215f77c045fbe885654a44a0fffffffff605f556001600160811b036060557001eaefdbdaaee7421fc4d3ede5ffffffff6061557001d6bd8b2eb257df7e8ca57b09bfffffff6062557001c35fedd14b861eb0443f7f133fffffff6063557001b0ce43b322bcde4a56e8ada5afffffff60645570019f0028ec1fff007f5a195a39dfffffff60655570018ded91f0e72ee74f49b15ba527ffffff60665570017d8ec7f04136f4e5615fd41a63ffffff60675570016ddc6556cdb84bdc8d12d22e6fffffff60685570015ecf52776a1155b5bd8395814f7fffff60695570015060c256cb23b3b3cc3754cf40ffffff606a557001428a2f98d728ae223ddab715be3fffff606b5570013545598e5c23276ccf0ede68034fffff606c557001288c4161ce1d6f54b7f61081194fffff606d5570011c592761c666aa641d5a01a40f17ffff606e55700110a688680a7530515f3e6e6cfdcdffff606f557001056f1b5bedf75c6bcb2ce8aed428ffff6070556ffaadceceeff8a0890f3875f008277fff6071556ff05dc6b27edad306388a600f6ba0bfff6072556fe67a5a25da41063de1495d5b18cdbfff6073556fdcff115b14eedde6fc3aa5353f2e4fff6074556fd3e7a3924312399f9aae2e0f868f8fff6075556fcb2ff529eb71e41582cccd5a1ee26fff6076556fc2d415c3db974ab32a51840c0b67edff6077556fbad03e7d883f69ad5b0a186184e06bff6078556fb320d03b2c343d4829abd6075f0cc5ff6079556fabc25204e02828d73c6e80bcdb1a95bf607a556fa4b16f74ee4bb2040a1ec6c15fbbf2df607b556f9deaf736ac1f569deb1b5ae3f36c130f607c556f976bd9952c7aa957f5937d790ef65037607d556f9131271922eaa6064b73a22d0bd4f2bf607e556f8b380f3558668c46c91c49a2f8e967b9607f556f857ddf0117efa215952912839f6473e66080556101c190816107c08239f35b828052601f60208420910160051c8101905b8181106107925750610030565b8381558201610785565b634e487b7160e01b83526022600452602483fd5b90607f169061001e565b600080fdfe6080600436101561000f57600080fd5b6000803560e01c6354fd4d501461002557600080fd5b34610188578060031936011261018857809181549060019382851c85841695861561017e575b602094858310881461016a578585969798848752918260001461014e5750506001146100f7575b5050601f801993849203011681019381851067ffffffffffffffff8611176100e3579291849192604094838652818452845191828186015281955b8387106100cb5750508394508582601f949501015201168101030190f35b868101820151898801890152958101958895506100ad565b634e487b7160e01b81526041600452602490fd5b8680528592508691907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828410610136575050508201013880610072565b80548488018601528695508794909301928101610122565b925093505060ff191682840152151560051b8201013880610072565b634e487b7160e01b87526022600452602487fd5b90607f169061004b565b80fdfea2646970667358221220a697e4fd06e788796174288da0f4ebcf6bc95710e08c38e662bc8134c45daaba64736f6c63430008120033"; + "0x608080604052346107ba57600080546001908181811c911680156107b0575b602082101461079c57601f8111610773575b5050600662302e3360e81b0190556001641c35fedd1560601b036021556001646c3390ecc9605e1b036022556001640cf801476160611b0360235560016431bdb23e1d605f1b0360245560016502fb1d8fe083605b1b0360255560016505b771955b37605a1b036026556001650af67a93bb5160591b0360275560016515060c256cb360581b036028556001651428a2f98d7360581b036029556001654d515663970960561b03602a55600165944620b0e70f60551b03602b55600166011c592761c66760541b03602c5560016602214d10d014eb60531b03602d55600166020ade36b7dbef60531b03602e5560016603eab73b3bbfe360521b03602f556001660782ee3593f6d760511b036030556001661ccf4b44bb4821604f1b0360315560016606e7f88ad8a77760511b0360325560016669f3d1c921891d604d1b03603355600166cb2ff529eb71e5604c1b03603455600166c2d415c3db974b604c1b0360355560016702eb40f9f620fda7604a1b0360365560016705990681d961a1eb60491b03603755600167055e12902701414760491b0360385560016714962dee9dc9764160471b0360395560016704ef57b9b560fab560491b03603a5560016712ed7b32a58f552b60471b03603b556001679131271922eaa60760441b03603c556001678b380f3558668c4760441b03603d556001680215f77c045fbe885760421b03603e556001600160831b03603f556001670f577eded5773a1160471b036040556001680eb5ec597592befbf5603f1b036041556001681c35fedd14b861eb05603e1b036042556001683619c87664579bc94b603d1b0360435560016867c00a3b07ffc01fd7603c1b03604455600168c6f6c8f8739773a7a5603b1b03604555600168bec763f8209b7a72b1603b1b0360465560016902dbb8caad9b7097b91b60391b03604755600169057b3d49dda84556d6f760381b03604855600169054183095b2c8ececf3160381b036049556001690a14517cc6b9457111ef60371b03604a5560016913545598e5c23276ccf160361b03604b556001692511882c39c3adea96ff60351b03604c55600169471649d87199aa99075760341b03604d557004429a21a029d4c1457cfbffffffffffff604e55700415bc6d6fb7dd71af2cb3ffffffffffff604f557003eab73b3bbfe282243ce1ffffffffffff6050557003c1771ac9fb6b4c18e229ffffffffffff605155700399e96897690418f785257fffffffffff605255700373fc456c53bb779bf0ea9fffffffffff60535570034f9e8e490c48e67e6ab8bfffffffffff60545570032cbfd4a7adc790560b3337ffffffffff60555570030b50570f6e5d2acca94613ffffffffff6056557002eb40f9f620fda6b56c2861ffffffffff6057557002cc8340ecb0d0f520a6af58ffffffffff6058557002af09481380a0a35cf1ba02ffffffffff605955700292c5bdd3b92ec810287b1b3fffffffff605a55700277abdcdab07d5a77ac6d6b9fffffffff605b5570025daf6654b1eaa55fd64df5efffffffff605c55700244c49c648baa98192dce88b7ffffffff605d5570022ce03cd5619a311b2471268bffffffff605e55700215f77c045fbe885654a44a0fffffffff605f556001600160811b036060557001eaefdbdaaee7421fc4d3ede5ffffffff6061557001d6bd8b2eb257df7e8ca57b09bfffffff6062557001c35fedd14b861eb0443f7f133fffffff6063557001b0ce43b322bcde4a56e8ada5afffffff60645570019f0028ec1fff007f5a195a39dfffffff60655570018ded91f0e72ee74f49b15ba527ffffff60665570017d8ec7f04136f4e5615fd41a63ffffff60675570016ddc6556cdb84bdc8d12d22e6fffffff60685570015ecf52776a1155b5bd8395814f7fffff60695570015060c256cb23b3b3cc3754cf40ffffff606a557001428a2f98d728ae223ddab715be3fffff606b5570013545598e5c23276ccf0ede68034fffff606c557001288c4161ce1d6f54b7f61081194fffff606d5570011c592761c666aa641d5a01a40f17ffff606e55700110a688680a7530515f3e6e6cfdcdffff606f557001056f1b5bedf75c6bcb2ce8aed428ffff6070556ffaadceceeff8a0890f3875f008277fff6071556ff05dc6b27edad306388a600f6ba0bfff6072556fe67a5a25da41063de1495d5b18cdbfff6073556fdcff115b14eedde6fc3aa5353f2e4fff6074556fd3e7a3924312399f9aae2e0f868f8fff6075556fcb2ff529eb71e41582cccd5a1ee26fff6076556fc2d415c3db974ab32a51840c0b67edff6077556fbad03e7d883f69ad5b0a186184e06bff6078556fb320d03b2c343d4829abd6075f0cc5ff6079556fabc25204e02828d73c6e80bcdb1a95bf607a556fa4b16f74ee4bb2040a1ec6c15fbbf2df607b556f9deaf736ac1f569deb1b5ae3f36c130f607c556f976bd9952c7aa957f5937d790ef65037607d556f9131271922eaa6064b73a22d0bd4f2bf607e556f8b380f3558668c46c91c49a2f8e967b9607f556f857ddf0117efa215952912839f6473e66080556101c190816107c08239f35b828052601f60208420910160051c8101905b8181106107925750610030565b8381558201610785565b634e487b7160e01b83526022600452602483fd5b90607f169061001e565b600080fdfe6080600436101561000f57600080fd5b6000803560e01c6354fd4d501461002557600080fd5b34610188578060031936011261018857809181549060019382851c85841695861561017e575b602094858310881461016a578585969798848752918260001461014e5750506001146100f7575b5050601f801993849203011681019381851067ffffffffffffffff8611176100e3579291849192604094838652818452845191828186015281955b8387106100cb5750508394508582601f949501015201168101030190f35b868101820151898801890152958101958895506100ad565b634e487b7160e01b81526041600452602490fd5b8680528592508691907f290decd9548b62a8d60345a988386fc84ba6bc95484008f6362f93160ef3e5635b828410610136575050508201013880610072565b80548488018601528695508794909301928101610122565b925093505060ff191682840152151560051b8201013880610072565b634e487b7160e01b87526022600452602487fd5b90607f169061004b565b80fdfea26469706673582212205ffa8c45aeed33a31a00d5677f973c2185258c5985c9e85d00569759156b95a364736f6c63430008120033"; type PowerConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/normalized_endowment/subdao-token/subdao-token.sol/SubDaoToken__factory.ts b/typechain-types/factories/contracts/normalized_endowment/subdao-token/subdao-token.sol/SubDaoToken__factory.ts index a600cb523..ef37a44ce 100644 --- a/typechain-types/factories/contracts/normalized_endowment/subdao-token/subdao-token.sol/SubDaoToken__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/subdao-token/subdao-token.sol/SubDaoToken__factory.ts @@ -245,7 +245,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -264,7 +264,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -283,22 +283,22 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curSupply", + name: "supply", type: "uint256", }, { internalType: "uint256", - name: "curReservebalance", + name: "reservebalance", type: "uint256", }, { internalType: "uint32", - name: "curReserveratio", + name: "reserveratio", type: "uint32", }, { internalType: "uint256", - name: "curDepositamount", + name: "depositamount", type: "uint256", }, ], @@ -317,22 +317,22 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curSupply", + name: "supply", type: "uint256", }, { internalType: "uint256", - name: "curReservebalance", + name: "reservebalance", type: "uint256", }, { internalType: "uint32", - name: "curReserveratio", + name: "reserveratio", type: "uint32", }, { internalType: "uint256", - name: "curSellamount", + name: "sellamount", type: "uint256", }, ], @@ -387,8 +387,8 @@ const _abi = [ type: "address", }, { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -398,12 +398,12 @@ const _abi = [ }, ], internalType: "struct SubDaoTokenMessage.InstantiateMsg", - name: "curMsg", + name: "message", type: "tuple", }, { internalType: "address", - name: "curEmitteraddress", + name: "emitteraddress", type: "address", }, ], @@ -466,7 +466,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -479,22 +479,22 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, { internalType: "address", - name: "curAccountscontract", + name: "accountscontract", type: "address", }, { - internalType: "uint256", - name: "curEndowmentid", - type: "uint256", + internalType: "uint32", + name: "endowmentId", + type: "uint32", }, { internalType: "address", - name: "curDonor", + name: "donor", type: "address", }, ], @@ -507,12 +507,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curReciver", + name: "reciver", type: "address", }, { internalType: "uint256", - name: "curAmount", + name: "amount", type: "uint256", }, ], @@ -610,26 +610,26 @@ const _abi = [ inputs: [ { internalType: "string", - name: "curName", + name: "name", type: "string", }, { internalType: "string", - name: "curSymbol", + name: "symbol", type: "string", }, { internalType: "uint256", - name: "curReserveratio", + name: "reserveratio", type: "uint256", }, { internalType: "address", - name: "curDenomtokenaddress", + name: "denomtokenaddress", type: "address", }, ], - name: "initCurveToken", + name: "initveToken", outputs: [], stateMutability: "nonpayable", type: "function", @@ -836,7 +836,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608080604052346200080357600b546001908181811c91168015620007f8575b6020821014620007e257601f811162000792575b50600662302e3360e81b01600b556001641c35fedd1560601b03602c556001646c3390ecc9605e1b03602d556001640cf801476160611b03602e5560016431bdb23e1d605f1b03602f5560016502fb1d8fe083605b1b0360305560016505b771955b37605a1b036031556001650af67a93bb5160591b0360325560016515060c256cb360581b036033556001651428a2f98d7360581b036034556001654d515663970960561b03603555600165944620b0e70f60551b03603655600166011c592761c66760541b0360375560016602214d10d014eb60531b03603855600166020ade36b7dbef60531b0360395560016603eab73b3bbfe360521b03603a556001660782ee3593f6d760511b03603b556001661ccf4b44bb4821604f1b03603c5560016606e7f88ad8a77760511b03603d5560016669f3d1c921891d604d1b03603e55600166cb2ff529eb71e5604c1b03603f55600166c2d415c3db974b604c1b0360405560016702eb40f9f620fda7604a1b0360415560016705990681d961a1eb60491b03604255600167055e12902701414760491b0360435560016714962dee9dc9764160471b0360445560016704ef57b9b560fab560491b0360455560016712ed7b32a58f552b60471b036046556001679131271922eaa60760441b036047556001678b380f3558668c4760441b036048556001680215f77c045fbe885760421b036049556001600160831b03604a556001670f577eded5773a1160471b03604b556001680eb5ec597592befbf5603f1b03604c556001681c35fedd14b861eb05603e1b03604d556001683619c87664579bc94b603d1b03604e5560016867c00a3b07ffc01fd7603c1b03604f55600168c6f6c8f8739773a7a5603b1b03605055600168bec763f8209b7a72b1603b1b0360515560016902dbb8caad9b7097b91b60391b03605255600169057b3d49dda84556d6f760381b03605355600169054183095b2c8ececf3160381b036054556001690a14517cc6b9457111ef60371b0360555560016913545598e5c23276ccf160361b036056556001692511882c39c3adea96ff60351b03605755600169471649d87199aa99075760341b036058557004429a21a029d4c1457cfbffffffffffff605955700415bc6d6fb7dd71af2cb3ffffffffffff605a557003eab73b3bbfe282243ce1ffffffffffff605b557003c1771ac9fb6b4c18e229ffffffffffff605c55700399e96897690418f785257fffffffffff605d55700373fc456c53bb779bf0ea9fffffffffff605e5570034f9e8e490c48e67e6ab8bfffffffffff605f5570032cbfd4a7adc790560b3337ffffffffff60605570030b50570f6e5d2acca94613ffffffffff6061557002eb40f9f620fda6b56c2861ffffffffff6062557002cc8340ecb0d0f520a6af58ffffffffff6063557002af09481380a0a35cf1ba02ffffffffff606455700292c5bdd3b92ec810287b1b3fffffffff606555700277abdcdab07d5a77ac6d6b9fffffffff60665570025daf6654b1eaa55fd64df5efffffffff606755700244c49c648baa98192dce88b7ffffffff60685570022ce03cd5619a311b2471268bffffffff606955700215f77c045fbe885654a44a0fffffffff606a556001600160811b03606b557001eaefdbdaaee7421fc4d3ede5ffffffff606c557001d6bd8b2eb257df7e8ca57b09bfffffff606d557001c35fedd14b861eb0443f7f133fffffff606e557001b0ce43b322bcde4a56e8ada5afffffff606f5570019f0028ec1fff007f5a195a39dfffffff60705570018ded91f0e72ee74f49b15ba527ffffff60715570017d8ec7f04136f4e5615fd41a63ffffff60725570016ddc6556cdb84bdc8d12d22e6fffffff60735570015ecf52776a1155b5bd8395814f7fffff60745570015060c256cb23b3b3cc3754cf40ffffff6075557001428a2f98d728ae223ddab715be3fffff60765570013545598e5c23276ccf0ede68034fffff6077557001288c4161ce1d6f54b7f61081194fffff60785570011c592761c666aa641d5a01a40f17ffff607955700110a688680a7530515f3e6e6cfdcdffff607a557001056f1b5bedf75c6bcb2ce8aed428ffff607b556ffaadceceeff8a0890f3875f008277fff607c556ff05dc6b27edad306388a600f6ba0bfff607d556fe67a5a25da41063de1495d5b18cdbfff607e556fdcff115b14eedde6fc3aa5353f2e4fff607f556fd3e7a3924312399f9aae2e0f868f8fff6080556fcb2ff529eb71e41582cccd5a1ee26fff6081556fc2d415c3db974ab32a51840c0b67edff6082556fbad03e7d883f69ad5b0a186184e06bff6083556fb320d03b2c343d4829abd6075f0cc5ff6084556fabc25204e02828d73c6e80bcdb1a95bf6085556fa4b16f74ee4bb2040a1ec6c15fbbf2df6086556f9deaf736ac1f569deb1b5ae3f36c130f6087556f976bd9952c7aa957f5937d790ef650376088556f9131271922eaa6064b73a22d0bd4f2bf6089556f8b380f3558668c46c91c49a2f8e967b9608a556f857ddf0117efa215952912839f6473e6608b55670de0b6b3a764000060f255678ac7230489e8000060f35560f555614a1e9081620008098239f35b600b600052601f0160051c7f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db99081019082905b828110620007d557505062000033565b60008155018290620007c5565b634e487b7160e01b600052602260045260246000fd5b90607f16906200001f565b600080fdfe608080604052600436101561001357600080fd5b600090813560e01c90816301ffc9a7146120875750806306fdde0314611ff3578063095ea7b314611fcc5780630c7d5cd814611fae57806318160ddd14611f9057806323b872dd14611ed6578063248a9ca314611ea957806328c3d70114611e8a57806329a00e7c14611e6d5780632f2ff15d14611dbe578063313ce56714611da257806336568abe14611d0f5780633950935114611cbf57806340eebdaa14611c1657806348c54b9d14611a9c57806349f9b0f714611a7f578063549503e5146119ad57806354fd4d50146118dc57806370a08231146118a357806382efa0e41461187a5780638ea692ef146115c457806390f0c2ea1461159d57806391d148541461155157806395d89b41146114855780639b360cac146109db578063a10954fe146109bd578063a217fddf146109a1578063a457c2d7146108fc578063a9059cbb146108ca578063d53913931461088f578063d547741f1461084e578063dd62ed3e146107ff578063e8675fdc1461026e578063f1381a33146101c25763f51e181a146101a257600080fd5b346101bf57806003193601126101bf57602060f254604051908152f35b80fd5b50346101bf57806003193601126101bf5780805b338252602082815260408320805483101561026357826101f59161493d565b504290541080610241575b610214575b5061020f90614959565b6101d6565b61020f91938361023a92338252526001610231866040872061493d565b5001549061227f565b9290610205565b5033835282815260ff6002610259846040872061493d565b5001541615610200565b602085604051908152f35b50346101bf5760803660031901126101bf576001600160401b036004358181116107fb576102a0903690600401612229565b916024908135838111610528576102bb903690600401612229565b91604435906102c8612157565b93608d9586549760ff92838a60081c1615978880996107ef575b80156107d9575b6102f290612b8b565b60019a898c60ff198316178c556107c8575b506001600160a01b03169687156107845780670de0b6b3a764000060f2556107715750678ac7230489e8000060f35561033b61280c565b610344336128a6565b61035c848a5460081c1661035781612bee565b612bee565b815183811161075c578061037160c354612198565b93601f948581116106fe575b5060209085831160011461068457600092610679575b5050600019600383901b1c1916908b1b1760c3555b8051928311610664579082916103bf60c454612198565b828111610604575b50602091831160011461059457600092610589575b5050600019600383901b1c191690881b1760c4555b8215158061057c575b156105405760405163313ce56760e01b8152602081600481885afa908115610534576000916104f6575b5016601281116104bc5760120390601282116104a857604d82116104a85750600a0a60f55560f45561045860f25433612c4e565b6001600160601b0360a01b60f654161760f65561047157005b805461ff00191690556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602090a1005b634e487b7160e01b60009081526011600452fd5b60405162461bcd60e51b81526020600482015260138184015272151bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b6044820152606490fd5b6020813d821161052c575b8161050e60209383612208565b8101031261052857519082821682036101bf575038610424565b5080fd5b3d9150610501565b6040513d6000823e3d90fd5b60405162461bcd60e51b81526020600482015260158184015274496e76616c6964205265736572766520526174696f60581b6044820152606490fd5b50620f42408311156103fa565b0151905038806103dc565b908a9350601f1983169160c46000526000805160206149898339815191529260005b8181106105ec575084116105d3575b505050811b0160c4556103f1565b015160001960f88460031b161c191690553880806105c5565b8284015185558d9690940193602093840193016105b6565b9091925060c46000526000805160206149898339815191528380860160051c8201926020871061065b575b9186958e929594930160051c01915b82811061064c5750506103c7565b600081558695508d910161063e565b9250819261062f565b84634e487b7160e01b60005260416004526000fd5b015190503880610393565b908d9350601f1983169160c36000526000805160206149c98339815191529260005b8181106106dc575084116106c3575b505050811b0160c3556103a8565b015160001960f88460031b161c191690553880806106b5565b93839596602092939491839286015181550195019301908f95949392916106a6565b90915060c36000526000805160206149c98339815191528580850160051c82019260208610610753575b918f91869594930160051c01915b82811061074457505061037d565b600081558594508f9101610736565b92508192610728565b85634e487b7160e01b60005260416004526000fd5b634e487b7160e01b815260116004528590fd5b60405162461bcd60e51b815260206004820152601b818801527f496e76616c69642064656e6f6d20746f6b656e206164647265737300000000006044820152606490fd5b61ffff1916610101178a5538610304565b50303b1580156102e957508a85166001146102e9565b506001858c16106102e2565b8280fd5b50346101bf5760403660031901126101bf5761081961212b565b6040610823612141565b9260018060a01b03809316815260c16020522091166000526020526020604060002054604051908152f35b50346101bf5760403660031901126101bf5761088c60043561086e612141565b90808452608c60205261088760016040862001546124fe565b612957565b80f35b50346101bf57806003193601126101bf5760206040517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b50346101bf5760403660031901126101bf576108f16108e761212b565b602435903361228c565b602060405160018152f35b50346101bf5760403660031901126101bf5761091661212b565b60406024359233815260c16020522060018060a01b0382166000526020526040600020549180831061094e576108f1920390336123fc565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608490fd5b50346101bf57806003193601126101bf57602090604051908152f35b50346101bf57806003193601126101bf57602060f354604051908152f35b50346101bf57600319906040368301126101bf57600435916001600160401b0383116105285760a09083360301126101bf576040519160a083018381106001600160401b03821117610f715760405280600401356001600160401b0381116107fb57610a4d9060043691840101612229565b835260248101356001600160401b0381116107fb57610a729060043691840101612229565b602084015260448101356001600160a01b0381168103611480576040840152606481013560038110156107fb576060840152608401356080830152610ab5612141565b90608d549160ff8360081c161592838094611473575b801561145c575b610adb90612b8b565b60ff198116600117608d558361144a575b506001600160a01b03168015611413576001600160601b0360a01b60f754161760f75582516020840151606085015160038110156113ff57610b2d906145d7565b9060018060a01b0360408701511692608d549460ff8660081c1615958680976113f2575b80156113db575b610b6190612b8b565b60ff198116600117608d55866113c9575b5084156113845780670de0b6b3a764000060f2556113705750678ac7230489e8000060f355610b9f61280c565b610ba8336128a6565b610bbd60ff608d5460081c1661035781612bee565b8051906001600160401b038211610f71578190610bdb60c354612198565b601f81116112fc575b50602090601f831160011461128457600092611279575b50508160011b916000199060031b1c19161760c3555b8051906001600160401b038211610f71578190610c2f60c454612198565b601f8111611205575b50602090601f831160011461118d57600092611182575b50508160011b916000199060031b1c19161760c4555b80151580611175575b156111385760405163313ce56760e01b8152602081600481865afa908115610534576000916110fb575b5060ff16601281116110c0576012818103116110aa57604d81601203116110aa57601203600a0a60f55560f455610cd160f25433612c4e565b6001600160601b0360a01b60f654161760f65561106f575b81519182516001600160401b038111610f7157610d07600154612198565b601f8111611006575b506020601f8211600114610f925781929394600092610f87575b50508160011b916000199060031b1c1916176001555b60208101518051906001600160401b038211610f7157610d61600254612198565b601f8111610f04575b50602090601f8311600114610e8b57608093929160009183610e80575b50508160011b916000199060031b1c1916176002555b6012600355600060408051610db1816121d2565b3081528260208201520152306001600160601b0360a01b6004541617600455600060055560ff196006541660065560018060a01b036040820151166001600160601b0360a01b600a541617600a550151604051610e0d816121ed565b6000815260208101918252806020604051610e27816121ed565b600181520152600160ff1960075416176007555160085551600955610e4857005b61ff0019608d5416608d557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b015190503880610d87565b9060026000526000805160206149698339815191529160005b601f1985168110610eec575091839160019360809695601f19811610610ed3575b505050811b01600255610d9d565b015160001960f88460031b161c19169055388080610ec5565b91926020600181928685015181550194019201610ea4565b6002600052601f830160051c600080516020614969833981519152019060208410610f5b575b601f0160051c60008051602061496983398151915201905b818110610f4f5750610d6a565b60008155600101610f42565b6000805160206149698339815191529150610f2a565b634e487b7160e01b600052604160045260246000fd5b015190503880610d2a565b60016000526000805160206149a98339815191529060005b601f1984168110610fee5750600193949583601f19811610610fd5575b505050811b01600155610d40565b015160001960f88460031b161c19169055388080610fc7565b9091602060018192858a015181550193019101610faa565b6001600052601f820160051c6000805160206149a9833981519152016020831061105a575b601f820160051c6000805160206149a983398151915201811061104e5750610d10565b6000815560010161102b565b506000805160206149a983398151915261102b565b61ff0019608d5416608d557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1610ce9565b634e487b7160e01b600052601160045260246000fd5b60405162461bcd60e51b8152602060048201526013602482015272151bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b6044820152606490fd5b6020813d602011611130575b8161111460209383612208565b8101031261052857519060ff821682036101bf575060ff610c98565b3d9150611107565b60405162461bcd60e51b8152602060048201526015602482015274496e76616c6964205265736572766520526174696f60581b6044820152606490fd5b50620f4240811115610c6e565b015190503880610c4f565b925060c4600052600080516020614989833981519152906000935b601f19841685106111ea576001945083601f198116106111d1575b505050811b0160c455610c65565b015160001960f88460031b161c191690553880806111c3565b818101518355602094850194600190930192909101906111a8565b90915060c4600052601f830160051c6000805160206149898339815191520160208410611264575b908392915b601f820160051c6000805160206149898339815191520181106112555750610c38565b60008155849350600101611232565b5060008051602061498983398151915261122d565b015190503880610bfb565b925060c36000526000805160206149c9833981519152906000935b601f19841685106112e1576001945083601f198116106112c8575b505050811b0160c355610c11565b015160001960f88460031b161c191690553880806112ba565b8181015183556020948501946001909301929091019061129f565b90915060c3600052601f830160051c6000805160206149c9833981519152016020841061135b575b908392915b601f820160051c6000805160206149c983398151915201811061134c5750610be4565b60008155849350600101611329565b506000805160206149c9833981519152611324565b634e487b7160e01b81526011600452602490fd5b60405162461bcd60e51b815260206004820152601b60248201527f496e76616c69642064656e6f6d20746f6b656e206164647265737300000000006044820152606490fd5b61ffff191661010117608d5538610b72565b50303b158015610b58575060ff8116600114610b58565b50600160ff821610610b51565b634e487b7160e01b84526021600452602484fd5b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fd5b61ffff191661010117608d5538610aec565b50303b158015610ad2575060ff8116600114610ad2565b50600160ff821610610acb565b600080fd5b50346101bf57806003193601126101bf57604051600060c4546114a781612198565b8084529060019081811690811561152a57506001146114e1575b6114dd846114d181860382612208565b604051918291826120ff565b0390f35b60c4600090815292506000805160206149898339815191525b8284106115125750505081016020016114d1826114c1565b805460208587018101919091529093019281016114fa565b60ff191660208087019190915292151560051b850190920192506114d191508390506114c1565b50346101bf5760403660031901126101bf57604061156d612141565b916004358152608c602052209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b50346101bf5760203660031901126101bf5760206115bc600435612d19565b604051908152f35b50346101bf5760803660031901126101bf57600435906115e2612141565b916115eb612157565b926115f86064831161461b565b61160d3061160860f554856129cd565b6148cd565b6028810294818604602814821517156118665761163a60646116359697048096818095612a07565b612a07565b60405163a9059cbb60e01b81526001600160a01b03929092166004830152602482019590955260209485826044818a305af191821561185b5761168f9261168891899161183e575b50614673565b30906146f3565b5060405163095ea7b360e01b81526001600160a01b038316600482015260248101829052848160448189305af1908115611833578691611816575b50156117e0576001600160a01b03918591908316803b156107fb57606483926040519485938492630b49b2f360e11b8452604435600485015230602485015260448401525af180156117d5576117a2575b50600a546040516323b872dd60e01b815233600482015230602482015260448101939093528391839116818681606481015b03925af19081156117975761088c92849261176a575b50506146b1565b6117899250803d10611790575b6117818183612208565b81019061465b565b3880611763565b503d611777565b6040513d85823e3d90fd5b6001600160401b038195929395116117c157604052929061174d61171b565b634e487b7160e01b82526041600452602482fd5b6040513d87823e3d90fd5b60405162461bcd60e51b815260048101859052600e60248201526d105c1c1c9bdd994819985a5b195960921b6044820152606490fd5b61182d9150853d8711611790576117818183612208565b386116ca565b6040513d88823e3d90fd5b6118559150883d8a11611790576117818183612208565b38611682565b6040513d89823e3d90fd5b634e487b7160e01b85526011600452602485fd5b50346101bf57806003193601126101bf5760f6546040516001600160a01b039091168152602090f35b50346101bf5760203660031901126101bf576020906040906001600160a01b036118cb61212b565b16815260c083522054604051908152f35b50346101bf57806003193601126101bf576040519080600b546118fe81612198565b808552916001918083169081156119835750600114611928575b6114dd856114d181870382612208565b9250600b83527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db95b82841061196b5750505081016020016114d1826114dd611918565b80546020858701810191909152909301928101611950565b8695506114dd969350602092506114d194915060ff191682840152151560051b8201019293611918565b50346101bf5760403660031901126101bf576119d26119ca61212b565b6024356146f3565b3382528160205260408220906119eb600954429061227f565b90604051916119f9836121d2565b825260208201908152604082019284845280549068010000000000000000821015611a6b5790611a2e9160018201815561493d565b929092611a57579060029291518255516001820155019051151560ff8019835416911617905580f35b634e487b7160e01b85526004859052602485fd5b634e487b7160e01b86526041600452602486fd5b50346101bf5760206115bc611a933661216d565b92919091612add565b50346101bf57806003193601126101bf5780805b338352602091838352604084208054821015611b645781611ad09161493d565b504290541080611b42575b611af1575b611aeb919250614959565b90611ab0565b611aeb9133855284845284611b1a611b0c846040842061493d565b50926001809401549061227f565b94338252526002611b2e836040882061493d565b50019060ff19825416179055829150611ae0565b5033845283835260ff6002611b5a836040882061493d565b5001541615611adb565b84838015611be057600a5460405163a9059cbb60e01b815233600482015260248101929092526020908290604490829086906001600160a01b03165af18015611bd55761088c918391611bb75750614673565b611bcf915060203d8111611790576117818183612208565b83611682565b6040513d84823e3d90fd5b60405162461bcd60e51b815260206004820152600e60248201526d4e6f7468696e67546f436c61696d60901b6044820152606490fd5b50346101bf5760203660031901126101bf57600435611c376064821161461b565b600a546040516323b872dd60e01b81523360048201523060248201526044810183905291906020908390606490829087906001600160a01b03165af191821561179757611c9d92611c8f918591611ca1575b506146b1565b611608339160f554906129cd565b5080f35b611cb9915060203d8111611790576117818183612208565b38611c89565b50346101bf5760403660031901126101bf576108f190611d08611ce061212b565b9133815260c16020526040812060018060a01b0384168252602052604060243591205461227f565b90336123fc565b50346101bf5760403660031901126101bf57611d29612141565b336001600160a01b03821603611d455761088c90600435612957565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b50346101bf57806003193601126101bf57602060405160128152f35b50346101bf5760403660031901126101bf57600435611ddb612141565b818352608c602052611df360016040852001546124fe565b818352608c602052604083209060018060a01b03169081845260205260ff60408420541615611e20578280f35b818352608c6020526040832081845260205260408320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a438808280f35b50346101bf5760206115bc611e813661216d565b92919091612a14565b50346101bf5760203660031901126101bf5760206115bc600435612cf2565b50346101bf5760203660031901126101bf57600160406020926004358152608c8452200154604051908152f35b50346101bf5760603660031901126101bf57611ef061212b565b90611ef9612141565b60406044359260018060a01b038516815260c16020528181203382526020522054926000198403611f2f575b6108f1935061228c565b828410611f4b57611f46836108f1950333836123fc565b611f25565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b50346101bf57806003193601126101bf57602060c254604051908152f35b50346101bf57806003193601126101bf57602060f454604051908152f35b50346101bf5760403660031901126101bf576108f1611fe961212b565b60243590336123fc565b50346101bf57806003193601126101bf57604051908060c35461201581612198565b80855291600191808316908115611983575060011461203e576114dd856114d181870382612208565b925060c383526000805160206149c98339815191525b82841061206f5750505081016020016114d1826114dd611918565b80546020858701810191909152909301928101612054565b9050346105285760203660031901126105285760043563ffffffff60e01b81168091036107fb5760209250637965db0b60e01b81149081156120cb575b5015158152f35b6301ffc9a760e01b149050386120c4565b60005b8381106120ef5750506000910152565b81810151838201526020016120df565b6040916020825261211f81518092816020860152602086860191016120dc565b601f01601f1916010190565b600435906001600160a01b038216820361148057565b602435906001600160a01b038216820361148057565b606435906001600160a01b038216820361148057565b608090600319011261148057600435906024359060443563ffffffff81168103611480579060643590565b90600182811c921680156121c8575b60208310146121b257565b634e487b7160e01b600052602260045260246000fd5b91607f16916121a7565b606081019081106001600160401b03821117610f7157604052565b604081019081106001600160401b03821117610f7157604052565b90601f801991011681019081106001600160401b03821117610f7157604052565b81601f82011215611480578035906001600160401b038211610f71576040519261225d601f8401601f191660200185612208565b8284526020838301011161148057816000926020809301838601378301015290565b919082018092116110aa57565b6001600160a01b039081169182156123a9571691821561235857600082815260c060205260408120549180831061230457604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95876020965260c08652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b039081169182156124ad571691821561245d5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260c18252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6000818152602090608c8252604092838220338352835260ff8483205416156125275750505050565b33908451612534816121d2565b602a815284810191863684378151156127f857603083538151936001948510156127e4576078602184015360295b85811161277a575061273857865193608085018581106001600160401b0382111761272457885260428552868501956060368837855115612710576030875385518210156127105790607860218701536041915b8183116126a257505050612660579385936126469361263760489461260e7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000009961265c9b519a8b9788015251809260378801906120dc565b8401917001034b99036b4b9b9b4b733903937b6329607d1b6037840152518093868401906120dc565b01036028810185520183612208565b5162461bcd60e51b8152918291600483016120ff565b0390fd5b60648587519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f811660108110156126fc576f181899199a1a9b1b9c1cb0b131b232b360811b901a6126d285896129e0565b5360041c9280156126e8576000190191906125b6565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b87526041600452602487fd5b60648688519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f811660108110156127d0576f181899199a1a9b1b9c1cb0b131b232b360811b901a6127a883866129e0565b5360041c9080156127bc5760001901612562565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b85526032600452602485fd5b60008080527fde4fbd7b68d03e1fffd4a8995c4c65d867091f016e1a5e7c52630ddf547687346020527f87a2cd4d10fae07c6368d690d4910f2754b7ec99610e7043f10c15224893a7d75460ff16156128625750565b608c6020526040812060205260408120600160ff198254161790553390807f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4565b6001600160a01b031660008181527fd52035fcc9cfbacd1ea46ff228a6316727ed11959a0120e823134b70717bcab160205260408120549091907f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69060ff161561290f57505050565b808352608c6020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b90600091808352608c602052604083209160018060a01b03169182845260205260ff60408420541661298857505050565b808352608c602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b818102929181159184041417156110aa57565b9081518110156129f1570160200190565b634e487b7160e01b600052603260045260246000fd5b919082039182116110aa57565b919282151580612ab4575b80612aa5575b80612a92575b15611480578015612a8957620f424063ffffffff851614612a7557612a62612a729483612a5d612a6a9560ff9561227f565b612d84565b9290846129cd565b91161c612a07565b90565b612a729350612a8491926129cd565b612abd565b50505050600090565b50620f424063ffffffff85161115612a2b565b5063ffffffff84161515612a25565b50811515612a1f565b8115612ac7570490565b634e487b7160e01b600052601260045260246000fd5b90919281151580612b82575b80612b73575b80612b60575b80612b56575b15611480578015612a8957818114612b4f57620f424063ffffffff851614612a7557612a729382612b32612b3893612a8495612a07565b90613ef8565b909260ff612b4685836129cd565b92161b90612a07565b5050905090565b5081811115612afb565b50620f424063ffffffff85161115612af5565b5063ffffffff84161515612aef565b50821515612ae9565b15612b9257565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b15612bf557565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316908115612cad577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602082612c9060009460c25461227f565b60c25584845260c0825260408420818154019055604051908152a3565b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b612a729060c2549060f354612d1363ffffffff60f454169260f554906129cd565b92612a14565b612a7290612a8460c25460f35463ffffffff60f4541690612d3d60f55480966129cd565b92612add565b15612d4a57565b634e487b7160e01b600052600160045260246000fd5b60ff6000199116019060ff82116110aa57565b60ff16607f039060ff82116110aa57565b909291600160811b90612d98828410612d43565b848310613eb3576000607f9584871b6001607f1b95808204871490151715613e525790612dc491612abd565b9070015bf0a8b1457695355fb8ac404e7a79e3821015613cee575080916000916fd3094c70f034de4b96ff7d5b6f99fcd880821015613cca575b50506fa45af1e1f40c333b3de1db4dd55f29a780841015613c9f575b506f910b022db7ae67ce76b441c27035c6a180841015613c74575b506f88415abbe9a76bead8d00cf112e4d4a880841015613c49575b506f84102b00893f64c705e841d5d4064bd380841015613c1e575b506f8204055aaef1c8bd5c3259f4822735a280841015613bf3575b506f810100ab00222d861931c15e39b44e9980841015613bc8575b506f808040155aabbbe9451521693554f73380841015613b9d575b5060016001607f1b031983018381116110aa57612ed981806129cd565b881c92600160801b8581038801919082116110aa57612f098591612f00612f0f94866129cd565b60801c9061227f565b926129cd565b881c906faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9087868303019182116110aa57612f098591612f42612f4b94866129cd565b60811c9061227f565b881c906f999999999999999999999999999999999087868303019182116110aa57612f098591612f8b93612f84600360801b91876129cd565b049061227f565b881c906f924924924924924924924924924924929087868303019182116110aa57612f098591612fbe612fc794866129cd565b60821c9061227f565b881c906f8e38e38e38e38e38e38e38e38e38e38e9087868303019182116110aa57612f09859161300093612f84600560801b91876129cd565b881c906f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b9087868303019182116110aa57612f09859161303993612f84600360811b91876129cd565b881c926f89d89d89d89d89d89d89d89d89d89d8987868203019081116110aa576130779261307191600760801b90612f8490886129cd565b936129cd565b871c856f88888888888888888888888888888888948503019384116110aa576130b96130c2936130b0620f42409663ffffffff946129cd565b60831c9061227f565b915b16906129cd565b0490600160831b8210156135f45760009260016001607c1b0383166130e781806129cd565b871c6710e1b3be415a0000908181029181830414811517156127bc578261310d916129cd565b881c906705a0913f6b1e0000908183029183830414831517156135e057612f0961313892859261227f565b881c90670168244fdac78000908183029183830414831517156135e057612f0961316392859261227f565b881c90664807432bc18000908183029183830414831517156135e057612f0961318d92859261227f565b881c90660c0135dca04000908183029183830414831517156135e057612f096131b792859261227f565b881c906601b707b1cdc000908183029183830414831517156135e057612f096131e192859261227f565b881c906536e0f639b800908183029183830414831517156135e057612f0961320a92859261227f565b881c90650618fee9f800908183029183830414831517156135e057612f0961323392859261227f565b881c90649c197dcc00908183029183830414831517156135e057612f0961325b92859261227f565b881c90640e30dce400908183029183830414831517156135e057612f0961328392859261227f565b881c9064012ebd1300908183029183830414831517156135e057612f096132ab92859261227f565b881c906317499f00908183029183830414831517156135e057612f096132d292859261227f565b881c906301a9d480908183029183830414831517156135e057612f096132f992859261227f565b881c90621c6380908183029183830414831517156135e057612f0961331f92859261227f565b881c906201c638908183029183830414831517156135e057612f0961334592859261227f565b881c90611ab8908183029183830414831517156135e057612f0961336a92859261227f565b881c9061017c908183029183830414831517156135e057612f0961338f92859261227f565b881c906014820290828204601414831517156135e057612f096133b392859261227f565b881c90818004600114821517156127bc576133db6133e193926721c3677c82b400009261227f565b0461227f565b938185018095116113705750836001607c1b841661359f575b506001607d1b8316613561575b6001607e1b8316613524575b82166134e8575b600160801b82166134ac575b8116613471575b600160821b1661343b579190565b6e2bf84208204f5977f9a8cf01fdc307908181029181830414901517156110aa576d03c6ab775dd0b95b4cbee7e65d1190049190565b906f0960aadc109e7a3bf4578099615711d7908181029181830414901517156110aa576e2bf84208204f5977f9a8cf01fdce3d90049061342d565b916f454aaa8efe072e7f6ddbab84b40a55c5908181029181830414901517156110aa576f0960aadc109e7a3bf4578099615711ea900491613426565b916fbc5ab1b16779be3575bd8f0520a9f21e908181029181830414901517156110aa576f454aaa8efe072e7f6ddbab84b40a55c990049161341a565b927001368b2fc6f9609fe7aceb46aa619baed5908181029181830414901517156110aa576fbc5ab1b16779be3575bd8f0520a9f21f900492613413565b9270018ebef9eac820ae8682b9793ac6d1e778908181029181830414901517156110aa577001368b2fc6f9609fe7aceb46aa619baed4900492613407565b9093507001c3d6a24ed82218787d624d3e5eba95f9908181029181830414901517156110aa5770018ebef9eac820ae8682b9793ac6d1e776900492386133fa565b634e487b7160e01b88526011600452602488fd5b50809350613602915061450b565b9160ff61360e84612d73565b161c61361a81806129cd565b60ff841690811c6f03442c4e6074a82f1797f72ac0000000908181029181830414811517156110aa578361364d916129cd565b821c906f0116b96f757c380fb287fd0e400000008083029083820414831517156110aa57612f09859161367f9361227f565b821c906e45ae5bdd5f0e03eca1ff43900000008083029083820414831517156110aa57612f0985916136b09361227f565b821c906e0defabf91302cd95b9ffda500000008083029083820414831517156110aa57612f0985916136e19361227f565b821c906e02529ca9832b22439efff9b80000008083029083820414831517156110aa57612f0985916137129361227f565b821c906d54f1cf12bd04e516b6da880000008083029083820414831517156110aa57612f0985916137429361227f565b821c906d0a9e39e257a09ca2d6db510000008083029083820414831517156110aa57612f0985916137729361227f565b821c906d012e066e7b839fa050c3090000008083029083820414831517156110aa57612f0985916137a29361227f565b821c906c1e33d7d926c329a1ad1a8000008083029083820414831517156110aa57612f0985916137d19361227f565b821c906c02bee513bdb4a6b19b5f8000008083029083820414831517156110aa57612f0985916138009361227f565b821c906b3a9316fa79b88eccf2a000008083029083820414831517156110aa57612f09859161382e9361227f565b821c906b048177ebe1fa8123752000008083029083820414831517156110aa57612f09859161385c9361227f565b821c906a5263fe90242dcbacf000008083029083820414831517156110aa57612f0985916138899361227f565b821c906a057e22099c030d941000008083029083820414831517156110aa57612f0985916138b69361227f565b821c906957e22099c030d94100008083029083820414831517156110aa57612f0985916138e29361227f565b821c9069052b6b545699763100008083029083820414831517156110aa57612f09859161390e9361227f565b821c90684985f67696bf7480008083029083820414831517156110aa57612f0985916139399361227f565b821c906803dea12ea99e4980008083029083820414831517156110aa57612f0985916139649361227f565b821c906731880f2214b6e0008083029083820414831517156110aa57612f09859161398e9361227f565b821c9067025bcff56eb360008083029083820414831517156110aa57612f0985916139b89361227f565b821c90661b722e10ab10008083029083820414831517156110aa57612f0985916139e19361227f565b821c906601317c700770008083029083820414831517156110aa57612f098591613a0a9361227f565b821c90650cba84aafa008083029083820414831517156110aa57612f098591613a329361227f565b821c906482573a0a008083029083820414831517156110aa57612f098591613a599361227f565b821c906405035ad9008083029083820414831517156110aa57612f098591613a809361227f565b821c90632f881b008083029083820414831517156110aa57612f098591613aa69361227f565b821c906301b293408083029083820414831517156110aa57612f098591613acc9361227f565b821c90620efc408083029083820414831517156110aa57612f098591613af19361227f565b821c90617fe08083029083820414831517156110aa57612f098591613b159361227f565b821c906104208083029083820414831517156110aa57612f098591613b399361227f565b821c9060218202828104602114831517156110aa57612f098591613b5c9361227f565b821c90818004600114821517156110aa57613b99936f0688589cc0e9505e2f2fee55800000006133db600194613b919461227f565b911b9061227f565b9190565b909291600160771b81019081106110aa579180881b908082048714901517156110aa57049138612ebc565b909291600160781b81019081106110aa579180881b908082048714901517156110aa57049138612ea1565b909291600160791b81019081106110aa579180881b908082048714901517156110aa57049138612e86565b9092916001607a1b81019081106110aa579180881b908082048714901517156110aa57049138612e6b565b9092916001607b1b81019081106110aa579180881b908082048714901517156110aa57049138612e50565b9092916001607c1b81019081106110aa579180881b908082048714901517156110aa57049138612e35565b9092916001607d1b81019081106110aa579180881b908082048714901517156110aa57049138612e1a565b9193506001607e1b925080881b908015908204871417156110aa5704913880612dfe565b908190600160801b8181811015613de5575b50868211613d54575b50506f03f80fe03f80fe03f80fe03f80fe03f8918281029281840414901517156113705750620f42409163ffffffff6f05b9de1d10bf4103d647b0955897ba806130c29304916130bb565b9196909792939495835b60ff998a821615613dd35780613d73916129cd565b998a861c9a858c1015613da9575b505060ff168015613d955760001901613d5e565b634e487b7160e01b89526011600452602489fd5b613dcb919b5096600160ff939860801c9c613dc38a612d60565b161b9061227f565b959038613d81565b50509594939297509590503880613d09565b988991989450809597939692501c9585976101008810600014613e665797965b600180821115613e20571c96613e1a906144f9565b96613e05565b5050939796929695909491955b60ff821690811c91891b60ff607f1b1690801590820488141715613e52579238613d00565b634e487b7160e01b83526011600452602483fd5b8560809a95999798969a5b60ff81168015613ea1576001811b891015613e93575b5060011c168a90613e71565b978199981c97179738613e87565b50505093909450959195949094613e2d565b60405162461bcd60e51b815260206004820152601c60248201527f4261736573203c203120617265206e6f7420737570706f727465642e000000006044820152606490fd5b909291600160811b90613f0c828410612d43565b848310613eb3576000607f9584871b6001607f1b95808204871490151715613e525790613f3891612abd565b9070015bf0a8b1457695355fb8ac404e7a79e382101561437257506000816fd3094c70f034de4b96ff7d5b6f99fcd88082101561434f575b50506fa45af1e1f40c333b3de1db4dd55f29a780831015614326575b506f910b022db7ae67ce76b441c27035c6a1808310156142fd575b506f88415abbe9a76bead8d00cf112e4d4a8808310156142d4575b506f84102b00893f64c705e841d5d4064bd3808310156142ab575b506f8204055aaef1c8bd5c3259f4822735a280831015614282575b506f810100ab00222d861931c15e39b44e9980831015614259575b506f808040155aabbbe9451521693554f73380831015614230575b5060016001607f1b031982018281116110aa5761404b81806129cd565b881c91600160801b8481038801919082116110aa57612f098491612f0061407294866129cd565b881c906faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa9087858303019182116110aa57612f098491612f426140a594866129cd565b881c906f999999999999999999999999999999999087858303019182116110aa57612f0984916140de93612f84600360801b91876129cd565b881c906f924924924924924924924924924924929087858303019182116110aa57612f098491612fbe61411194866129cd565b881c906f8e38e38e38e38e38e38e38e38e38e38e9087858303019182116110aa57612f09849161414a93612f84600560801b91876129cd565b881c906f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b9087858303019182116110aa57612f09849161418393612f84600360811b91876129cd565b881c916f89d89d89d89d89d89d89d89d89d89d8987858203019081116110aa576141bb92612f0991600760801b90612f8490876129cd565b871c856f88888888888888888888888888888888938403019283116110aa576141e7926130b0916129cd565b620f4240908181029181830414901517156110aa5763ffffffff61420c921690612abd565b90600160831b8210156135f45760009260016001607c1b0383166130e781806129cd565b90600160771b81019081106110aa579180881b908082048714901517156110aa5704903861402e565b90600160781b81019081106110aa579180881b908082048714901517156110aa57049038614013565b90600160791b81019081106110aa579180881b908082048714901517156110aa57049038613ff8565b906001607a1b81019081106110aa579180881b908082048714901517156110aa57049038613fdd565b906001607b1b81019081106110aa579180881b908082048714901517156110aa57049038613fc2565b906001607c1b81019081106110aa579180881b908082048714901517156110aa57049038613fa7565b906001607d1b81019081106110aa579180881b908082048714901517156110aa57049038613f8c565b6001607e1b9350915080881b908015908204871417156110aa5704903880613f70565b908190600160801b818181101561443f575b508682116143ca575b50506f03f80fe03f80fe03f80fe03f80fe03f89182810292818404149015171561137057506f05b9de1d10bf4103d647b0955897ba8090046141e7565b9196909792939495835b60ff998a82161561442d57806143e9916129cd565b998a861c9a858c101561440b575b505060ff168015613d9557600019016143d4565b614425919b5096600160ff939860801c9c613dc38a612d60565b9590386143f7565b5050959493929750959050388061438d565b988991989450809597939692501c95859761010088106000146144ac5797965b60018082111561447a571c96614474906144f9565b9661445f565b5050939796929695909491955b60ff821690811c91891b60ff607f1b1690801590820488141715613e52579238614384565b8560809a95999798969a5b60ff811680156144e7576001811b8910156144d9575b5060011c168a906144b7565b978199981c971797386144cd565b50505093909450959195949094614487565b60ff60019116019060ff82116110aa57565b906020607f9182915b61451d816144f9565b60ff809181861691829116101561458b57818316019081116145765760011c841690608082101561456157600c82015486116145595750614514565b925091614514565b60246000634e487b7160e01b81526032600452fd5b60246000634e487b7160e01b81526011600452fd5b50509250929060808110156129f1578181600c015410156145d1575060808210156129f15781600c01541015612a7257634e487b7160e01b600052600160045260246000fd5b91505090565b600381101561460557600181036145f057506207a12090565b6002036145fe57620a122090565b620f424090565b634e487b7160e01b600052602160045260246000fd5b1561462257565b60405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a5916995c9bd05b5bdd5b9d607a1b6044820152606490fd5b90816020910312611480575180151581036114805790565b1561467a57565b60405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b156146b857565b60405162461bcd60e51b8152602060048201526013602482015272151c985b9cd9995c919c9bdb4819985a5b1959606a1b6044820152606490fd5b60f554919291614702916129cd565b9182156148885760018060a01b031691600083815260209360c085526040948386842054106148455761473484612d19565b936147418560f354612a07565b60f35582156147f75782845260c08252868420548181106147a85790612a729697817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef949386885260c0855203818720558160c2540360c25551908152a360f55490612abd565b875162461bcd60e51b815260048101849052602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b865162461bcd60e51b815260048101839052602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b60649086519062461bcd60e51b82526004820152601c60248201527f496e73756666696369656e7420746f6b656e7320746f206275726e2e000000006044820152fd5b60405162461bcd60e51b815260206004820152601860248201527f416d6f756e74206d757374206265206e6f6e2d7a65726f2e00000000000000006044820152606490fd5b80156148f857806148ea6148e36148f293612cf2565b8094612c4e565b60f35461227f565b60f35590565b60405162461bcd60e51b815260206004820152601960248201527f4465706f736974206d757374206265206e6f6e2d7a65726f2e000000000000006044820152606490fd5b80548210156129f1576000526003602060002091020190600090565b60001981146110aa576001019056fe405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace2bde9b0c0857aee2cffdea6b8723eaf59894499ec278c18f020edd3c2295e424b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf66d918f650e2b4a9f360977c4447e6376eb632ec1f687ba963aa9983e90086594a2646970667358221220de436ff38822df95c8fc232407a3f9853ddfac7154a80c424e4f7359f297d19164736f6c63430008120033"; + "0x608080604052346200080357600b546001908181811c91168015620007f8575b6020821014620007e257601f811162000792575b50600662302e3360e81b01600b556001641c35fedd1560601b03602c556001646c3390ecc9605e1b03602d556001640cf801476160611b03602e5560016431bdb23e1d605f1b03602f5560016502fb1d8fe083605b1b0360305560016505b771955b37605a1b036031556001650af67a93bb5160591b0360325560016515060c256cb360581b036033556001651428a2f98d7360581b036034556001654d515663970960561b03603555600165944620b0e70f60551b03603655600166011c592761c66760541b0360375560016602214d10d014eb60531b03603855600166020ade36b7dbef60531b0360395560016603eab73b3bbfe360521b03603a556001660782ee3593f6d760511b03603b556001661ccf4b44bb4821604f1b03603c5560016606e7f88ad8a77760511b03603d5560016669f3d1c921891d604d1b03603e55600166cb2ff529eb71e5604c1b03603f55600166c2d415c3db974b604c1b0360405560016702eb40f9f620fda7604a1b0360415560016705990681d961a1eb60491b03604255600167055e12902701414760491b0360435560016714962dee9dc9764160471b0360445560016704ef57b9b560fab560491b0360455560016712ed7b32a58f552b60471b036046556001679131271922eaa60760441b036047556001678b380f3558668c4760441b036048556001680215f77c045fbe885760421b036049556001600160831b03604a556001670f577eded5773a1160471b03604b556001680eb5ec597592befbf5603f1b03604c556001681c35fedd14b861eb05603e1b03604d556001683619c87664579bc94b603d1b03604e5560016867c00a3b07ffc01fd7603c1b03604f55600168c6f6c8f8739773a7a5603b1b03605055600168bec763f8209b7a72b1603b1b0360515560016902dbb8caad9b7097b91b60391b03605255600169057b3d49dda84556d6f760381b03605355600169054183095b2c8ececf3160381b036054556001690a14517cc6b9457111ef60371b0360555560016913545598e5c23276ccf160361b036056556001692511882c39c3adea96ff60351b03605755600169471649d87199aa99075760341b036058557004429a21a029d4c1457cfbffffffffffff605955700415bc6d6fb7dd71af2cb3ffffffffffff605a557003eab73b3bbfe282243ce1ffffffffffff605b557003c1771ac9fb6b4c18e229ffffffffffff605c55700399e96897690418f785257fffffffffff605d55700373fc456c53bb779bf0ea9fffffffffff605e5570034f9e8e490c48e67e6ab8bfffffffffff605f5570032cbfd4a7adc790560b3337ffffffffff60605570030b50570f6e5d2acca94613ffffffffff6061557002eb40f9f620fda6b56c2861ffffffffff6062557002cc8340ecb0d0f520a6af58ffffffffff6063557002af09481380a0a35cf1ba02ffffffffff606455700292c5bdd3b92ec810287b1b3fffffffff606555700277abdcdab07d5a77ac6d6b9fffffffff60665570025daf6654b1eaa55fd64df5efffffffff606755700244c49c648baa98192dce88b7ffffffff60685570022ce03cd5619a311b2471268bffffffff606955700215f77c045fbe885654a44a0fffffffff606a556001600160811b03606b557001eaefdbdaaee7421fc4d3ede5ffffffff606c557001d6bd8b2eb257df7e8ca57b09bfffffff606d557001c35fedd14b861eb0443f7f133fffffff606e557001b0ce43b322bcde4a56e8ada5afffffff606f5570019f0028ec1fff007f5a195a39dfffffff60705570018ded91f0e72ee74f49b15ba527ffffff60715570017d8ec7f04136f4e5615fd41a63ffffff60725570016ddc6556cdb84bdc8d12d22e6fffffff60735570015ecf52776a1155b5bd8395814f7fffff60745570015060c256cb23b3b3cc3754cf40ffffff6075557001428a2f98d728ae223ddab715be3fffff60765570013545598e5c23276ccf0ede68034fffff6077557001288c4161ce1d6f54b7f61081194fffff60785570011c592761c666aa641d5a01a40f17ffff607955700110a688680a7530515f3e6e6cfdcdffff607a557001056f1b5bedf75c6bcb2ce8aed428ffff607b556ffaadceceeff8a0890f3875f008277fff607c556ff05dc6b27edad306388a600f6ba0bfff607d556fe67a5a25da41063de1495d5b18cdbfff607e556fdcff115b14eedde6fc3aa5353f2e4fff607f556fd3e7a3924312399f9aae2e0f868f8fff6080556fcb2ff529eb71e41582cccd5a1ee26fff6081556fc2d415c3db974ab32a51840c0b67edff6082556fbad03e7d883f69ad5b0a186184e06bff6083556fb320d03b2c343d4829abd6075f0cc5ff6084556fabc25204e02828d73c6e80bcdb1a95bf6085556fa4b16f74ee4bb2040a1ec6c15fbbf2df6086556f9deaf736ac1f569deb1b5ae3f36c130f6087556f976bd9952c7aa957f5937d790ef650376088556f9131271922eaa6064b73a22d0bd4f2bf6089556f8b380f3558668c46c91c49a2f8e967b9608a556f857ddf0117efa215952912839f6473e6608b55670de0b6b3a764000060f255678ac7230489e8000060f35560f55561495d9081620008098239f35b600b600052601f0160051c7f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db99081019082905b828110620007d557505062000033565b60008155018290620007c5565b634e487b7160e01b600052602260045260246000fd5b90607f16906200001f565b600080fdfe608080604052600436101561001357600080fd5b60003560e01c90816301ffc9a714611fca5750806306fdde0314611f36578063095ea7b314611f105780630c7d5cd814611ef257806318160ddd14611ed457806323b872dd14611e16578063248a9ca314611de757806328c3d70114611dc957806329a00e7c14611dad5780632f0681da146118575780632f2ff15d146117a4578063313ce5671461178857806336568abe146116f657806339509351146116a557806340eebdaa146115ff57806348c54b9d1461148457806349f9b0f714611468578063549503e5146113a757806354fd4d501461130157806370a08231146112c757806382efa0e41461129e57806390f0c2ea1461127857806391d148541461122b57806395d89b411461115f5780639b360cac146106ff578063a10954fe146106e1578063a217fddf146106c5578063a457c2d71461061e578063a9059cbb146105ed578063d5391393146105b2578063d547741f14610573578063dd62ed3e14610522578063de764d2114610278578063f1381a33146101c35763f51e181a146101a057600080fd5b346101be5760003660031901126101be57602060f254604051908152f35b600080fd5b346101be5760003660031901126101be576000805b336000526020600081526040600020805483101561026d57826101fa9161487c565b504290541080610248575b610219575b5061021490614898565b6101d8565b610214919260006102419233825252600161023885604060002061487c565b500154906121c0565b919061020a565b50336000526000815260ff600261026384604060002061487c565b5001541615610205565b602084604051908152f35b346101be5760803660031901126101be57600435610294612082565b9060443563ffffffff81168091036101be576102ae612098565b926102bb6064841161455a565b6102d0306102cb60f5548661290e565b61480c565b9160288302948386046028148415171561050c576102fd60646102f897048097818097612948565b612948565b60405163a9059cbb60e01b81526001600160a01b03929092166004830152602482019690965260209586826044816000305af191821561045d576103549261034d916000916104ef575b506145b2565b3090614632565b5060405163095ea7b360e01b81526001600160a01b03831660048201526024810184905285816044816000305af190811561045d576000916104d2575b501561049c576001600160a01b0391821692833b156101be5760646000928360405196879485936307f740eb60e21b8552600485015230602485015260448401525af191821561045d578492610469575b50600a546040516323b872dd60e01b8152336004820152306024820152604481019490945283916064918391600091165af190811561045d5761042e92600092610430575b50506145f0565b005b61044f9250803d10610456575b610447818361210f565b81019061459a565b8280610427565b503d61043d565b6040513d6000823e3d90fd5b9091506001600160401b03811161048657604052829060006103e2565b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260048101869052600e60248201526d105c1c1c9bdd994819985a5b195960921b6044820152606490fd5b6104e99150863d881161045657610447818361210f565b86610391565b6105069150893d8b1161045657610447818361210f565b89610347565b634e487b7160e01b600052601160045260246000fd5b346101be5760403660031901126101be5761053b61206c565b610543612082565b9060018060a01b0380911660005260c1602052604060002091166000526020526020604060002054604051908152f35b346101be5760403660031901126101be5761042e600435610592612082565b9080600052608c6020526105ad60016040600020015461243f565b612898565b346101be5760003660031901126101be5760206040517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b346101be5760403660031901126101be5761061361060961206c565b60243590336121cd565b602060405160018152f35b346101be5760403660031901126101be5761063761206c565b602435903360005260c1602052604060002060018060a01b03821660005260205260406000205491808310610672576106139203903361233d565b60405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608490fd5b346101be5760003660031901126101be57602060405160008152f35b346101be5760003660031901126101be57602060f354604051908152f35b346101be576003196040368201126101be57600435906001600160401b0382116101be5760a09082360301126101be576040519060a082018281106001600160401b038211176104865760405280600401356001600160401b0381116101be5761076f9060043691840101612130565b825260248101356001600160401b0381116101be576107949060043691840101612130565b602083015260448101356001600160a01b03811681036101be57604083015260648101359060038210156101be576084916060840152013560808201526107d9612082565b608d549060ff8260081c161591828093611152575b801561113b575b6107fe90612acc565b60ff198116600117608d5582611129575b506001600160a01b031680156110f2576001600160601b0360a01b60f754161760f75581516020830151606084015160038110156110dc576108509061452c565b60018060a01b0360408601511691608d549360ff8560081c1615948580966110cf575b80156110b8575b61088390612acc565b60ff198116600117608d55856110a6575b50831561106157670de0b6b3a764000060f255678ac7230489e8000060f3556108bb61274d565b6108c4336127e7565b6108de60ff608d5460081c166108d981612b2f565b612b2f565b8051906001600160401b0382116104865781906108fc60c354612186565b601f8111610fed575b50602090601f8311600114610f7557600092610f6a575b50508160011b916000199060031b1c19161760c3555b8051906001600160401b03821161048657819061095060c454612186565b601f8111610ef6575b50602090601f8311600114610e7e57600092610e73575b50508160011b916000199060031b1c19161760c4555b80151580610e66575b15610e295760405163313ce56760e01b8152602081600481865afa801561045d57600090610dec575b60ff91501660128111610db15760128181031161050c57604d816012031161050c57601203600a0a60f55560f4556109f260f25433612b8f565b6001600160601b0360a01b60f654161760f655610d76575b81519182516001600160401b03811161048657610a28600154612186565b601f8111610d0d575b506020601f8211600114610c995781929394600092610c8e575b50508160011b916000199060031b1c1916176001555b60208101518051906001600160401b03821161048657610a82600254612186565b601f8111610c25575b50602090601f8311600114610bac57608093929160009183610ba1575b50508160011b916000199060031b1c1916176002555b6012600355600060408051610ad2816120d9565b3081528260208201520152306001600160601b0360a01b6004541617600455600060055560ff196006541660065560018060a01b036040820151166001600160601b0360a01b600a541617600a550151604051610b2e816120f4565b6000815260208101918252806020604051610b48816120f4565b600181520152600160ff1960075416176007555160085551600955610b6957005b61ff0019608d5416608d557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1005b015190508580610aa8565b9060026000526000805160206148a88339815191529160005b601f1985168110610c0d575091839160019360809695601f19811610610bf4575b505050811b01600255610abe565b015160001960f88460031b161c19169055858080610be6565b91926020600181928685015181550194019201610bc5565b6002600052601f830160051c6000805160206148a88339815191520160208410610c79575b601f820160051c6000805160206148a8833981519152018110610c6d5750610a8b565b60008155600101610c4a565b506000805160206148a8833981519152610c4a565b015190508480610a4b565b60016000526000805160206148e88339815191529060005b601f1984168110610cf55750600193949583601f19811610610cdc575b505050811b01600155610a61565b015160001960f88460031b161c19169055848080610cce565b9091602060018192858a015181550193019101610cb1565b6001600052601f820160051c6000805160206148e88339815191520160208310610d61575b601f820160051c6000805160206148e8833981519152018110610d555750610a31565b60008155600101610d32565b506000805160206148e8833981519152610d32565b61ff0019608d5416608d557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1610a0a565b60405162461bcd60e51b8152602060048201526013602482015272151bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b6044820152606490fd5b506020813d602011610e21575b81610e066020938361210f565b810103126101be575160ff811681036101be5760ff906109b8565b3d9150610df9565b60405162461bcd60e51b8152602060048201526015602482015274496e76616c6964205265736572766520526174696f60581b6044820152606490fd5b50620f424081111561098f565b015190508780610970565b925060c46000526000805160206148c8833981519152906000935b601f1984168510610edb576001945083601f19811610610ec2575b505050811b0160c455610986565b015160001960f88460031b161c19169055878080610eb4565b81810151835560209485019460019093019290910190610e99565b90915060c4600052601f830160051c6000805160206148c88339815191520160208410610f55575b908392915b601f820160051c6000805160206148c8833981519152018110610f465750610959565b60008155849350600101610f23565b506000805160206148c8833981519152610f1e565b01519050888061091c565b925060c3600052600080516020614908833981519152906000935b601f1984168510610fd2576001945083601f19811610610fb9575b505050811b0160c355610932565b015160001960f88460031b161c19169055888080610fab565b81810151835560209485019460019093019290910190610f90565b90915060c3600052601f830160051c600080516020614908833981519152016020841061104c575b908392915b601f820160051c60008051602061490883398151915201811061103d5750610905565b6000815584935060010161101a565b50600080516020614908833981519152611015565b60405162461bcd60e51b815260206004820152601b60248201527f496e76616c69642064656e6f6d20746f6b656e206164647265737300000000006044820152606490fd5b61ffff191661010117608d5587610894565b50303b15801561087a575060ff811660011461087a565b50600160ff821610610873565b634e487b7160e01b600052602160045260246000fd5b60405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964204164647265737360881b6044820152606490fd5b61ffff191661010117608d558361080f565b50303b1580156107f5575060ff81166001146107f5565b50600160ff8216106107ee565b346101be5760003660031901126101be57604051600060c45461118181612186565b8084529060019081811690811561120457506001146111bb575b6111b7846111ab8186038261210f565b60405191829182612040565b0390f35b60c4600090815292506000805160206148c88339815191525b8284106111ec5750505081016020016111ab8261119b565b805460208587018101919091529093019281016111d4565b60ff191660208087019190915292151560051b850190920192506111ab915083905061119b565b346101be5760403660031901126101be57611244612082565b600435600052608c60205260406000209060018060a01b0316600052602052602060ff604060002054166040519015158152f35b346101be5760203660031901126101be576020611296600435612c5a565b604051908152f35b346101be5760003660031901126101be5760f6546040516001600160a01b039091168152602090f35b346101be5760203660031901126101be576001600160a01b036112e861206c565b1660005260c06020526020604060002054604051908152f35b346101be5760003660031901126101be576040516000600b5461132381612186565b80845290600190818116908115611204575060011461134c576111b7846111ab8186038261210f565b600b600090815292507f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db95b82841061138f5750505081016020016111ab8261119b565b80546020858701810191909152909301928101611377565b346101be5760403660031901126101be576113cb6113c361206c565b602435614632565b3360005260006020526040600020906113e760095442906121c0565b90604051916113f5836120d9565b825260208201908152604082019260008452805468010000000000000000811015610486576114299160018201815561487c565b91909161145257600292518255516001820155019051151560ff80198354169116179055600080f35b634e487b7160e01b600052600060045260246000fd5b346101be57602061129661147b366120ae565b92919091612a1e565b346101be5760003660031901126101be576000805b33600052602091600083526040600020805482101561155757816114bc9161487c565b504290541080611532575b6114dd575b6114d7919250614898565b90611499565b6114d791336000526000845260006115096114fb846040842061487c565b5092600180940154906121c0565b9433825252600261151e83604060002061487c565b50019060ff198254161790558291506114cc565b50336000526000835260ff600261154d83604060002061487c565b50015416156114c7565b8280156115c957600a5460405163a9059cbb60e01b81523360048201526024810192909252602090829060449082906000906001600160a01b03165af1801561045d5761042e916000916115ab57506145b2565b6115c3915060203d811161045657610447818361210f565b82610347565b60405162461bcd60e51b815260206004820152600e60248201526d4e6f7468696e67546f436c61696d60901b6044820152606490fd5b346101be5760203660031901126101be5760043561161f6064821161455a565b600a546040516323b872dd60e01b8152336004820152306024820152604481018390529190602090839060649082906000906001600160a01b03165af191821561045d5761042e9261167991600091611687575b506145f0565b6102cb339160f5549061290e565b61169f915060203d811161045657610447818361210f565b84611673565b346101be5760403660031901126101be576106136116c161206c565b3360005260c1602052604060002060018060a01b0382166000526020526116ef6024356040600020546121c0565b903361233d565b346101be5760403660031901126101be5761170f612082565b336001600160a01b0382160361172b5761042e90600435612898565b60405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608490fd5b346101be5760003660031901126101be57602060405160128152f35b346101be5760403660031901126101be576004356117c0612082565b81600052608c6020526117da60016040600020015461243f565b81600052608c60205260406000209060018060a01b0316908160005260205260ff604060002054161561180957005b81600052608c6020526040600020816000526020526040600020600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d600080a4005b346101be5760803660031901126101be576001600160401b036004358181116101be57611888903690600401612130565b90602480358281116101be576118a2903690600401612130565b906118ab612098565b92608d549460ff8660081c161594858096611da0575b8015611d89575b6118d190612acc565b600196868860ff19831617608d55611d77575b506001600160a01b0316938415611d3357670de0b6b3a764000060f255678ac7230489e8000060f35561191561274d565b61191e336127e7565b61193360ff608d5460081c166108d981612b2f565b8151838111611d1e578061194860c354612186565b93601f94858111611cc4575b50602090858311600114611c5457600092611c49575b5050600019600383901b1c191690881b1760c3555b8051928311611c345790829161199660c454612186565b828111611bd4575b506020918311600114611b6457600092611b59575b5050600019600383901b1c191690851b1760c4555b6044359081151580611b4c575b15611b105760405163313ce56760e01b8152602081600481875afa801561045d57600090611ad4575b60ff91501660128111611a9a576012039060128211611a8657604d8211611a865750600a0a60f55560f455611a3560f25433612b8f565b6001600160601b0360a01b60f654161760f655611a4e57005b60207f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989161ff0019608d5416608d55604051908152a1005b634e487b7160e01b60009081526011600452fd5b60405162461bcd60e51b81526020600482015260138184015272151bdad95b881b9bdd081cdd5c1c1bdc9d1959606a1b6044820152606490fd5b506020813d8211611b08575b81611aed6020938361210f565b810103126101be575160ff811681036101be5760ff906119fe565b3d9150611ae0565b60649060156040519162461bcd60e51b83526020600484015282015274496e76616c6964205265736572766520526174696f60581b6044820152fd5b50620f42408211156119d5565b0151905086806119b3565b90879350601f1983169160c46000526000805160206148c88339815191529260005b818110611bbc57508411611ba3575b505050811b0160c4556119c8565b015160001960f88460031b161c19169055868080611b95565b8284015185558a969094019360209384019301611b86565b9091925060c46000526000805160206148c88339815191528380860160051c82019260208710611c2b575b9186958b929594930160051c01915b828110611c1c57505061199e565b600081558695508a9101611c0e565b92508192611bff565b83634e487b7160e01b60005260416004526000fd5b01519050898061196a565b908a9350601f1983169160c36000526000805160206149088339815191529260005b818110611cac57508411611c93575b505050811b0160c35561197f565b015160001960f88460031b161c19169055898080611c85565b8284015185558d969094019360209384019301611c76565b90915060c36000526000805160206149088339815191528580850160051c820160208610611d17575b918c918695940160051c01915b828110611d08575050611954565b600081558594508c9101611cfa565b5081611ced565b84634e487b7160e01b60005260416004526000fd5b60405162461bcd60e51b815260206004820152601b818601527f496e76616c69642064656e6f6d20746f6b656e206164647265737300000000006044820152606490fd5b61ffff191661010117608d55876118e4565b50303b1580156118c8575060ff87166001146118c8565b50600160ff8816106118c1565b346101be576020611296611dc0366120ae565b92919091612955565b346101be5760203660031901126101be576020611296600435612c33565b346101be5760203660031901126101be57600435600052608c6020526020600160406000200154604051908152f35b346101be5760603660031901126101be57611e2f61206c565b611e37612082565b6044359060018060a01b03831660005260c1602052604060002033600052602052604060002054926000198403611e73575b61061393506121cd565b828410611e8f57611e8a836106139503338361233d565b611e69565b60405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606490fd5b346101be5760003660031901126101be57602060c254604051908152f35b346101be5760003660031901126101be57602060f454604051908152f35b346101be5760403660031901126101be57610613611f2c61206c565b602435903361233d565b346101be5760003660031901126101be57604051600060c354611f5881612186565b808452906001908181169081156112045750600114611f81576111b7846111ab8186038261210f565b60c3600090815292506000805160206149088339815191525b828410611fb25750505081016020016111ab8261119b565b80546020858701810191909152909301928101611f9a565b346101be5760203660031901126101be576004359063ffffffff60e01b82168092036101be57602091637965db0b60e01b811490811561200c575b5015158152f35b6301ffc9a760e01b14905083612005565b60005b8381106120305750506000910152565b8181015183820152602001612020565b60409160208252612060815180928160208601526020868601910161201d565b601f01601f1916010190565b600435906001600160a01b03821682036101be57565b602435906001600160a01b03821682036101be57565b606435906001600160a01b03821682036101be57565b60809060031901126101be57600435906024359060443563ffffffff811681036101be579060643590565b606081019081106001600160401b0382111761048657604052565b604081019081106001600160401b0382111761048657604052565b90601f801991011681019081106001600160401b0382111761048657604052565b81601f820112156101be578035906001600160401b0382116104865760405192612164601f8401601f19166020018561210f565b828452602083830101116101be57816000926020809301838601378301015290565b90600182811c921680156121b6575b60208310146121a057565b634e487b7160e01b600052602260045260246000fd5b91607f1691612195565b9190820180921161050c57565b6001600160a01b039081169182156122ea571691821561229957600082815260c060205260408120549180831061224557604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95876020965260c08652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b039081169182156123ee571691821561239e5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260c18252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b6000818152602090608c8252604092838220338352835260ff8483205416156124685750505050565b33908451612475816120d9565b602a815284810191863684378151156127395760308353815193600194851015612725576078602184015360295b8581116126bb575061267957865193608085018581106001600160401b0382111761266557885260428552868501956060368837855115612651576030875385518210156126515790607860218701536041915b8183116125e3575050506125a1579385936125879361257860489461254f7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000009961259d9b519a8b97880152518092603788019061201d565b8401917001034b99036b4b9b9b4b733903937b6329607d1b60378401525180938684019061201d565b0103602881018552018361210f565b5162461bcd60e51b815291829160048301612040565b0390fd5b60648587519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561263d576f181899199a1a9b1b9c1cb0b131b232b360811b901a6126138589612921565b5360041c928015612629576000190191906124f7565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b634e487b7160e01b87526041600452602487fd5b60648688519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b90600f81166010811015612711576f181899199a1a9b1b9c1cb0b131b232b360811b901a6126e98386612921565b5360041c9080156126fd57600019016124a3565b634e487b7160e01b87526011600452602487fd5b634e487b7160e01b88526032600452602488fd5b634e487b7160e01b86526032600452602486fd5b634e487b7160e01b85526032600452602485fd5b60008080527fde4fbd7b68d03e1fffd4a8995c4c65d867091f016e1a5e7c52630ddf547687346020527f87a2cd4d10fae07c6368d690d4910f2754b7ec99610e7043f10c15224893a7d75460ff16156127a35750565b608c6020526040812060205260408120600160ff198254161790553390807f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4565b6001600160a01b031660008181527fd52035fcc9cfbacd1ea46ff228a6316727ed11959a0120e823134b70717bcab160205260408120549091907f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69060ff161561285057505050565b808352608c6020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4565b90600091808352608c602052604083209160018060a01b03169182845260205260ff6040842054166128c957505050565b808352608c602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b8181029291811591840414171561050c57565b908151811015612932570160200190565b634e487b7160e01b600052603260045260246000fd5b9190820391821161050c57565b9192821515806129f5575b806129e6575b806129d3575b156101be5780156129ca57620f424063ffffffff8516146129b6576129a36129b3948361299e6129ab9560ff956121c0565b612cc5565b92908461290e565b91161c612948565b90565b6129b393506129c5919261290e565b6129fe565b50505050600090565b50620f424063ffffffff8516111561296c565b5063ffffffff84161515612966565b50811515612960565b8115612a08570490565b634e487b7160e01b600052601260045260246000fd5b90919281151580612ac3575b80612ab4575b80612aa1575b80612a97575b156101be5780156129ca57818114612a9057620f424063ffffffff8516146129b6576129b39382612a73612a79936129c595612948565b90613e4d565b909260ff612a87858361290e565b92161b90612948565b5050905090565b5081811115612a3c565b50620f424063ffffffff85161115612a36565b5063ffffffff84161515612a30565b50821515612a2a565b15612ad357565b60405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b15612b3657565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fd5b6001600160a01b0316908115612bee577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602082612bd160009460c2546121c0565b60c25584845260c0825260408420818154019055604051908152a3565b60405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606490fd5b6129b39060c2549060f354612c5463ffffffff60f454169260f5549061290e565b92612955565b6129b3906129c560c25460f35463ffffffff60f4541690612c7e60f554809661290e565b92612a1e565b15612c8b57565b634e487b7160e01b600052600160045260246000fd5b60ff6000199116019060ff821161050c57565b60ff16607f039060ff821161050c57565b909291600160811b90612cd9828410612c84565b848310613e08576000607f9584871b6001607f1b95808204871490151715613da75790612d05916129fe565b9070015bf0a8b1457695355fb8ac404e7a79e3821015613c43575080916000916fd3094c70f034de4b96ff7d5b6f99fcd880821015613c1f575b50506fa45af1e1f40c333b3de1db4dd55f29a780841015613bf4575b506f910b022db7ae67ce76b441c27035c6a180841015613bc9575b506f88415abbe9a76bead8d00cf112e4d4a880841015613b9e575b506f84102b00893f64c705e841d5d4064bd380841015613b73575b506f8204055aaef1c8bd5c3259f4822735a280841015613b48575b506f810100ab00222d861931c15e39b44e9980841015613b1d575b506f808040155aabbbe9451521693554f73380841015613af2575b5060016001607f1b0319830183811161050c57612e1a818061290e565b881c92600160801b85810388019190821161050c57612e4a8591612e41612e50948661290e565b60801c906121c0565b9261290e565b881c906faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa90878683030191821161050c57612e4a8591612e83612e8c948661290e565b60811c906121c0565b881c906f9999999999999999999999999999999990878683030191821161050c57612e4a8591612ecc93612ec5600360801b918761290e565b04906121c0565b881c906f9249249249249249249249249249249290878683030191821161050c57612e4a8591612eff612f08948661290e565b60821c906121c0565b881c906f8e38e38e38e38e38e38e38e38e38e38e90878683030191821161050c57612e4a8591612f4193612ec5600560801b918761290e565b881c906f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b90878683030191821161050c57612e4a8591612f7a93612ec5600360811b918761290e565b881c926f89d89d89d89d89d89d89d89d89d89d89878682030190811161050c57612fb892612fb291600760801b90612ec5908861290e565b9361290e565b871c856f888888888888888888888888888888889485030193841161050c57612ffa61300393612ff1620f42409663ffffffff9461290e565b60831c906121c0565b915b169061290e565b0490600160831b8210156135495760009260016001607c1b038316613028818061290e565b871c6710e1b3be415a0000908181029181830414811517156126fd578261304e9161290e565b881c906705a0913f6b1e00009081830291838304148315171561353557612e4a6130799285926121c0565b881c90670168244fdac780009081830291838304148315171561353557612e4a6130a49285926121c0565b881c90664807432bc180009081830291838304148315171561353557612e4a6130ce9285926121c0565b881c90660c0135dca040009081830291838304148315171561353557612e4a6130f89285926121c0565b881c906601b707b1cdc0009081830291838304148315171561353557612e4a6131229285926121c0565b881c906536e0f639b8009081830291838304148315171561353557612e4a61314b9285926121c0565b881c90650618fee9f8009081830291838304148315171561353557612e4a6131749285926121c0565b881c90649c197dcc009081830291838304148315171561353557612e4a61319c9285926121c0565b881c90640e30dce4009081830291838304148315171561353557612e4a6131c49285926121c0565b881c9064012ebd13009081830291838304148315171561353557612e4a6131ec9285926121c0565b881c906317499f009081830291838304148315171561353557612e4a6132139285926121c0565b881c906301a9d4809081830291838304148315171561353557612e4a61323a9285926121c0565b881c90621c63809081830291838304148315171561353557612e4a6132609285926121c0565b881c906201c6389081830291838304148315171561353557612e4a6132869285926121c0565b881c90611ab89081830291838304148315171561353557612e4a6132ab9285926121c0565b881c9061017c9081830291838304148315171561353557612e4a6132d09285926121c0565b881c9060148202908282046014148315171561353557612e4a6132f49285926121c0565b881c90818004600114821517156126fd5761331c61332293926721c3677c82b40000926121c0565b046121c0565b938185018095116135215750836001607c1b84166134e0575b506001607d1b83166134a2575b6001607e1b8316613465575b8216613429575b600160801b82166133ed575b81166133b2575b600160821b1661337c579190565b6e2bf84208204f5977f9a8cf01fdc3079081810291818304149015171561050c576d03c6ab775dd0b95b4cbee7e65d1190049190565b906f0960aadc109e7a3bf4578099615711d79081810291818304149015171561050c576e2bf84208204f5977f9a8cf01fdce3d90049061336e565b916f454aaa8efe072e7f6ddbab84b40a55c59081810291818304149015171561050c576f0960aadc109e7a3bf4578099615711ea900491613367565b916fbc5ab1b16779be3575bd8f0520a9f21e9081810291818304149015171561050c576f454aaa8efe072e7f6ddbab84b40a55c990049161335b565b927001368b2fc6f9609fe7aceb46aa619baed59081810291818304149015171561050c576fbc5ab1b16779be3575bd8f0520a9f21f900492613354565b9270018ebef9eac820ae8682b9793ac6d1e7789081810291818304149015171561050c577001368b2fc6f9609fe7aceb46aa619baed4900492613348565b9093507001c3d6a24ed82218787d624d3e5eba95f99081810291818304149015171561050c5770018ebef9eac820ae8682b9793ac6d1e7769004923861333b565b634e487b7160e01b81526011600452602490fd5b634e487b7160e01b88526011600452602488fd5b508093506135579150614460565b9160ff61356384612cb4565b161c61356f818061290e565b60ff841690811c6f03442c4e6074a82f1797f72ac00000009081810291818304148115171561050c57836135a29161290e565b821c906f0116b96f757c380fb287fd0e4000000080830290838204148315171561050c57612e4a85916135d4936121c0565b821c906e45ae5bdd5f0e03eca1ff439000000080830290838204148315171561050c57612e4a8591613605936121c0565b821c906e0defabf91302cd95b9ffda5000000080830290838204148315171561050c57612e4a8591613636936121c0565b821c906e02529ca9832b22439efff9b800000080830290838204148315171561050c57612e4a8591613667936121c0565b821c906d54f1cf12bd04e516b6da8800000080830290838204148315171561050c57612e4a8591613697936121c0565b821c906d0a9e39e257a09ca2d6db5100000080830290838204148315171561050c57612e4a85916136c7936121c0565b821c906d012e066e7b839fa050c30900000080830290838204148315171561050c57612e4a85916136f7936121c0565b821c906c1e33d7d926c329a1ad1a80000080830290838204148315171561050c57612e4a8591613726936121c0565b821c906c02bee513bdb4a6b19b5f80000080830290838204148315171561050c57612e4a8591613755936121c0565b821c906b3a9316fa79b88eccf2a0000080830290838204148315171561050c57612e4a8591613783936121c0565b821c906b048177ebe1fa81237520000080830290838204148315171561050c57612e4a85916137b1936121c0565b821c906a5263fe90242dcbacf0000080830290838204148315171561050c57612e4a85916137de936121c0565b821c906a057e22099c030d9410000080830290838204148315171561050c57612e4a859161380b936121c0565b821c906957e22099c030d941000080830290838204148315171561050c57612e4a8591613837936121c0565b821c9069052b6b5456997631000080830290838204148315171561050c57612e4a8591613863936121c0565b821c90684985f67696bf74800080830290838204148315171561050c57612e4a859161388e936121c0565b821c906803dea12ea99e49800080830290838204148315171561050c57612e4a85916138b9936121c0565b821c906731880f2214b6e00080830290838204148315171561050c57612e4a85916138e3936121c0565b821c9067025bcff56eb3600080830290838204148315171561050c57612e4a859161390d936121c0565b821c90661b722e10ab100080830290838204148315171561050c57612e4a8591613936936121c0565b821c906601317c7007700080830290838204148315171561050c57612e4a859161395f936121c0565b821c90650cba84aafa0080830290838204148315171561050c57612e4a8591613987936121c0565b821c906482573a0a0080830290838204148315171561050c57612e4a85916139ae936121c0565b821c906405035ad90080830290838204148315171561050c57612e4a85916139d5936121c0565b821c90632f881b0080830290838204148315171561050c57612e4a85916139fb936121c0565b821c906301b2934080830290838204148315171561050c57612e4a8591613a21936121c0565b821c90620efc4080830290838204148315171561050c57612e4a8591613a46936121c0565b821c90617fe080830290838204148315171561050c57612e4a8591613a6a936121c0565b821c9061042080830290838204148315171561050c57612e4a8591613a8e936121c0565b821c90602182028281046021148315171561050c57612e4a8591613ab1936121c0565b821c908180046001148215171561050c57613aee936f0688589cc0e9505e2f2fee558000000061331c600194613ae6946121c0565b911b906121c0565b9190565b909291600160771b810190811061050c579180881b9080820487149015171561050c57049138612dfd565b909291600160781b810190811061050c579180881b9080820487149015171561050c57049138612de2565b909291600160791b810190811061050c579180881b9080820487149015171561050c57049138612dc7565b9092916001607a1b810190811061050c579180881b9080820487149015171561050c57049138612dac565b9092916001607b1b810190811061050c579180881b9080820487149015171561050c57049138612d91565b9092916001607c1b810190811061050c579180881b9080820487149015171561050c57049138612d76565b9092916001607d1b810190811061050c579180881b9080820487149015171561050c57049138612d5b565b9193506001607e1b925080881b9080159082048714171561050c5704913880612d3f565b908190600160801b8181811015613d3a575b50868211613ca9575b50506f03f80fe03f80fe03f80fe03f80fe03f8918281029281840414901517156135215750620f42409163ffffffff6f05b9de1d10bf4103d647b0955897ba80613003930491612ffc565b9196909792939495835b60ff998a821615613d285780613cc89161290e565b998a861c9a858c1015613cfe575b505060ff168015613cea5760001901613cb3565b634e487b7160e01b89526011600452602489fd5b613d20919b5096600160ff939860801c9c613d188a612ca1565b161b906121c0565b959038613cd6565b50509594939297509590503880613c5e565b988991989450809597939692501c9585976101008810600014613dbb5797965b600180821115613d75571c96613d6f9061444e565b96613d5a565b5050939796929695909491955b60ff821690811c91891b60ff607f1b1690801590820488141715613da7579238613c55565b634e487b7160e01b83526011600452602483fd5b8560809a95999798969a5b60ff81168015613df6576001811b891015613de8575b5060011c168a90613dc6565b978199981c97179738613ddc565b50505093909450959195949094613d82565b60405162461bcd60e51b815260206004820152601c60248201527f4261736573203c203120617265206e6f7420737570706f727465642e000000006044820152606490fd5b909291600160811b90613e61828410612c84565b848310613e08576000607f9584871b6001607f1b95808204871490151715613da75790613e8d916129fe565b9070015bf0a8b1457695355fb8ac404e7a79e38210156142c757506000816fd3094c70f034de4b96ff7d5b6f99fcd8808210156142a4575b50506fa45af1e1f40c333b3de1db4dd55f29a78083101561427b575b506f910b022db7ae67ce76b441c27035c6a180831015614252575b506f88415abbe9a76bead8d00cf112e4d4a880831015614229575b506f84102b00893f64c705e841d5d4064bd380831015614200575b506f8204055aaef1c8bd5c3259f4822735a2808310156141d7575b506f810100ab00222d861931c15e39b44e99808310156141ae575b506f808040155aabbbe9451521693554f73380831015614185575b5060016001607f1b0319820182811161050c57613fa0818061290e565b881c91600160801b84810388019190821161050c57612e4a8491612e41613fc7948661290e565b881c906faaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa90878583030191821161050c57612e4a8491612e83613ffa948661290e565b881c906f9999999999999999999999999999999990878583030191821161050c57612e4a849161403393612ec5600360801b918761290e565b881c906f9249249249249249249249249249249290878583030191821161050c57612e4a8491612eff614066948661290e565b881c906f8e38e38e38e38e38e38e38e38e38e38e90878583030191821161050c57612e4a849161409f93612ec5600560801b918761290e565b881c906f8ba2e8ba2e8ba2e8ba2e8ba2e8ba2e8b90878583030191821161050c57612e4a84916140d893612ec5600360811b918761290e565b881c916f89d89d89d89d89d89d89d89d89d89d89878582030190811161050c5761411092612e4a91600760801b90612ec5908761290e565b871c856f888888888888888888888888888888889384030192831161050c5761413c92612ff19161290e565b620f42409081810291818304149015171561050c5763ffffffff6141619216906129fe565b90600160831b8210156135495760009260016001607c1b038316613028818061290e565b90600160771b810190811061050c579180881b9080820487149015171561050c57049038613f83565b90600160781b810190811061050c579180881b9080820487149015171561050c57049038613f68565b90600160791b810190811061050c579180881b9080820487149015171561050c57049038613f4d565b906001607a1b810190811061050c579180881b9080820487149015171561050c57049038613f32565b906001607b1b810190811061050c579180881b9080820487149015171561050c57049038613f17565b906001607c1b810190811061050c579180881b9080820487149015171561050c57049038613efc565b906001607d1b810190811061050c579180881b9080820487149015171561050c57049038613ee1565b6001607e1b9350915080881b9080159082048714171561050c5704903880613ec5565b908190600160801b8181811015614394575b5086821161431f575b50506f03f80fe03f80fe03f80fe03f80fe03f89182810292818404149015171561352157506f05b9de1d10bf4103d647b0955897ba80900461413c565b9196909792939495835b60ff998a821615614382578061433e9161290e565b998a861c9a858c1015614360575b505060ff168015613cea5760001901614329565b61437a919b5096600160ff939860801c9c613d188a612ca1565b95903861434c565b505095949392975095905038806142e2565b988991989450809597939692501c95859761010088106000146144015797965b6001808211156143cf571c966143c99061444e565b966143b4565b5050939796929695909491955b60ff821690811c91891b60ff607f1b1690801590820488141715613da75792386142d9565b8560809a95999798969a5b60ff8116801561443c576001811b89101561442e575b5060011c168a9061440c565b978199981c97179738614422565b505050939094509591959490946143dc565b60ff60019116019060ff821161050c57565b906020607f9182915b6144728161444e565b60ff80918186169182911610156144e057818316019081116144cb5760011c84169060808210156144b657600c82015486116144ae5750614469565b925091614469565b60246000634e487b7160e01b81526032600452fd5b60246000634e487b7160e01b81526011600452fd5b5050925092906080811015612932578181600c01541015614526575060808210156129325781600c015410156129b357634e487b7160e01b600052600160045260246000fd5b91505090565b60038110156110dc576001810361454557506207a12090565b60020361455357620a122090565b620f424090565b1561456157565b60405162461bcd60e51b8152602060048201526011602482015270125b9d985b1a5916995c9bd05b5bdd5b9d607a1b6044820152606490fd5b908160209103126101be575180151581036101be5790565b156145b957565b60405162461bcd60e51b815260206004820152600f60248201526e151c985b9cd9995c8819985a5b1959608a1b6044820152606490fd5b156145f757565b60405162461bcd60e51b8152602060048201526013602482015272151c985b9cd9995c919c9bdb4819985a5b1959606a1b6044820152606490fd5b60f5549192916146419161290e565b9182156147c75760018060a01b031691600083815260209360c085526040948386842054106147845761467384612c5a565b936146808560f354612948565b60f35582156147365782845260c08252868420548181106146e757906129b39697817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef949386885260c0855203818720558160c2540360c25551908152a360f554906129fe565b875162461bcd60e51b815260048101849052602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608490fd5b865162461bcd60e51b815260048101839052602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608490fd5b60649086519062461bcd60e51b82526004820152601c60248201527f496e73756666696369656e7420746f6b656e7320746f206275726e2e000000006044820152fd5b60405162461bcd60e51b815260206004820152601860248201527f416d6f756e74206d757374206265206e6f6e2d7a65726f2e00000000000000006044820152606490fd5b8015614837578061482961482261483193612c33565b8094612b8f565b60f3546121c0565b60f35590565b60405162461bcd60e51b815260206004820152601960248201527f4465706f736974206d757374206265206e6f6e2d7a65726f2e000000000000006044820152606490fd5b8054821015612932576000526003602060002091020190600090565b600019811461050c576001019056fe405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace2bde9b0c0857aee2cffdea6b8723eaf59894499ec278c18f020edd3c2295e424b10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf66d918f650e2b4a9f360977c4447e6376eb632ec1f687ba963aa9983e90086594a26469706673582212206314c96d0e77619dc6023d63a0c13a69bd1855caebdfba4bd803cb54bab24f5964736f6c63430008120033"; type SubDaoTokenConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/normalized_endowment/subdao/ISubdaoEmitter__factory.ts b/typechain-types/factories/contracts/normalized_endowment/subdao/ISubdaoEmitter__factory.ts index 7f40ee860..ee00851a5 100644 --- a/typechain-types/factories/contracts/normalized_endowment/subdao/ISubdaoEmitter__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/subdao/ISubdaoEmitter__factory.ts @@ -20,9 +20,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -75,29 +75,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -123,43 +123,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -174,7 +174,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { diff --git a/typechain-types/factories/contracts/normalized_endowment/subdao/Isubdao.sol/ISubDao__factory.ts b/typechain-types/factories/contracts/normalized_endowment/subdao/Isubdao.sol/ISubDao__factory.ts index c43dd00c4..b3905af89 100644 --- a/typechain-types/factories/contracts/normalized_endowment/subdao/Isubdao.sol/ISubDao__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/subdao/Isubdao.sol/ISubDao__factory.ts @@ -15,9 +15,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -70,29 +70,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -118,43 +118,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -169,7 +169,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -184,7 +184,7 @@ const _abi = [ }, ], internalType: "struct subDaoMessage.InstantiateMsg", - name: "curMsg", + name: "msg", type: "tuple", }, ], @@ -197,7 +197,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curPollid", + name: "pollid", type: "uint256", }, { @@ -215,27 +215,27 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curProposer", + name: "proposer", type: "address", }, { internalType: "uint256", - name: "curDepositamount", + name: "depositamount", type: "uint256", }, { internalType: "string", - name: "curTitle", + name: "title", type: "string", }, { internalType: "string", - name: "curDescription", + name: "description", type: "string", }, { internalType: "string", - name: "curLink", + name: "link", type: "string", }, { @@ -257,7 +257,7 @@ const _abi = [ }, ], internalType: "struct subDaoStorage.ExecuteData", - name: "curExecuteMsgs", + name: "executeMsgs", type: "tuple", }, ], @@ -270,7 +270,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curPollid", + name: "pollid", type: "uint256", }, ], @@ -283,7 +283,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curPollid", + name: "pollid", type: "uint256", }, ], @@ -296,7 +296,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curPollid", + name: "pollid", type: "uint256", }, ], @@ -409,12 +409,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curVetoken", + name: "vetoken", type: "address", }, { internalType: "address", - name: "curSwapfactory", + name: "swapfactory", type: "address", }, ], @@ -427,42 +427,42 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curOwner", + name: "owner", type: "address", }, { internalType: "uint256", - name: "curQuorum", + name: "quorum", type: "uint256", }, { internalType: "uint256", - name: "curThreshold", + name: "threshold", type: "uint256", }, { internalType: "uint256", - name: "curVotingperiod", + name: "votingperiod", type: "uint256", }, { internalType: "uint256", - name: "curTimelockperiod", + name: "timelockperiod", type: "uint256", }, { internalType: "uint256", - name: "curExpirationperiod", + name: "expirationperiod", type: "uint256", }, { internalType: "uint256", - name: "curProposaldeposit", + name: "proposaldeposit", type: "uint256", }, { internalType: "uint256", - name: "curSnapshotperiod", + name: "snapshotperiod", type: "uint256", }, ], diff --git a/typechain-types/factories/contracts/normalized_endowment/subdao/SubdaoEmitter__factory.ts b/typechain-types/factories/contracts/normalized_endowment/subdao/SubdaoEmitter__factory.ts index 625b0d038..0c45abe5c 100644 --- a/typechain-types/factories/contracts/normalized_endowment/subdao/SubdaoEmitter__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/subdao/SubdaoEmitter__factory.ts @@ -22,9 +22,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -77,29 +77,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -125,43 +125,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -176,7 +176,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -580,7 +580,7 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curAccountscontract", + name: "accountscontract", type: "address", }, ], @@ -599,9 +599,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -654,29 +654,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -702,43 +702,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -753,7 +753,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -1205,7 +1205,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608080604052346100205760ff196000541660005561136890816100268239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80632103dd7214610c6a5780633b3c187714610b7d57806360fb85bd14610af7578063a377732114610512578063bfecf5be14610432578063cc47f08a1461039e578063efaf65201461031b578063f1b769661461024a5763f79aa7451461007f57600080fd5b3461022f5761018036600319011261022f5760405161018081018181106001600160401b03821117610234576040526100b6610d6d565b81526100c0610d57565b60208201526100cd610d83565b60408201526064356001600160a01b038116810361022f5760608201526084356001600160a01b038116810361022f57816101a09160807fe2472413fc154370d7f9f8b5293189a9e463bd2ee20b55585be20b5eae28679394015260a43560a082015260c43560c082015260e43560e08201526101043561010082015261012435610120820152610144356101408201526101643561016082015233600052600160205261018260ff604060002054166110bc565b6101606040519133835260018060a01b03815116602084015260018060a01b03602082015116604084015260018060a01b03604082015116606084015260018060a01b03606082015116608084015260018060a01b0360808201511660a084015260a081015160c084015260c081015160e084015260e0810151610100840152610100810151610120840152610120810151610140840152610140810151828401520151610180820152a1005b600080fd5b634e487b7160e01b600052604160045260246000fd5b3461022f57606036600319011261022f576004356024356001600160401b03811161022f5761027d903690600401610e37565b9060443590600582101561022f576103186060927f430f5b080fdf16ecd0ecdc74d13ab3c975903940031db9c221ea3bb9e6fd9c986102ff7f8c5daac18f9ab14687e32950599e05e3b689af07060e556e5227d725fe92e2a9963360005260016020526102f160ff604060002054166110bc565b60405191829187338461114e565b0390a16040519233845260208401526040830190611141565ba1005b3461022f57604036600319011261022f576024356001600160401b03811161022f5761039961036f7f430f5b080fdf16ecd0ecdc74d13ab3c975903940031db9c221ea3bb9e6fd9c98923690600401610e37565b33600052600160205261038960ff604060002054166110bc565b604051918291600435338461114e565b0390a1005b3461022f57608036600319011261022f577fdcd71bb5ae1441c83cb15bd0e40e8dfeab7715ac77f33fa746f370b7e4746b7e60a06103da610d6d565b6103e2610d57565b6103ea610d83565b33600052600160205261040460ff604060002054166110bc565b60405192338452600180861b03928380921660208601521660408401521660608201526064356080820152a1005b3461022f57602036600319011261022f5761044b610d6d565b6001600160a01b038116156104c35760005460ff8116610488576001600160a81b03191660089190911b610100600160a81b031617600117600055005b60405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e48125b9a5d1a585b1a5e9959606a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152602160248201527f496e76616c6964206163636f756e747320636f6e7472616374206164647265736044820152607360f81b6064820152608490fd5b3461022f57604036600319011261022f5761052b610d6d565b6001600160401b036024351161022f576101a06024353603600319011261022f576040516101a081018181106001600160401b038211176102345760405260243560040135815261057f6024803501610d99565b602082015260243560448101356040830152606481013560608301526084810135608083015260a481013560a083015260c481013560c083015260e481013560e083015261010481013561010083015261012401356001600160401b03811161022f57604060243582013603600319011261022f576105fc610d13565b90600481602435010135600381101561022f5782526024818135010135906001600160401b03821161022f576101e0602435820183013603600319011261022f5760405191826101608101106001600160401b036101608501111761023457610160830160405261067560048284602435010101610d99565b83526024803583018201908101356020850152604401356001600160401b03811161022f576106b09060043691848660243501010101610dee565b604084015260648183602435010101356001600160401b03811161022f576106e49060043691848660243501010101610dee565b606084015260a0602435830182013603608319011261022f57610705610d13565b6084828460243501010135600381101561022f578152608060243584018301360360a319011261022f576040518060808101106001600160401b03608083011117610234576080810160405261076360a48486602435010101610e0c565b81526024358401830160c481013560208301526107829060e401610e0c565b604082015261079a6101048486602435010101610e0c565b6060820152602082015260808401526101248183602435010101356001600160401b03811161022f576107d99060043691848660243501010101610dee565b60a08401526001600160401b036101448284602435010101351161022f576101c491610815366024358301840161014481013501600401610dee565b60c08501526024358101820161016481013560e08601526108399061018401610d99565b6101008501526101a482826024350101013561012085015260243501010135610140820152602082015261012082015260036101446024350135101561022f577f1344fabfc254b2b767710398bf3b920cb3801c19d17a8e7b527a9b971739bddc9161014460243501356101408301526108b861016460243501610d99565b6101608301526108cd61018460243501610d99565b6101808301526108eb60018060a01b0360005460081c1633146110bc565b60018060a01b031660005260016020526040600020600160ff198254161790556040518091338252604060208301528051604083015260018060a01b03602082015116606083015260408101516080830152606081015160a0830152608081015160c083015260a081015160e083015260c081015161010083015260e081015161012083015261010081015161014083015260206101208201516101a06101608501528051610999816110f7565b6101e0850152015190604061020084015260018060a01b038251166102208401526020820151610240840152610140610a836109e760408501516101e0610260880152610400870190611101565b610a6d610a0860608701519261021f1993848a8303016102808b0152611101565b602060808801518051610a1a816110f7565b6102a08b0152015160606001600160801b0391828151166102c08c015260208101516102e08c0152826040820151166103008c015201511661032089015260a087015183898303016103408a0152611101565b9060c08601519087830301610360880152611101565b60e08401516103808601526101008401516001600160a01b03166103a08601526101208401516103c08601529201516103e0840152610140810151610ac7816110f7565b610180848101919091526101608201516001600160a01b039081166101a0860152910151166101c08301520390a1005b3461022f57606036600319011261022f577fa76c9035995eb2a8b40386ebe50cac49c18117a4b8e5b59aa8572544d6f324426080610b33610d6d565b610b3b610d57565b90336000526001602052610b5660ff604060002054166110bc565b6040519133835260018060a01b0380921660208401521660408201526044356060820152a1005b3461022f5760a036600319011261022f57610b96610d57565b606036604319011261022f57610baa610cf4565b604435600281101561022f5781526020810191606435835260843591821515830361022f5760408101928352336000526001602052610bf060ff604060002054166110bc565b6040805133815260043560208201526001600160a01b039093169083015251916002831015610c54577f896c10dc6ccc075f8e39be1b3daf3ccc517cc3f97719fd4941a6b8bff2ee62c89360c093606084015251608083015251151560a0820152a1005b634e487b7160e01b600052602160045260246000fd5b3461022f57606036600319011261022f577fe89f1144af1ff5421e4a225aef6f42611719ceaf92c6a4cf7687aa097e6ae9f16080610ca6610cf4565b600435815260208101602435815260408201906044358252336000526001602052610cd860ff604060002054166110bc565b60405192338452516020840152516040830152516060820152a1005b60405190606082018281106001600160401b0382111761023457604052565b60405190604082018281106001600160401b0382111761023457604052565b6040519190601f01601f191682016001600160401b0381118382101761023457604052565b602435906001600160a01b038216820361022f57565b600435906001600160a01b038216820361022f57565b604435906001600160a01b038216820361022f57565b35906001600160a01b038216820361022f57565b9291926001600160401b03821161023457610dd1601f8301601f1916602001610d32565b938285528282011161022f57816000926020928387013784010152565b9080601f8301121561022f57816020610e0993359101610dad565b90565b35906001600160801b038216820361022f57565b6001600160401b0381116102345760051b60200190565b9190916101e090818185031261022f576040938451928301946001600160401b039584811087821117610234578152839583358552602091610e7a838601610d99565b8387015280850135600581101561022f5781870152606085013560608701526080850135608087015260a085013560a087015260c085013560c087015260e085013560e08701526101008086013583811161022f5785610edb918801610dee565b908701526101208086013583811161022f5785610ef9918801610dee565b908701526101408086013583811161022f5785610f17918801610dee565b90870152610160928386013583811161022f5786019460608682031261022f57610f3f610cf4565b95803585811161022f57810182601f8201121561022f57803590610f6a610f6583610e20565b610d32565b91858084838152019160051b8301019185831161022f5786809101915b8383106110ac575050505087528281013585811161022f57810182601f8201121561022f57803590610fbb610f6583610e20565b91858084838152019160051b8301019185831161022f5786809101915b8383106110945750915050880152838101359085821161022f57019080601f8301121561022f57813561100d610f6582610e20565b95848088848152019260051b8501019383851161022f57858101925b85841061105f575050505050505083015283015261018080820135908301526101a080820135908301526101c080910135910152565b833583811161022f57820185603f8201121561022f57879161108987838c86809601359101610dad565b815201930192611029565b819061109f84610d99565b8152019101908690610fd8565b8235815291810191879101610f87565b156110c357565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b60031115610c5457565b919082519283825260005b84811061112d575050826000602080949584010152601f8019910116010190565b60208183018101518483018201520161110c565b906005821015610c545752565b9091939260018060a01b0380931682526020948583015260606040830152805160608301528285820151166080830152611190604082015160a0840190611141565b606081015160c0830152608081015160e083015260a081015190610100918284015260c081015191610120928385015260e0820151906101409182860152820151946101e090886111ee61016098848a8a0152610240890190611101565b958501519161122661120f605f1998610180958a8c830301878d0152611101565b95870151956101a096898b830301888c0152611101565b98860151906101c097898b0301888a015260608a0182519060608c5281518091528460808d0192019060005b81811061131c5750505083808401519d8e8d828186039101525192838152019d01916000905b828210611303575050505060400151976040818c039101528751808b52818b019180808d8460051b01019a01926000905b8382106112d5575050505050610220959697985083015190860152810151610200850152015191015290565b909192939a83808f6001938f6112f492601f1990830301875251611101565b9d0192019201909392916112a9565b835181168f529d85019d92850192600190910190611278565b825184528f96938401939092019160010161125256fea26469706673582212203f1f33cbeda04c6838820ca3fdf0b47854c2a433078073290c68ef533e1ed3ea64736f6c63430008120033"; + "0x608080604052346100205760ff196000541660005561131b90816100268239f35b600080fdfe6080604052600436101561001257600080fd5b60003560e01c80631dfd08c8146106f75780632103dd721461066d5780633b3c18771461059857806360fb85bd14610512578063bfecf5be14610432578063cc47f08a1461039e578063efaf65201461031b578063f1b769661461024a5763f79aa7451461007f57600080fd5b3461022f5761018036600319011261022f5760405161018081018181106001600160401b03821117610234576040526100b6610c87565b81526100c0610c9d565b60208201526100cd610cb3565b60408201526064356001600160a01b038116810361022f5760608201526084356001600160a01b038116810361022f57816101a09160807fe2472413fc154370d7f9f8b5293189a9e463bd2ee20b55585be20b5eae28679394015260a43560a082015260c43560c082015260e43560e08201526101043561010082015261012435610120820152610144356101408201526101643561016082015233600052600160205261018260ff6040600020541661104f565b6101606040519133835260018060a01b03815116602084015260018060a01b03602082015116604084015260018060a01b03604082015116606084015260018060a01b03606082015116608084015260018060a01b0360808201511660a084015260a081015160c084015260c081015160e084015260e0810151610100840152610100810151610120840152610120810151610140840152610140810151828401520151610180820152a1005b600080fd5b634e487b7160e01b600052604160045260246000fd5b3461022f57606036600319011261022f576004356024356001600160401b03811161022f5761027d903690600401610dca565b9060443590600582101561022f576103186060927f430f5b080fdf16ecd0ecdc74d13ab3c975903940031db9c221ea3bb9e6fd9c986102ff7f8c5daac18f9ab14687e32950599e05e3b689af07060e556e5227d725fe92e2a9963360005260016020526102f160ff6040600020541661104f565b604051918291873384611101565b0390a160405192338452602084015260408301906110f4565ba1005b3461022f57604036600319011261022f576024356001600160401b03811161022f5761039961036f7f430f5b080fdf16ecd0ecdc74d13ab3c975903940031db9c221ea3bb9e6fd9c98923690600401610dca565b33600052600160205261038960ff6040600020541661104f565b6040519182916004353384611101565b0390a1005b3461022f57608036600319011261022f577fdcd71bb5ae1441c83cb15bd0e40e8dfeab7715ac77f33fa746f370b7e4746b7e60a06103da610c87565b6103e2610c9d565b6103ea610cb3565b33600052600160205261040460ff6040600020541661104f565b60405192338452600180861b03928380921660208601521660408401521660608201526064356080820152a1005b3461022f57602036600319011261022f5761044b610c87565b6001600160a01b038116156104c35760005460ff8116610488576001600160a81b03191660089190911b610100600160a81b031617600117600055005b60405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e48125b9a5d1a585b1a5e9959606a1b6044820152606490fd5b60405162461bcd60e51b815260206004820152602160248201527f496e76616c6964206163636f756e747320636f6e7472616374206164647265736044820152607360f81b6064820152608490fd5b3461022f57606036600319011261022f577fa76c9035995eb2a8b40386ebe50cac49c18117a4b8e5b59aa8572544d6f32442608061054e610c87565b610556610c9d565b9033600052600160205261057160ff6040600020541661104f565b6040519133835260018060a01b0380921660208401521660408201526044356060820152a1005b3461022f5760a036600319011261022f576105b1610c9d565b606036604319011261022f576105c5610cfc565b604435600281101561022f57815260208101916064358352608435801515810361022f577f896c10dc6ccc075f8e39be1b3daf3ccc517cc3f97719fd4941a6b8bff2ee62c89383604060c0950192835233600052600160205261062f60ff6040600020541661104f565b6040805133815260043560208201526001600160a01b039095169085015251610657816110ea565b606084015251608083015251151560a0820152a1005b3461022f57606036600319011261022f577fe89f1144af1ff5421e4a225aef6f42611719ceaf92c6a4cf7687aa097e6ae9f160806106a9610cfc565b6004358152602081016024358152604082019060443582523360005260016020526106db60ff6040600020541661104f565b60405192338452516020840152516040830152516060820152a1005b3461022f57604036600319011261022f57610710610c87565b6001600160401b036024351161022f576101a06024353603600319011261022f576102206040526024356004013563ffffffff8116810361022f5760805261075b6024803501610cc9565b60a052602435604481013560c052606481013560e05260848101356101005260a48101356101205260c48101356101405260e481013561016052610104810135610180526001600160401b03610124909101351161022f5760243561012481013501604036829003600319011261022f576107d4610cdd565b906004810135600381101561022f5782526024810135906001600160401b03821161022f576101e08183013603600319011261022f5760405191826101608101106001600160401b036101608501111761023457610160830160405261083e600482840101610cc9565b83526024818301013560208401526001600160401b03604482840101351161022f5761087536838301604481013501600401610d81565b60408401526001600160401b03606482840101351161022f576108a336838301606481013501600401610d81565b606084015260a08282013603608319011261022f576108c0610cdd565b600360848385010135101561022f57608482840101358152608060a3198385013603011261022f576040518060808101106001600160401b03608083011117610234576080810160405261091860a484860101610d9f565b815283830160c481013560208301526109339060e401610d9f565b604082015261094761010484860101610d9f565b60608201526020820152608084015261012481830101356001600160401b03811161022f5761097e90600436918486010101610d81565b60a08401526001600160401b0361014482840101351161022f576101c4916109b23683830161014481013501600401610d81565b60c085015280820161016481013560e08601526109d29061018401610cc9565b610100850152016101a4810135610120840152013561014082015260208201526101a05260026024356101440135101561022f576024356101448101356101c052610a209061016401610cc9565b6101e052610a3360243561018401610cc9565b61020052600054610a54903360089190911c6001600160a01b03161461104f565b60018060a01b031660005260016020526040600020600160ff198254161790557fbb2778bd8d086ccffd96ed15b663a6e8047661ea87c3b237956e0c04f829b26e6040513381526040602082015263ffffffff60805116604082015260018060a01b03602060800151166060820152604060800151608082015260606080015160a0820152608080015160c082015260a06080015160e082015260c06080015161010082015260e06080015161012082015261010060800151610140820152806020610120608001516101a06101608401528051610b318161108a565b6101e08401520151604061020083015260018060a01b038151166102208301526020810151610240830152610140610c1a610b7e60408401516101e06102608701526104008601906110aa565b610c04610b9f60608601519261021f199384898303016102808a01526110aa565b602060808701518051610bb18161108a565b6102a08a0152015160606001600160801b0391828151166102c08b015260208101516102e08b0152826040820151166103008b015201511661032088015260a086015183888303016103408901526110aa565b9060c085015190868303016103608701526110aa565b60e08301516103808501526101008301516001600160a01b03166103a08501526101208301516103c08501529101516103e08301526101c051610c5c816110ea565b6101808301526101e0516001600160a01b039081166101a084015261020051166101c08301520390a1005b600435906001600160a01b038216820361022f57565b602435906001600160a01b038216820361022f57565b604435906001600160a01b038216820361022f57565b35906001600160a01b038216820361022f57565b60405190604082018281106001600160401b0382111761023457604052565b60405190606082018281106001600160401b0382111761023457604052565b6040519190601f01601f191682016001600160401b0381118382101761023457604052565b9291926001600160401b03821161023457610d64601f8301601f1916602001610d1b565b938285528282011161022f57816000926020928387013784010152565b9080601f8301121561022f57816020610d9c93359101610d40565b90565b35906001600160801b038216820361022f57565b6001600160401b0381116102345760051b60200190565b9190916101e090818185031261022f576040938451928301946001600160401b039584811087821117610234578152839583358552602091610e0d838601610cc9565b8387015280850135600581101561022f5781870152606085013560608701526080850135608087015260a085013560a087015260c085013560c087015260e085013560e08701526101008086013583811161022f5785610e6e918801610d81565b908701526101208086013583811161022f5785610e8c918801610d81565b908701526101408086013583811161022f5785610eaa918801610d81565b90870152610160928386013583811161022f5786019460608682031261022f57610ed2610cfc565b95803585811161022f57810182601f8201121561022f57803590610efd610ef883610db3565b610d1b565b91858084838152019160051b8301019185831161022f5786809101915b83831061103f575050505087528281013585811161022f57810182601f8201121561022f57803590610f4e610ef883610db3565b91858084838152019160051b8301019185831161022f5786809101915b8383106110275750915050880152838101359085821161022f57019080601f8301121561022f578135610fa0610ef882610db3565b95848088848152019260051b8501019383851161022f57858101925b858410610ff2575050505050505083015283015261018080820135908301526101a080820135908301526101c080910135910152565b833583811161022f57820185603f8201121561022f57879161101c87838c86809601359101610d40565b815201930192610fbc565b819061103284610cc9565b8152019101908690610f6b565b8235815291810191879101610f1a565b1561105657565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b6003111561109457565b634e487b7160e01b600052602160045260246000fd5b919082519283825260005b8481106110d6575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016110b5565b6002111561109457565b9060058210156110945752565b9091939260018060a01b0380931682526020948583015260606040830152805160608301528285820151166080830152611143604082015160a08401906110f4565b606081015160c0830152608081015160e083015260a081015190610100918284015260c081015191610120928385015260e0820151906101409182860152820151946101e090886111a161016098848a8a01526102408901906110aa565b95850151916111d96111c2605f1998610180958a8c830301878d01526110aa565b95870151956101a096898b830301888c01526110aa565b98860151906101c097898b0301888a015260608a0182519060608c5281518091528460808d0192019060005b8181106112cf5750505083808401519d8e8d828186039101525192838152019d01916000905b8282106112b6575050505060400151976040818c039101528751808b52818b019180808d8460051b01019a01926000905b838210611288575050505050610220959697985083015190860152810151610200850152015191015290565b909192939a83808f6001938f6112a792601f19908303018752516110aa565b9d01920192019093929161125c565b835181168f529d85019d9285019260019091019061122b565b825184528f96938401939092019160010161120556fea26469706673582212204d626b48ac03e52d51a10b121e605fc89d4544b9d33d83b037093e2bc0c5625864736f6c63430008120033"; type SubdaoEmitterConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/normalized_endowment/subdao/Token/ERC20.sol/NewERC20__factory.ts b/typechain-types/factories/contracts/normalized_endowment/subdao/Token/ERC20.sol/NewERC20__factory.ts index f375c514c..c8e4056c8 100644 --- a/typechain-types/factories/contracts/normalized_endowment/subdao/Token/ERC20.sol/NewERC20__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/subdao/Token/ERC20.sol/NewERC20__factory.ts @@ -367,27 +367,27 @@ const _abi = [ inputs: [ { internalType: "string", - name: "curName", + name: "name", type: "string", }, { internalType: "string", - name: "curSymbol", + name: "symbol", type: "string", }, { internalType: "address", - name: "curMintaddress", + name: "mintaddress", type: "address", }, { internalType: "uint256", - name: "curTotalmint", + name: "totalmint", type: "uint256", }, { internalType: "address", - name: "curAdmin", + name: "admin", type: "address", }, ], @@ -564,7 +564,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608080604052346100165761180f908161001c8239f35b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610e605750816306fdde0314610db6578163095ea7b314610d8c5781630ab751b3146107b257816318160ddd1461079357816323b872dd146106c7578163248a9ca31461069c5781632f2ff15d146105ef578163313ce567146105d357816336568abe1461054157816339509351146104f157816340c10f191461042957816370a08231146103f157816391d14854146103aa57816395d89b41146102c9578163a217fddf146102ae578163a457c2d714610206578163a9059cbb146101d5578163d53913931461019a578163d547741f14610157575063dd62ed3e1461010c57600080fd5b3461015357806003193601126101535780602092610128610f02565b610130610f1d565b6001600160a01b0391821683526034865283832091168252845220549051908152f35b5080fd5b91905034610196578060031936011261019657610193913561018e600161017c610f1d565b938387526065602052862001546114c3565b6115cd565b80f35b8280fd5b505034610153578160031936011261015357602090517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b5050346101535780600319360112610153576020906101ff6101f5610f02565b602435903361103b565b5160018152f35b905082346102ab57826003193601126102ab57610221610f02565b918360243592338152603460205281812060018060a01b038616825260205220549082821061025a576020856101ff85850387336111ab565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b50503461015357816003193601126101535751908152602090f35b505034610153578160031936011261015357805190826037546102eb81610fde565b808552916001918083169081156103825750600114610325575b50505061031782610321940383610f65565b5191829182610ed6565b0390f35b9450603785527f42a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae5b82861061036a575050506103178260206103219582010194610305565b8054602087870181019190915290950194810161034d565b61032197508693506020925061031794915060ff191682840152151560051b82010194610305565b9050346101965781600319360112610196578160209360ff926103cb610f1d565b90358252606586528282206001600160a01b039091168252855220549151911615158152f35b5050346101535760203660031901126101535760209181906001600160a01b03610419610f02565b1681526033845220549051908152f35b91905034610196578060031936011261019657610444610f02565b90602435916104516112ad565b6001600160a01b03169283156104af57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef926104948795603554611018565b6035558585526033835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b5050346101535780600319360112610153576101ff60209261053a610514610f02565b338352603486528483206001600160a01b03821684528652918490205460243590611018565b90336111ab565b8391503461015357826003193601126101535761055c610f1d565b90336001600160a01b03831603610578579061019391356115cd565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b5050346101535781600319360112610153576020905160128152f35b905034610196578160031936011261019657359061060b610f1d565b908284526065602052610623600182862001546114c3565b828452606560209081528185206001600160a01b039093168086529290528084205460ff1615610651578380f35b82845260656020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b9050346101965760203660031901126101965781602093600192358152606585522001549051908152f35b83915034610153576060366003190112610153576106e3610f02565b6106eb610f1d565b6001600160a01b03821684526034602090815285852033865290529284902054604435939260018201610727575b6020866101ff87878761103b565b8482106107505750918391610745602096956101ff950333836111ab565b919394819350610719565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346101535781600319360112610153576020906035549051908152f35b8383346101535760a03660031901126101535767ffffffffffffffff8335818111610d88576107e49036908601610f87565b602435828111610d84576107fb9036908701610f87565b946001600160a01b0391604435838116929190839003610d8057608435938416809403610d805786549460ff98898760081c161595868097610d74575b8015610d5e575b15610d0457899a6108dc9160019b9a9b9960ff19908a8d8d848416179055610cf3575b508b80528a8d60209d8e9460658652828220818352865286838320541615610cac575b507f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69485825260658152828220338352815286838320541615610c62575b5093505050505460081c166108d781611779565b611779565b8251828111610c4f57806108f1603654610fde565b94601f95868111610bdf575b508a908d878411600114610b5e5792610b53575b5050600019600383901b1c191690881b176036555b8051918211610b4057819061093c603754610fde565b848111610ad3575b508890848311600114610a54578b92610a49575b5050600019600383901b1c191690861b176037555b6109756112ad565b8215610a07575050857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856064356109af81603554611018565b603555848452603382528884208181540190558851908152a36109d0578380f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989261ff0019855416855551908152a18180808380f35b865162461bcd60e51b815291820186905260248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260649150fd5b015190508a80610958565b60378c528893507f42a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae9190601f1984168d5b8c828210610abd5750508411610aa4575b505050811b0160375561096d565b015160001960f88460031b161c191690558a8080610a96565b8385015186558c97909501949384019301610a85565b90915060378b527f42a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae8480850160051c8201928b8610610b37575b918a91869594930160051c01915b828110610b29575050610944565b8d81558594508a9101610b1b565b92508192610b0d565b634e487b7160e01b8a526041845260248afd5b015190508c80610911565b603681528b94507f4a11f94e20a93c79f6ec743a1954ec4fc2c08429ae2122118bf234b2185c81b8929190601f198516908e5b828210610bc85750508411610baf575b505050811b01603655610926565b015160001960f88460031b161c191690558c8080610ba1565b8385015186558e979095019493840193018e610b91565b90915060368d527f4a11f94e20a93c79f6ec743a1954ec4fc2c08429ae2122118bf234b2185c81b88680850160051c8201928d8610610c46575b859493910160051c909101908b908f5b838210610c38575050506108fd565b81558594508c91018f610c29565b92508192610c19565b634e487b7160e01b8b526041855260248bfd5b85825260658152828220903383525220918254161790558c33917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339280a48c808a8d8f8e6108c3565b81805260658652828220818352865282822084868254161790553390827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a438610885565b61ffff1916610101178c558e610862565b885162461bcd60e51b8152602081870152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561083f575060018b89161461083f565b5060018b891610610838565b8680fd5b8480fd5b8380fd5b5050346101535780600319360112610153576020906101ff610dac610f02565b60243590336111ab565b50503461015357816003193601126101535780519082603654610dd881610fde565b808552916001918083169081156103825750600114610e035750505061031782610321940383610f65565b9450603685527f4a11f94e20a93c79f6ec743a1954ec4fc2c08429ae2122118bf234b2185c81b85b828610610e48575050506103178260206103219582010194610305565b80546020878701810191909152909501948101610e2b565b849134610196576020366003190112610196573563ffffffff60e01b81168091036101965760209250637965db0b60e01b8114908115610ea2575b5015158152f35b6301ffc9a760e01b14905083610e9b565b60005b838110610ec65750506000910152565b8181015183820152602001610eb6565b60409160208252610ef68151809281602086015260208686019101610eb3565b601f01601f1916010190565b600435906001600160a01b0382168203610f1857565b600080fd5b602435906001600160a01b0382168203610f1857565b6080810190811067ffffffffffffffff821117610f4f57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610f4f57604052565b81601f82011215610f185780359067ffffffffffffffff8211610f4f5760405192610fbc601f8401601f191660200185610f65565b82845260208383010111610f1857816000926020809301838601378301015290565b90600182811c9216801561100e575b6020831014610ff857565b634e487b7160e01b600052602260045260246000fd5b91607f1691610fed565b9190820180921161102557565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03908116918215611158571691821561110757600082815260336020526040812054918083106110b357604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95876020965260338652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b0390811691821561125c571691821561120c5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260348252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b3360009081527fa0f6cebec7fb889cc5ac88647269c4c0108fb926abd2111b551f234b348876df60209081526040808320549092907f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69060ff16156113125750505050565b61131b3361166a565b84519161132783610f33565b604283528483019360603686378351156114af57603085538351906001918210156114af5790607860218601536041915b818311611441575050506113ff576113ad9385936113e5936113d66048946113fb9951988576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8b978801528251928391603789019101610eb3565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610eb3565b01036028810185520183610f65565b5162461bcd60e51b815291829160048301610ed6565b0390fd5b60648486519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561149b576f181899199a1a9b1b9c1cb0b131b232b360811b901a6114718588611643565b5360041c92801561148757600019019190611358565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b600081815260209060658252604092838220338352835260ff8483205416156114ec5750505050565b6114f53361166a565b84519161150183610f33565b604283528483019360603686378351156114af57603085538351906001918210156114af5790607860218601536041915b818311611587575050506113ff576113ad9385936113e5936113d66048946113fb9951988576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8b978801528251928391603789019101610eb3565b909192600f8116601081101561149b576f181899199a1a9b1b9c1cb0b131b232b360811b901a6115b78588611643565b5360041c92801561148757600019019190611532565b906000918083526065602052604083209160018060a01b03169182845260205260ff6040842054166115fe57505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015611654570160200190565b634e487b7160e01b600052603260045260246000fd5b604051906060820182811067ffffffffffffffff821117610f4f57604052602a82526020820160403682378251156116545760309053815160019081101561165457607860218401536029905b80821161170b5750506116c75790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015611764576f181899199a1a9b1b9c1cb0b131b232b360811b901a61173a8486611643565b5360041c91801561174f5760001901906116b7565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fd5b1561178057565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fdfea264697066735822122005afb1f3b935106fc4f94b1d327b58cf9498e5fb0fca9176109cb62223b02acf64736f6c63430008120033"; + "0x608080604052346100165761180f908161001c8239f35b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610e605750816306fdde0314610db6578163095ea7b314610d8c5781630ab751b3146107b257816318160ddd1461079357816323b872dd146106c7578163248a9ca31461069c5781632f2ff15d146105ef578163313ce567146105d357816336568abe1461054157816339509351146104f157816340c10f191461042957816370a08231146103f157816391d14854146103aa57816395d89b41146102c9578163a217fddf146102ae578163a457c2d714610206578163a9059cbb146101d5578163d53913931461019a578163d547741f14610157575063dd62ed3e1461010c57600080fd5b3461015357806003193601126101535780602092610128610f02565b610130610f1d565b6001600160a01b0391821683526034865283832091168252845220549051908152f35b5080fd5b91905034610196578060031936011261019657610193913561018e600161017c610f1d565b938387526065602052862001546114c3565b6115cd565b80f35b8280fd5b505034610153578160031936011261015357602090517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b5050346101535780600319360112610153576020906101ff6101f5610f02565b602435903361103b565b5160018152f35b905082346102ab57826003193601126102ab57610221610f02565b918360243592338152603460205281812060018060a01b038616825260205220549082821061025a576020856101ff85850387336111ab565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152fd5b80fd5b50503461015357816003193601126101535751908152602090f35b505034610153578160031936011261015357805190826037546102eb81610fde565b808552916001918083169081156103825750600114610325575b50505061031782610321940383610f65565b5191829182610ed6565b0390f35b9450603785527f42a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae5b82861061036a575050506103178260206103219582010194610305565b8054602087870181019190915290950194810161034d565b61032197508693506020925061031794915060ff191682840152151560051b82010194610305565b9050346101965781600319360112610196578160209360ff926103cb610f1d565b90358252606586528282206001600160a01b039091168252855220549151911615158152f35b5050346101535760203660031901126101535760209181906001600160a01b03610419610f02565b1681526033845220549051908152f35b91905034610196578060031936011261019657610444610f02565b90602435916104516112ad565b6001600160a01b03169283156104af57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef926104948795603554611018565b6035558585526033835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b5050346101535780600319360112610153576101ff60209261053a610514610f02565b338352603486528483206001600160a01b03821684528652918490205460243590611018565b90336111ab565b8391503461015357826003193601126101535761055c610f1d565b90336001600160a01b03831603610578579061019391356115cd565b608490602085519162461bcd60e51b8352820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152fd5b5050346101535781600319360112610153576020905160128152f35b905034610196578160031936011261019657359061060b610f1d565b908284526065602052610623600182862001546114c3565b828452606560209081528185206001600160a01b039093168086529290528084205460ff1615610651578380f35b82845260656020528084208285526020528320600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8480a43880808380f35b9050346101965760203660031901126101965781602093600192358152606585522001549051908152f35b83915034610153576060366003190112610153576106e3610f02565b6106eb610f1d565b6001600160a01b03821684526034602090815285852033865290529284902054604435939260018201610727575b6020866101ff87878761103b565b8482106107505750918391610745602096956101ff950333836111ab565b919394819350610719565b606490602087519162461bcd60e51b8352820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b5050346101535781600319360112610153576020906035549051908152f35b8383346101535760a03660031901126101535767ffffffffffffffff8335818111610d88576107e49036908601610f87565b602435828111610d84576107fb9036908701610f87565b946001600160a01b0391604435838116929190839003610d8057608435938416809403610d805786549460ff98898760081c161595868097610d74575b8015610d5e575b15610d0457899a6108dc9160019b9a9b9960ff19908a8d8d848416179055610cf3575b508b80528a8d60209d8e9460658652828220818352865286838320541615610cac575b507f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69485825260658152828220338352815286838320541615610c62575b5093505050505460081c166108d781611779565b611779565b8251828111610c4f57806108f1603654610fde565b94601f95868111610bdf575b508a908d878411600114610b5e5792610b53575b5050600019600383901b1c191690881b176036555b8051918211610b4057819061093c603754610fde565b848111610ad3575b508890848311600114610a54578b92610a49575b5050600019600383901b1c191690861b176037555b6109756112ad565b8215610a07575050857fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856064356109af81603554611018565b603555848452603382528884208181540190558851908152a36109d0578380f35b7f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989261ff0019855416855551908152a18180808380f35b865162461bcd60e51b815291820186905260248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260649150fd5b015190508a80610958565b60378c528893507f42a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae9190601f1984168d5b8c828210610abd5750508411610aa4575b505050811b0160375561096d565b015160001960f88460031b161c191690558a8080610a96565b8385015186558c97909501949384019301610a85565b90915060378b527f42a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae8480850160051c8201928b8610610b37575b918a91869594930160051c01915b828110610b29575050610944565b8d81558594508a9101610b1b565b92508192610b0d565b634e487b7160e01b8a526041845260248afd5b015190508c80610911565b603681528b94507f4a11f94e20a93c79f6ec743a1954ec4fc2c08429ae2122118bf234b2185c81b8929190601f198516908e5b828210610bc85750508411610baf575b505050811b01603655610926565b015160001960f88460031b161c191690558c8080610ba1565b8385015186558e979095019493840193018e610b91565b90915060368d527f4a11f94e20a93c79f6ec743a1954ec4fc2c08429ae2122118bf234b2185c81b88680850160051c8201928d8610610c46575b859493910160051c909101908b908f5b838210610c38575050506108fd565b81558594508c91018f610c29565b92508192610c19565b634e487b7160e01b8b526041855260248bfd5b85825260658152828220903383525220918254161790558c33917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339280a48c808a8d8f8e6108c3565b81805260658652828220818352865282822084868254161790553390827f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a438610885565b61ffff1916610101178c558e610862565b885162461bcd60e51b8152602081870152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608490fd5b50303b15801561083f575060018b89161461083f565b5060018b891610610838565b8680fd5b8480fd5b8380fd5b5050346101535780600319360112610153576020906101ff610dac610f02565b60243590336111ab565b50503461015357816003193601126101535780519082603654610dd881610fde565b808552916001918083169081156103825750600114610e035750505061031782610321940383610f65565b9450603685527f4a11f94e20a93c79f6ec743a1954ec4fc2c08429ae2122118bf234b2185c81b85b828610610e48575050506103178260206103219582010194610305565b80546020878701810191909152909501948101610e2b565b849134610196576020366003190112610196573563ffffffff60e01b81168091036101965760209250637965db0b60e01b8114908115610ea2575b5015158152f35b6301ffc9a760e01b14905083610e9b565b60005b838110610ec65750506000910152565b8181015183820152602001610eb6565b60409160208252610ef68151809281602086015260208686019101610eb3565b601f01601f1916010190565b600435906001600160a01b0382168203610f1857565b600080fd5b602435906001600160a01b0382168203610f1857565b6080810190811067ffffffffffffffff821117610f4f57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff821117610f4f57604052565b81601f82011215610f185780359067ffffffffffffffff8211610f4f5760405192610fbc601f8401601f191660200185610f65565b82845260208383010111610f1857816000926020809301838601378301015290565b90600182811c9216801561100e575b6020831014610ff857565b634e487b7160e01b600052602260045260246000fd5b91607f1691610fed565b9190820180921161102557565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03908116918215611158571691821561110757600082815260336020526040812054918083106110b357604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef95876020965260338652038282205586815220818154019055604051908152a3565b60405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608490fd5b60405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608490fd5b60405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608490fd5b6001600160a01b0390811691821561125c571691821561120c5760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260348252604060002085600052825280604060002055604051908152a3565b60405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608490fd5b60405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608490fd5b3360009081527fa0f6cebec7fb889cc5ac88647269c4c0108fb926abd2111b551f234b348876df60209081526040808320549092907f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a69060ff16156113125750505050565b61131b3361166a565b84519161132783610f33565b604283528483019360603686378351156114af57603085538351906001918210156114af5790607860218601536041915b818311611441575050506113ff576113ad9385936113e5936113d66048946113fb9951988576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8b978801528251928391603789019101610eb3565b8401917001034b99036b4b9b9b4b733903937b6329607d1b603784015251809386840190610eb3565b01036028810185520183610f65565b5162461bcd60e51b815291829160048301610ed6565b0390fd5b60648486519062461bcd60e51b825280600483015260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b909192600f8116601081101561149b576f181899199a1a9b1b9c1cb0b131b232b360811b901a6114718588611643565b5360041c92801561148757600019019190611358565b634e487b7160e01b82526011600452602482fd5b634e487b7160e01b83526032600452602483fd5b634e487b7160e01b81526032600452602490fd5b600081815260209060658252604092838220338352835260ff8483205416156114ec5750505050565b6114f53361166a565b84519161150183610f33565b604283528483019360603686378351156114af57603085538351906001918210156114af5790607860218601536041915b818311611587575050506113ff576113ad9385936113e5936113d66048946113fb9951988576020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b8b978801528251928391603789019101610eb3565b909192600f8116601081101561149b576f181899199a1a9b1b9c1cb0b131b232b360811b901a6115b78588611643565b5360041c92801561148757600019019190611532565b906000918083526065602052604083209160018060a01b03169182845260205260ff6040842054166115fe57505050565b8083526065602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4565b908151811015611654570160200190565b634e487b7160e01b600052603260045260246000fd5b604051906060820182811067ffffffffffffffff821117610f4f57604052602a82526020820160403682378251156116545760309053815160019081101561165457607860218401536029905b80821161170b5750506116c75790565b606460405162461bcd60e51b815260206004820152602060248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152fd5b9091600f81166010811015611764576f181899199a1a9b1b9c1cb0b131b232b360811b901a61173a8486611643565b5360041c91801561174f5760001901906116b7565b60246000634e487b7160e01b81526011600452fd5b60246000634e487b7160e01b81526032600452fd5b1561178057565b60405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201526a6e697469616c697a696e6760a81b6064820152608490fdfea2646970667358221220306babd102921c567cbeb5bebc82c68b0f1c1c2ffc22306224edc0d3d084339f64736f6c63430008120033"; type NewERC20ConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/normalized_endowment/subdao/subdao.sol/SubDaoLib__factory.ts b/typechain-types/factories/contracts/normalized_endowment/subdao/subdao.sol/SubDaoLib__factory.ts index a4064aee6..1efcbb84d 100644 --- a/typechain-types/factories/contracts/normalized_endowment/subdao/subdao.sol/SubDaoLib__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/subdao/subdao.sol/SubDaoLib__factory.ts @@ -14,17 +14,17 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curVeaddr", + name: "veAddr", type: "address", }, { internalType: "address", - name: "curAddress", + name: "targetAddr", type: "address", }, { internalType: "uint256", - name: "curBlocknumber", + name: "blocknumber", type: "uint256", }, ], @@ -43,12 +43,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curVeaddr", + name: "veaddr", type: "address", }, { internalType: "uint256", - name: "curBlocknumber", + name: "blocknumber", type: "uint256", }, ], @@ -86,7 +86,7 @@ const _abi = [ inputs: [ { internalType: "string", - name: "curDescription", + name: "description", type: "string", }, ], @@ -105,7 +105,7 @@ const _abi = [ inputs: [ { internalType: "string", - name: "curLink", + name: "link", type: "string", }, ], @@ -124,7 +124,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curQuorum", + name: "quorum", type: "uint256", }, ], @@ -143,7 +143,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curThreshold", + name: "threshold", type: "uint256", }, ], @@ -162,7 +162,7 @@ const _abi = [ inputs: [ { internalType: "string", - name: "curTitle", + name: "title", type: "string", }, ], @@ -180,49 +180,25 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001d57613f6090816100238239308161049e0152f35b600080fdfe608060405260043610156200001357600080fd5b6000803560e01c80630326c06b146200153c57806313708d9914620014a6578063463e604f146200049a5780637365e751146200043057806375ea6969146200037557806387f672b2146200030b578063a69722de146200022e578063cabf798f14620001605763de6f9cf2146200008a57600080fd5b60203660031901126200015d576004356001600160401b0381116200015957620000b9903690600401620015f0565b6004620000c682620016bd565b11156200012257620000da604091620016bd565b1015620000ec57602060405160018152f35b60405162461bcd60e51b815260206004820152600e60248201526d5469746c6520746f6f206c6f6e6760901b6044820152606490fd5b60405162461bcd60e51b815260206004820152600f60248201526e151a5d1b19481d1bdbc81cda1bdc9d608a1b6044820152606490fd5b5080fd5b80fd5b5060203660031901126200015d576004356001600160401b038111620001595762000190903690600401620015f0565b600c6200019d82620016bd565b1115620001f857620001b1608091620016bd565b1015620001c357602060405160018152f35b60405162461bcd60e51b815260206004820152600d60248201526c4c696e6b20746f6f206c6f6e6760981b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d131a5b9ac81d1bdbc81cda1bdc9d60921b6044820152606490fd5b5060203660031901126200015d576004356001600160401b03811162000159576200025e903690600401620015f0565b60046200026b82620016bd565b1115620002ce576200028061040091620016bd565b10156200029257602060405160018152f35b60405162461bcd60e51b81526020600482015260146024820152734465736372697074696f6e20746f6f206c6f6e6760601b6044820152606490fd5b60405162461bcd60e51b815260206004820152601560248201527411195cd8dc9a5c1d1a5bdb881d1bdbc81cda1bdc9d605a1b6044820152606490fd5b5060203660031901126200015d57606460043510156200033057602060405160018152f35b60405162461bcd60e51b815260206004820152601760248201527f71756f72756d206d757374206265203020746f203130300000000000000000006044820152606490fd5b5060603660031901126200015d576200038d6200164b565b6001600160a01b039190602435838116919082900362000416576044602092604051958693849263277166bf60e11b8452600484015283356024840152165afa908115620004245790620003e7575b602090604051908152f35b506020813d82116200041b575b816200040360209383620015ce565b81010312620004165760209051620003dc565b600080fd5b3d9150620003f4565b604051903d90823e3d90fd5b5060203660031901126200015d57606460043510156200045557602060405160018152f35b60405162461bcd60e51b815260206004820152601a60248201527f7468726573686f6c64206d757374206265203020746f203130300000000000006044820152606490fd5b50307f0000000000000000000000000000000000000000000000000000000000000000146200015d5760031960a0368201126200015957600435906001600160401b038211620014a2576040818336030112620014a25760405191620005008362001580565b806004013560038110156200148f57835260248101356001600160401b0381116200148f576101e08183013603938401126200148f576040519261016084018481106001600160401b038211176200147b576040526200056560048385010162001662565b845282820160248101356020860152604401356001600160401b03811162001477576200059b90600436918587010101620015f0565b6040850152606482840101356001600160401b0381116200147757620005ca90600436918587010101620015f0565b606085015260a0608319820112620014255760405190620005eb8262001580565b608483850101359060038210156200149e57608091835260a319011262001425576040518060808101106001600160401b036080830111176200147b57608081016040526200063f60a48486010162001677565b815283830160c481013560208301526200065c9060e40162001677565b6040820152620006726101048486010162001677565b60608201526020820152608084015261012481830101356001600160401b0381116200142557620006ac90600436918486010101620015f0565b60a08401526101448183010135916001600160401b0383116200142557620006e06101c493600436918585010101620015f0565b60c085015280820161016481013560e086015262000702906101840162001662565b610100850152016101a4810135610120840152013561014082015260208201526003602435101562000159576044356001600160a01b038116900362000159576084356001600160a01b038116900362000159576064355460405163e68f909d60e01b815291908390839060049082906001600160a01b03165afa9182156200149357839262000f50575b5080516200079b816200180e565b620007a6816200180e565b158062000f36575b1562000b3b576102a08201515160018060a01b036020830151511660405180926312f1ee0960e01b825260448201604060048401528151809152602060648401920190885b81811062000b185750505081906020936024830152038173__$2e6ee47b30d794e0597b4af30f16ddb84c$__5af490811562000b0d57849162000ac7575b501562000a8d57602001515160643560020180546001600160a01b0319166001600160a01b03929092169190911790555b60026064350154604051639065714760e01b60208201526001600160a01b03909116602482015260606044820152600560848201526404c563930360dc1b60a4820152620008e581620008d660c48201828103602319016064840152600581526404c563930360dc1b602082015260400190565b03601f198101835282620015ce565b6104008201516103a090920151604051926001600160a01b0391821691166001600160401b03610cb285019081119085111762000a79579162000938918493610cb2620019158639610cb28501620018e6565b039082f0801562000a6c5760643560030180546001600160a01b0319166001600160a01b0383811691909117909155608435163b15620001595760405163f79aa74560e01b81526064803580546001600160a01b0390811660048086019190915260018301548216602486015260028301548216604486015294811692840192909252928301548116608480840191909152600584015460a4840152600684015460c4840152600784015460e484015260088401546101048401526009840154610124840152600a840154610144840152600b9093015461016483015290918391839161018491839185919035165af1801562000a615762000a38575080f35b6001600160401b03811162000a4d5760405280f35b634e487b7160e01b82526041600452602482fd5b6040513d84823e3d90fd5b50604051903d90823e3d90fd5b634e487b7160e01b85526041600452602485fd5b60405162461bcd60e51b81526020600482015260126024820152714e6f74496e417070726f766564436f696e7360701b6044820152606490fd5b90506020813d60201162000b04575b8162000ae560209383620015ce565b8101031262000b005762000af99062001800565b3862000831565b8380fd5b3d915062000ad6565b6040513d86823e3d90fd5b82516001600160a01b0316845286945060209384019390920191600101620007f3565b6001815162000b4a816200180e565b62000b55816200180e565b148062000f1c575b1562000c865762000bec602062000baa92015160408101519062000bbd6020606083015192015191604051958694630ab751b360e01b602087015260a0602487015260c48601906200182f565b848103602319016044860152906200182f565b6044356001600160a01b03166064840152608483019190915260a4820186905203601f198101835282620015ce565b60c08201516103a083015160405192916001600160a01b0391821691166001600160401b03610cb285019081119085111762000c72579162000c3e918493610cb2620025c78639610cb28501620018e6565b039083f0801562000a615760643560020180546001600160a01b0319166001600160a01b0390921691909117905562000862565b634e487b7160e01b86526041600452602486fd5b6002815162000c95816200180e565b62000ca0816200180e565b148062000f02575b1562000d955762000d43816020620008d693015160a08101519160c0820151916101406020608060018060a01b0361010085015116930151519362000ced856200180e565b01510151926040519462000d0186620015b2565b85526020850152604084015262000d18816200180e565b606083015260808201526040516326cd832b60e21b6020820152928391608435906024840162001871565b60e08201516103a083015160405192916001600160a01b0391821691166001600160401b03610cb285019081119085111762000c72579162000c3e918493610cb2620032798639610cb28501620018e6565b6002815162000da4816200180e565b62000daf816200180e565b148062000eea575b1562000eb5576101e08201516001600160a01b03161562000e605762000d436020620008d692015160a08101519060c081015190608060018060a01b036101e088015116910151519162000e0b836200180e565b6040519362000e1a85620015b2565b84526020840152604083015262000e31816200180e565b6060820152621baf8060808201526040516326cd832b60e21b6020820152928391608435906024840162001871565b60405162461bcd60e51b815260206004820152602760248201527f52656769737472617227732048414c4f20746f6b656e206164647265737320696044820152667320656d70747960c81b6064820152608490fd5b60405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964496e7075747360981b6044820152606490fd5b5062000ef86024356200180e565b6024351562000db7565b5062000f106024356200180e565b60016024351462000ca8565b5062000f2a6024356200180e565b60016024351462000b5d565b5062000f446024356200180e565b600160243514620007ae565b9091503d8084833e62000f648183620015ce565b602082828101031262000b005781516001600160401b0381116200148f576104e081840183850103126200148f5760405192836104208101106001600160401b036104208601111762000c7257610420840160405262000fc6828201620017eb565b845262000fd8602083830101620017eb565b602085015262000fed604083830101620017eb565b604085015262001002606083830101620017eb565b606085015262001017608083830101620017eb565b60808501526200102c60a083830101620017eb565b60a08501526200104160c083830101620017eb565b60c08501526200105660e083830101620017eb565b60e08501526200106c61010083830101620017eb565b6101008501526200108361012083830101620017eb565b6101208501526200109a61014083830101620017eb565b610140850152620010b161016083830101620017eb565b610160850152610180620010c98184840101620017eb565b908501526101a0620010df8184840101620017eb565b908501526060818301848301036101bf19011262001425576040518060608101106001600160401b036060830111176200147b57606081016040526101c09081848401015181526101e084840101516020820152610200918285850101516040830152860152610220620011578185850101620017eb565b6101e087015261024091620011708386860101620017eb565b9087015261026090620011878286860101620017eb565b90870152610280916200119e8386860101620017eb565b908701526102a0848401015190860152620011bf6102c084840101620017eb565b908501526102e082820101516001600160401b03811162001477576020818484010185840103126200147757604051908160208101106001600160401b036020840111176200146357602082016040528084840101516001600160401b0381116200145f57858401601f828488880101010112156200145f578082868601010151906001600160401b0382116200144b578160051b91620012676020840160208701620015ce565b6020850152604084019187860160208284878b8b01010101011162001447578587018401820160200192915b60208282878b8b01010101018410620014295750505050506020810181526102a085015260a061030093620012cc8585850101620017eb565b6102c08701528284019083010361031f190112620014255762001419916104c09160405194620012fc86620015b2565b610320906200130f828585010162001800565b87526103409662001324888686010162001800565b6020820152838501610360818101516040840152610380916200134990830162001800565b60608401526103a09283888801015160808201526102e08c01526103c093620013768589890101620017eb565b908c01526103e0946200138d8689890101620017eb565b908c015261040099620013a48b89890101620017eb565b908c0152620013b961042088880101620017eb565b908b0152620013ce61044087870101620017eb565b908a0152620013e361046086860101620017eb565b90890152620013f861048085850101620017eb565b908801526200140d6104a084840101620017eb565b908701520101620017eb565b9082015290386200078d565b8580fd5b60208080946200143987620017eb565b815201940193925062001293565b8a80fd5b634e487b7160e01b8a52604160045260248afd5b8880fd5b634e487b7160e01b88526041600452602488fd5b8680fd5b634e487b7160e01b87526041600452602487fd5b8480fd5b6040513d85823e3d90fd5b8780fd5b8280fd5b5060403660031901126200015d5760246020620014c26200164b565b604051630981b24d60e41b81528335600482015292839182906001600160a01b03165afa90811562000a6157829162001501575b602082604051908152f35b90506020813d821162001533575b816200151e60209383620015ce565b810103126200015957602091505138620014f6565b3d91506200150f565b5060203660031901126200015d57600435906001600160401b0382116200015d57602062001578620015723660048601620015f0565b620016bd565b604051908152f35b604081019081106001600160401b038211176200159c57604052565b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b038211176200159c57604052565b90601f801991011681019081106001600160401b038211176200159c57604052565b81601f8201121562000416578035906001600160401b0382116200159c576040519262001628601f8401601f191660200185620015ce565b828452602083830101116200041657816000926020809301838601378301015290565b600435906001600160a01b03821682036200041657565b35906001600160a01b03821682036200041657565b35906fffffffffffffffffffffffffffffffff821682036200041657565b908151811015620016a7570160200190565b634e487b7160e01b600052603260045260246000fd5b60008091825b8151811015620017e457600160f81b620016de828462001695565b5160071c166200171e57600181018091116200170a57915b60001981146200170a5760010191620016c3565b634e487b7160e01b84526011600452602484fd5b600360f91b600760f81b62001734838562001695565b5160051c16036200175257600281018091116200170a5791620016f6565b6200175e818362001695565b51600490811c600f60f81b16600760f91b036200179c576003820180921162001789575091620016f6565b634e487b7160e01b855260119052602484fd5b600f60f91b601f60f81b620017b2848662001695565b5160031c1603620017d05780820180921162001789575091620016f6565b6001820180921162001789575091620016f6565b5050919050565b51906001600160a01b03821682036200041657565b519081151582036200041657565b600311156200181957565b634e487b7160e01b600052602160045260246000fd5b919082519283825260005b8481106200185c575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016200183a565b9060209093929360408352620018ae62001898825160a0604087015260e08601906200182f565b82840151858203603f190160608701526200182f565b608060018060a01b039283604082015116828701526060810151620018d3816200180e565b60a0870152015160c08501529416910152565b6001600160a01b0391821681529116602082015260606040820181905262001911929101906200182f565b9056fe604060808152346200030c5762000cb2803803806200001e8162000311565b9283398101906060818303126200030c576200003a816200034d565b916020926200004b8484016200034d565b8584015190936001600160401b0391908282116200030c57019280601f850112156200030c5783519362000089620000838662000362565b62000311565b94808652878601928882840101116200030c578288620000aa93016200037e565b823b15620002b2577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03199081166001600160a01b0386811691821790935590959194600093909290917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2805115801590620002aa575b620001fb575b50505050507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103937f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f86865493815196818616885216958684820152a18315620001a95750161790555161085590816200045d8239f35b60849086519062461bcd60e51b82526004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b895194606086019081118682101762000296578a52602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c89860152660819985a5b195960ca1b8a86015251620002809493929183918291845af4903d156200028c573d62000270620000838262000362565b90815280938a3d92013e620003a3565b50388080808062000133565b60609250620003a3565b634e487b7160e01b85526041600452602485fd5b50836200012d565b865162461bcd60e51b815260048101879052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033757604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200030c57565b6001600160401b0381116200033757601f01601f191660200190565b60005b838110620003925750506000910152565b818101518382015260200162000381565b91929015620004085750815115620003b9575090565b3b15620003c35790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156200041c5750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526200044e81518092816024860152602086860191016200037e565b601f01601f19168101030190fdfe60806040526004361015610018575b366100a6576100a6565b6000803560e01c80636e9960c3146100725763aaf10f421461003a575061000e565b3461006f578060031936011261006f57600080516020610800833981519152546040516001600160a01b039091168152602090f35b80fd5b503461006f578060031936011261006f576000805160206107e0833981519152546001600160a01b03166080908152602090f35b6000805160206107e0833981519152546001600160a01b031633036101c6576000356001600160e01b031916631b2ce7f360e11b81036100f157506100e9610426565b602081519101f35b63278f794360e11b810361010d57506101086105c8565b6100e9565b6308f2839760e41b81036101245750610108610350565b6303e1469160e61b810361013b5750610108610275565b635c60da1b60e01b03610150576101086102ae565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a490fd5b60008051602061080083398151915254600090819081906001600160a01b0316368280378136915af43d82803e156101fc573d90f35b3d90fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761023257604052565b610200565b6020810190811067ffffffffffffffff82111761023257604052565b90601f8019910116810190811067ffffffffffffffff82111761023257604052565b61027d610659565b60018060a01b036000805160206107e08339815191525416604051906020820152602081526102ab81610216565b90565b6102b6610659565b60018060a01b036000805160206108008339815191525416604051906020820152602081526102ab81610216565b600435906001600160a01b03821682036102fa57565b600080fd5b60209060031901126102fa576004356001600160a01b03811681036102fa5790565b67ffffffffffffffff811161023257601f01601f191660200190565b6040519061034a82610237565b60008252565b610358610659565b366004116102fa576001600160a01b0380610372366102ff565b166000805160206107e0833981519152917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f604084549281519084168152846020820152a181156103d2576001600160a01b0319161790556102ab61033d565b60405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b61042e610659565b366004116102fa576001600160a01b03610447366102ff565b166040519061045582610237565b60008252803b156104ec5760008051602061080083398151915280546001600160a01b03191682179055807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906104e4575b6104ca575b50506040516104c381610237565b6000815290565b6104dc916104d6610660565b916106ba565b5038806104b5565b5060006104b0565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b803b156104ec5760008051602061080083398151915280546001600160a01b0319166001600160a01b0383169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906105c0575b6105b1575050565b6105bd916104d6610660565b50565b5060016105a9565b366004116102fa5760403660031901126102fa576105e46102e4565b6024359067ffffffffffffffff82116102fa57366023830112156102fa5781600401359061061182610321565b9161061f6040519384610253565b80835236602482860101116102fa576020816000926024610651970183870137840101526001600160a01b0316610547565b6102ab61033d565b346102fa57565b604051906060820182811067ffffffffffffffff8211176102325760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b6000806102ab9493602081519101845af43d156106f9573d916106dc83610321565b926106ea6040519485610253565b83523d6000602085013e61074d565b60609161074d565b1561070857565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9192901561076d5750815115610761575090565b6102ab903b1515610701565b8251909150156107805750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106107c6575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506107a356feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c61acf3b60fe54f1c7b5e35eb3227d4fadb64a46e27a14985085e09c0322a78c64736f6c63430008120033604060808152346200030c5762000cb2803803806200001e8162000311565b9283398101906060818303126200030c576200003a816200034d565b916020926200004b8484016200034d565b8584015190936001600160401b0391908282116200030c57019280601f850112156200030c5783519362000089620000838662000362565b62000311565b94808652878601928882840101116200030c578288620000aa93016200037e565b823b15620002b2577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03199081166001600160a01b0386811691821790935590959194600093909290917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2805115801590620002aa575b620001fb575b50505050507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103937f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f86865493815196818616885216958684820152a18315620001a95750161790555161085590816200045d8239f35b60849086519062461bcd60e51b82526004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b895194606086019081118682101762000296578a52602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c89860152660819985a5b195960ca1b8a86015251620002809493929183918291845af4903d156200028c573d62000270620000838262000362565b90815280938a3d92013e620003a3565b50388080808062000133565b60609250620003a3565b634e487b7160e01b85526041600452602485fd5b50836200012d565b865162461bcd60e51b815260048101879052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033757604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200030c57565b6001600160401b0381116200033757601f01601f191660200190565b60005b838110620003925750506000910152565b818101518382015260200162000381565b91929015620004085750815115620003b9575090565b3b15620003c35790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156200041c5750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526200044e81518092816024860152602086860191016200037e565b601f01601f19168101030190fdfe60806040526004361015610018575b366100a6576100a6565b6000803560e01c80636e9960c3146100725763aaf10f421461003a575061000e565b3461006f578060031936011261006f57600080516020610800833981519152546040516001600160a01b039091168152602090f35b80fd5b503461006f578060031936011261006f576000805160206107e0833981519152546001600160a01b03166080908152602090f35b6000805160206107e0833981519152546001600160a01b031633036101c6576000356001600160e01b031916631b2ce7f360e11b81036100f157506100e9610426565b602081519101f35b63278f794360e11b810361010d57506101086105c8565b6100e9565b6308f2839760e41b81036101245750610108610350565b6303e1469160e61b810361013b5750610108610275565b635c60da1b60e01b03610150576101086102ae565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a490fd5b60008051602061080083398151915254600090819081906001600160a01b0316368280378136915af43d82803e156101fc573d90f35b3d90fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761023257604052565b610200565b6020810190811067ffffffffffffffff82111761023257604052565b90601f8019910116810190811067ffffffffffffffff82111761023257604052565b61027d610659565b60018060a01b036000805160206107e08339815191525416604051906020820152602081526102ab81610216565b90565b6102b6610659565b60018060a01b036000805160206108008339815191525416604051906020820152602081526102ab81610216565b600435906001600160a01b03821682036102fa57565b600080fd5b60209060031901126102fa576004356001600160a01b03811681036102fa5790565b67ffffffffffffffff811161023257601f01601f191660200190565b6040519061034a82610237565b60008252565b610358610659565b366004116102fa576001600160a01b0380610372366102ff565b166000805160206107e0833981519152917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f604084549281519084168152846020820152a181156103d2576001600160a01b0319161790556102ab61033d565b60405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b61042e610659565b366004116102fa576001600160a01b03610447366102ff565b166040519061045582610237565b60008252803b156104ec5760008051602061080083398151915280546001600160a01b03191682179055807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906104e4575b6104ca575b50506040516104c381610237565b6000815290565b6104dc916104d6610660565b916106ba565b5038806104b5565b5060006104b0565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b803b156104ec5760008051602061080083398151915280546001600160a01b0319166001600160a01b0383169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906105c0575b6105b1575050565b6105bd916104d6610660565b50565b5060016105a9565b366004116102fa5760403660031901126102fa576105e46102e4565b6024359067ffffffffffffffff82116102fa57366023830112156102fa5781600401359061061182610321565b9161061f6040519384610253565b80835236602482860101116102fa576020816000926024610651970183870137840101526001600160a01b0316610547565b6102ab61033d565b346102fa57565b604051906060820182811067ffffffffffffffff8211176102325760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b6000806102ab9493602081519101845af43d156106f9573d916106dc83610321565b926106ea6040519485610253565b83523d6000602085013e61074d565b60609161074d565b1561070857565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9192901561076d5750815115610761575090565b6102ab903b1515610701565b8251909150156107805750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106107c6575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506107a356feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c61acf3b60fe54f1c7b5e35eb3227d4fadb64a46e27a14985085e09c0322a78c64736f6c63430008120033604060808152346200030c5762000cb2803803806200001e8162000311565b9283398101906060818303126200030c576200003a816200034d565b916020926200004b8484016200034d565b8584015190936001600160401b0391908282116200030c57019280601f850112156200030c5783519362000089620000838662000362565b62000311565b94808652878601928882840101116200030c578288620000aa93016200037e565b823b15620002b2577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03199081166001600160a01b0386811691821790935590959194600093909290917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2805115801590620002aa575b620001fb575b50505050507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103937f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f86865493815196818616885216958684820152a18315620001a95750161790555161085590816200045d8239f35b60849086519062461bcd60e51b82526004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b895194606086019081118682101762000296578a52602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c89860152660819985a5b195960ca1b8a86015251620002809493929183918291845af4903d156200028c573d62000270620000838262000362565b90815280938a3d92013e620003a3565b50388080808062000133565b60609250620003a3565b634e487b7160e01b85526041600452602485fd5b50836200012d565b865162461bcd60e51b815260048101879052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033757604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200030c57565b6001600160401b0381116200033757601f01601f191660200190565b60005b838110620003925750506000910152565b818101518382015260200162000381565b91929015620004085750815115620003b9575090565b3b15620003c35790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156200041c5750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526200044e81518092816024860152602086860191016200037e565b601f01601f19168101030190fdfe60806040526004361015610018575b366100a6576100a6565b6000803560e01c80636e9960c3146100725763aaf10f421461003a575061000e565b3461006f578060031936011261006f57600080516020610800833981519152546040516001600160a01b039091168152602090f35b80fd5b503461006f578060031936011261006f576000805160206107e0833981519152546001600160a01b03166080908152602090f35b6000805160206107e0833981519152546001600160a01b031633036101c6576000356001600160e01b031916631b2ce7f360e11b81036100f157506100e9610426565b602081519101f35b63278f794360e11b810361010d57506101086105c8565b6100e9565b6308f2839760e41b81036101245750610108610350565b6303e1469160e61b810361013b5750610108610275565b635c60da1b60e01b03610150576101086102ae565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a490fd5b60008051602061080083398151915254600090819081906001600160a01b0316368280378136915af43d82803e156101fc573d90f35b3d90fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761023257604052565b610200565b6020810190811067ffffffffffffffff82111761023257604052565b90601f8019910116810190811067ffffffffffffffff82111761023257604052565b61027d610659565b60018060a01b036000805160206107e08339815191525416604051906020820152602081526102ab81610216565b90565b6102b6610659565b60018060a01b036000805160206108008339815191525416604051906020820152602081526102ab81610216565b600435906001600160a01b03821682036102fa57565b600080fd5b60209060031901126102fa576004356001600160a01b03811681036102fa5790565b67ffffffffffffffff811161023257601f01601f191660200190565b6040519061034a82610237565b60008252565b610358610659565b366004116102fa576001600160a01b0380610372366102ff565b166000805160206107e0833981519152917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f604084549281519084168152846020820152a181156103d2576001600160a01b0319161790556102ab61033d565b60405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b61042e610659565b366004116102fa576001600160a01b03610447366102ff565b166040519061045582610237565b60008252803b156104ec5760008051602061080083398151915280546001600160a01b03191682179055807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906104e4575b6104ca575b50506040516104c381610237565b6000815290565b6104dc916104d6610660565b916106ba565b5038806104b5565b5060006104b0565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b803b156104ec5760008051602061080083398151915280546001600160a01b0319166001600160a01b0383169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906105c0575b6105b1575050565b6105bd916104d6610660565b50565b5060016105a9565b366004116102fa5760403660031901126102fa576105e46102e4565b6024359067ffffffffffffffff82116102fa57366023830112156102fa5781600401359061061182610321565b9161061f6040519384610253565b80835236602482860101116102fa576020816000926024610651970183870137840101526001600160a01b0316610547565b6102ab61033d565b346102fa57565b604051906060820182811067ffffffffffffffff8211176102325760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b6000806102ab9493602081519101845af43d156106f9573d916106dc83610321565b926106ea6040519485610253565b83523d6000602085013e61074d565b60609161074d565b1561070857565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9192901561076d5750815115610761575090565b6102ab903b1515610701565b8251909150156107805750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106107c6575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506107a356feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220c61acf3b60fe54f1c7b5e35eb3227d4fadb64a46e27a14985085e09c0322a78c64736f6c63430008120033a26469706673582212200b39e786e686c01db9595f391a9af06cb225f2861be19f66e5c4876f7395577664736f6c63430008120033"; + "0x6080806040523461001d57613cc890816100238239308161049e0152f35b600080fdfe608060405260043610156200001357600080fd5b6000803560e01c80630326c06b14620012b257806313708d99146200121c578063463e604f146200049a5780637365e751146200043057806375ea6969146200037557806387f672b2146200030b578063a69722de146200022e578063cabf798f14620001605763de6f9cf2146200008a57600080fd5b60203660031901126200015d576004356001600160401b0381116200015957620000b990369060040162001366565b6004620000c68262001433565b11156200012257620000da60409162001433565b1015620000ec57602060405160018152f35b60405162461bcd60e51b815260206004820152600e60248201526d5469746c6520746f6f206c6f6e6760901b6044820152606490fd5b60405162461bcd60e51b815260206004820152600f60248201526e151a5d1b19481d1bdbc81cda1bdc9d608a1b6044820152606490fd5b5080fd5b80fd5b5060203660031901126200015d576004356001600160401b03811162000159576200019090369060040162001366565b600c6200019d8262001433565b1115620001f857620001b160809162001433565b1015620001c357602060405160018152f35b60405162461bcd60e51b815260206004820152600d60248201526c4c696e6b20746f6f206c6f6e6760981b6044820152606490fd5b60405162461bcd60e51b815260206004820152600e60248201526d131a5b9ac81d1bdbc81cda1bdc9d60921b6044820152606490fd5b5060203660031901126200015d576004356001600160401b03811162000159576200025e90369060040162001366565b60046200026b8262001433565b1115620002ce57620002806104009162001433565b10156200029257602060405160018152f35b60405162461bcd60e51b81526020600482015260146024820152734465736372697074696f6e20746f6f206c6f6e6760601b6044820152606490fd5b60405162461bcd60e51b815260206004820152601560248201527411195cd8dc9a5c1d1a5bdb881d1bdbc81cda1bdc9d605a1b6044820152606490fd5b5060203660031901126200015d57606460043510156200033057602060405160018152f35b60405162461bcd60e51b815260206004820152601760248201527f71756f72756d206d757374206265203020746f203130300000000000000000006044820152606490fd5b5060603660031901126200015d576200038d620013c1565b6001600160a01b039190602435838116919082900362000416576044602092604051958693849263277166bf60e11b8452600484015283356024840152165afa908115620004245790620003e7575b602090604051908152f35b506020813d82116200041b575b81620004036020938362001344565b81010312620004165760209051620003dc565b600080fd5b3d9150620003f4565b604051903d90823e3d90fd5b5060203660031901126200015d57606460043510156200045557602060405160018152f35b60405162461bcd60e51b815260206004820152601a60248201527f7468726573686f6c64206d757374206265203020746f203130300000000000006044820152606490fd5b50307f0000000000000000000000000000000000000000000000000000000000000000146200015d5760031960a0368201126200015957600435906001600160401b038211620011f8576040818336030112620011f857604051916200050083620012f6565b80600401356003811015620011eb57835260248101356001600160401b038111620011eb576101e0818301360393840112620011eb576040519261016084018481106001600160401b03821117620012005760405262000565600483850101620013d8565b845282820160248101356020860152604401356001600160401b03811162001218576200059b9060043691858701010162001366565b6040850152606482840101356001600160401b0381116200121857620005ca9060043691858701010162001366565b606085015260a0608319820112620011fc5760405190620005eb82620012f6565b608483850101359060038210156200121457608091835260a3190112620011fc576040518060808101106001600160401b036080830111176200120057608081016040526200063f60a484860101620013ed565b815283830160c481013560208301526200065c9060e401620013ed565b60408201526200067261010484860101620013ed565b60608201526020820152608084015261012481830101356001600160401b038111620011fc57620006ac9060043691848601010162001366565b60a08401526101448183010135916001600160401b038311620011fc57620006e06101c49360043691858501010162001366565b60c085015280820161016481013560e0860152620007029061018401620013d8565b610100850152016101a481013561012084015201356101408201526020820152600260243510159081620011f8576044356001600160a01b0381169003620011f8576084356001600160a01b0381169003620011f8576064355460405163e68f909d60e01b815292906103e090849060049082906001600160a01b03165afa92831562000ad857849362000f0d575b5081516200079f8162001576565b620007aa8162001576565b158062000efe575b1562000ae3575060643554602082810151516040516302b05ecb60e11b81526001600160a01b0391821660048201529283916024918391165afa90811562000ad857849162000a92575b501562000a5857602001515160643560020180546001600160a01b0319166001600160a01b03929092169190911790555b60026064350154604051639065714760e01b60208201526001600160a01b03909116602482015260606044820152600560848201526404c563930360dc1b60a4820152620008b081620008a160c48201828103602319016064840152600581526404c563930360dc1b602082015260400190565b03601f19810183528262001344565b61038082015161032090920151604051926001600160a01b0391821691166001600160401b03610cb285019081119085111762000a44579162000903918493610cb26200167d8639610cb285016200164e565b039082f0801562000a375760643560030180546001600160a01b0319166001600160a01b0383811691909117909155608435163b15620001595760405163f79aa74560e01b81526064803580546001600160a01b0390811660048086019190915260018301548216602486015260028301548216604486015294811692840192909252928301548116608480840191909152600584015460a4840152600684015460c4840152600784015460e484015260088401546101048401526009840154610124840152600a840154610144840152600b9093015461016483015290918391839161018491839185919035165af1801562000a2c5762000a03575080f35b6001600160401b03811162000a185760405280f35b634e487b7160e01b82526041600452602482fd5b6040513d84823e3d90fd5b50604051903d90823e3d90fd5b634e487b7160e01b85526041600452602485fd5b60405162461bcd60e51b81526020600482015260126024820152714e6f74496e417070726f766564436f696e7360701b6044820152606490fd5b90506020813d60201162000acf575b8162000ab06020938362001344565b8101031262000acb5751801515810362000acb5738620007fc565b8380fd5b3d915062000aa1565b6040513d86823e3d90fd5b806001835162000af38162001576565b62000afe8162001576565b14908162000eea575b501562000c32575062000b98602062000b5692015160408101519062000b696020606083015192015191604051958694630ab751b360e01b602087015260a0602487015260c486019062001597565b8481036023190160448601529062001597565b6044356001600160a01b03166064840152608483019190915260a4820186905203601f19810183528262001344565b60a082015161032083015160405192916001600160a01b0391821691166001600160401b03610cb285019081119085111762000c1e579162000bea918493610cb26200232f8639610cb285016200164e565b039083f0801562000a2c5760643560020180546001600160a01b0319166001600160a01b039092169190911790556200082d565b634e487b7160e01b86526041600452602486fd5b806002835162000c428162001576565b62000c4d8162001576565b14908162000ec2575b501562000d45575062000cf3816020620008a193015160a08101519160c0820151916101406020608060018060a01b0361010085015116930151519362000c9d8562001576565b01510151926040519462000cb18662001328565b85526020850152604084015262000cc88162001576565b606083015260808201526040516326cd832b60e21b60208201529283916084359060248401620015d9565b60c082015161032083015160405192916001600160a01b0391821691166001600160401b03610cb285019081119085111762000c1e579162000bea918493610cb262002fe18639610cb285016200164e565b6002825162000d548162001576565b62000d5f8162001576565b14908162000e9c575b501562000e67576101c08201516001600160a01b03161562000e125762000cf36020620008a192015160a08101519060c081015190608060018060a01b036101c088015116910151519162000dbd8362001576565b6040519362000dcc8562001328565b84526020840152604083015262000de38162001576565b6060820152621baf8060808201526040516326cd832b60e21b60208201529283916084359060248401620015d9565b60405162461bcd60e51b815260206004820152602760248201527f52656769737472617227732048414c4f20746f6b656e206164647265737320696044820152667320656d70747960c81b6064820152608490fd5b60405162461bcd60e51b815260206004820152600d60248201526c496e76616c6964496e7075747360981b6044820152606490fd5b905062000eae57602435153862000d68565b634e487b7160e01b83526021600452602483fd5b905062000ed6576001602435148162000c56565b634e487b7160e01b84526021600452602484fd5b905062000ed6576001602435148162000b07565b505082600160243514620007b2565b9092506103e0903d6103e011620011ef575b62000f2b828262001344565b6103e0818381010312620011eb5760405191826103a08101106001600160401b036103a08501111762000c1e576060906103a0840160405262000f6e8362001561565b845262000f7e6020840162001561565b602085015262000f916040840162001561565b604085015262000fa382840162001561565b8285015262000fb56080840162001561565b608085015262000fc860a0840162001561565b60a085015262000fdb60c0840162001561565b60c085015262000fee60e0840162001561565b60e085015262001002610100840162001561565b61010085015262001017610120840162001561565b6101208501526200102c610140840162001561565b61014085015262001041610160840162001561565b6101608501526101806200105781850162001561565b90850152820182900361019f190112620011eb57604051908160608101106001600160401b0360608401111762000c1e576103c0620011df91606084016040526101a0938482015181526101c0948583015160208301526101e0830151604083015286015261020093620010cd85830162001561565b90860152610220620010e181830162001561565b6101e087015261024094620010f886840162001561565b90870152610260908183015190870152610280946200111986840162001561565b908701526102a0906200112e82840162001561565b908701526102c0946200114386840162001561565b908701526102e0906200115882840162001561565b90870152610300946200116d86840162001561565b90870152610320906200118282840162001561565b90870152610340946200119786840162001561565b9087015261036090620011ac82840162001561565b9087015261038094620011c186840162001561565b90870152620011d46103a0830162001561565b908601520162001561565b90820152913862000791565b8480fd5b3d915062000f1f565b8280fd5b8580fd5b634e487b7160e01b87526041600452602487fd5b8780fd5b8680fd5b5060403660031901126200015d576024602062001238620013c1565b604051630981b24d60e41b81528335600482015292839182906001600160a01b03165afa90811562000a2c57829162001277575b602082604051908152f35b90506020813d8211620012a9575b81620012946020938362001344565b8101031262000159576020915051386200126c565b3d915062001285565b5060203660031901126200015d57600435906001600160401b0382116200015d576020620012ee620012e8366004860162001366565b62001433565b604051908152f35b604081019081106001600160401b038211176200131257604052565b634e487b7160e01b600052604160045260246000fd5b60a081019081106001600160401b038211176200131257604052565b90601f801991011681019081106001600160401b038211176200131257604052565b81601f8201121562000416578035906001600160401b0382116200131257604051926200139e601f8401601f19166020018562001344565b828452602083830101116200041657816000926020809301838601378301015290565b600435906001600160a01b03821682036200041657565b35906001600160a01b03821682036200041657565b35906fffffffffffffffffffffffffffffffff821682036200041657565b9081518110156200141d570160200190565b634e487b7160e01b600052603260045260246000fd5b60008091825b81518110156200155a57600160f81b6200145482846200140b565b5160071c166200149457600181018091116200148057915b600019811462001480576001019162001439565b634e487b7160e01b84526011600452602484fd5b600360f91b600760f81b620014aa83856200140b565b5160051c1603620014c857600281018091116200148057916200146c565b620014d481836200140b565b51600490811c600f60f81b16600760f91b03620015125760038201809211620014ff5750916200146c565b634e487b7160e01b855260119052602484fd5b600f60f91b601f60f81b6200152884866200140b565b5160031c16036200154657808201809211620014ff5750916200146c565b60018201809211620014ff5750916200146c565b5050919050565b51906001600160a01b03821682036200041657565b600311156200158157565b634e487b7160e01b600052602160045260246000fd5b919082519283825260005b848110620015c4575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201620015a2565b90602090939293604083526200161662001600825160a0604087015260e086019062001597565b82840151858203603f1901606087015262001597565b608060018060a01b0392836040820151168287015260608101516200163b8162001576565b60a0870152015160c08501529416910152565b6001600160a01b03918216815291166020820152606060408201819052620016799291019062001597565b9056fe604060808152346200030c5762000cb2803803806200001e8162000311565b9283398101906060818303126200030c576200003a816200034d565b916020926200004b8484016200034d565b8584015190936001600160401b0391908282116200030c57019280601f850112156200030c5783519362000089620000838662000362565b62000311565b94808652878601928882840101116200030c578288620000aa93016200037e565b823b15620002b2577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03199081166001600160a01b0386811691821790935590959194600093909290917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2805115801590620002aa575b620001fb575b50505050507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103937f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f86865493815196818616885216958684820152a18315620001a95750161790555161085590816200045d8239f35b60849086519062461bcd60e51b82526004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b895194606086019081118682101762000296578a52602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c89860152660819985a5b195960ca1b8a86015251620002809493929183918291845af4903d156200028c573d62000270620000838262000362565b90815280938a3d92013e620003a3565b50388080808062000133565b60609250620003a3565b634e487b7160e01b85526041600452602485fd5b50836200012d565b865162461bcd60e51b815260048101879052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033757604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200030c57565b6001600160401b0381116200033757601f01601f191660200190565b60005b838110620003925750506000910152565b818101518382015260200162000381565b91929015620004085750815115620003b9575090565b3b15620003c35790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156200041c5750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526200044e81518092816024860152602086860191016200037e565b601f01601f19168101030190fdfe60806040526004361015610018575b366100a6576100a6565b6000803560e01c80636e9960c3146100725763aaf10f421461003a575061000e565b3461006f578060031936011261006f57600080516020610800833981519152546040516001600160a01b039091168152602090f35b80fd5b503461006f578060031936011261006f576000805160206107e0833981519152546001600160a01b03166080908152602090f35b6000805160206107e0833981519152546001600160a01b031633036101c6576000356001600160e01b031916631b2ce7f360e11b81036100f157506100e9610426565b602081519101f35b63278f794360e11b810361010d57506101086105c8565b6100e9565b6308f2839760e41b81036101245750610108610350565b6303e1469160e61b810361013b5750610108610275565b635c60da1b60e01b03610150576101086102ae565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a490fd5b60008051602061080083398151915254600090819081906001600160a01b0316368280378136915af43d82803e156101fc573d90f35b3d90fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761023257604052565b610200565b6020810190811067ffffffffffffffff82111761023257604052565b90601f8019910116810190811067ffffffffffffffff82111761023257604052565b61027d610659565b60018060a01b036000805160206107e08339815191525416604051906020820152602081526102ab81610216565b90565b6102b6610659565b60018060a01b036000805160206108008339815191525416604051906020820152602081526102ab81610216565b600435906001600160a01b03821682036102fa57565b600080fd5b60209060031901126102fa576004356001600160a01b03811681036102fa5790565b67ffffffffffffffff811161023257601f01601f191660200190565b6040519061034a82610237565b60008252565b610358610659565b366004116102fa576001600160a01b0380610372366102ff565b166000805160206107e0833981519152917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f604084549281519084168152846020820152a181156103d2576001600160a01b0319161790556102ab61033d565b60405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b61042e610659565b366004116102fa576001600160a01b03610447366102ff565b166040519061045582610237565b60008252803b156104ec5760008051602061080083398151915280546001600160a01b03191682179055807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906104e4575b6104ca575b50506040516104c381610237565b6000815290565b6104dc916104d6610660565b916106ba565b5038806104b5565b5060006104b0565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b803b156104ec5760008051602061080083398151915280546001600160a01b0319166001600160a01b0383169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906105c0575b6105b1575050565b6105bd916104d6610660565b50565b5060016105a9565b366004116102fa5760403660031901126102fa576105e46102e4565b6024359067ffffffffffffffff82116102fa57366023830112156102fa5781600401359061061182610321565b9161061f6040519384610253565b80835236602482860101116102fa576020816000926024610651970183870137840101526001600160a01b0316610547565b6102ab61033d565b346102fa57565b604051906060820182811067ffffffffffffffff8211176102325760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b6000806102ab9493602081519101845af43d156106f9573d916106dc83610321565b926106ea6040519485610253565b83523d6000602085013e61074d565b60609161074d565b1561070857565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9192901561076d5750815115610761575090565b6102ab903b1515610701565b8251909150156107805750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106107c6575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506107a356feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b73d54cdeedb79ac10b05dcfd6196ca3c80a671a4fbd8a0e9e661d3360347dd764736f6c63430008120033604060808152346200030c5762000cb2803803806200001e8162000311565b9283398101906060818303126200030c576200003a816200034d565b916020926200004b8484016200034d565b8584015190936001600160401b0391908282116200030c57019280601f850112156200030c5783519362000089620000838662000362565b62000311565b94808652878601928882840101116200030c578288620000aa93016200037e565b823b15620002b2577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03199081166001600160a01b0386811691821790935590959194600093909290917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2805115801590620002aa575b620001fb575b50505050507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103937f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f86865493815196818616885216958684820152a18315620001a95750161790555161085590816200045d8239f35b60849086519062461bcd60e51b82526004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b895194606086019081118682101762000296578a52602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c89860152660819985a5b195960ca1b8a86015251620002809493929183918291845af4903d156200028c573d62000270620000838262000362565b90815280938a3d92013e620003a3565b50388080808062000133565b60609250620003a3565b634e487b7160e01b85526041600452602485fd5b50836200012d565b865162461bcd60e51b815260048101879052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033757604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200030c57565b6001600160401b0381116200033757601f01601f191660200190565b60005b838110620003925750506000910152565b818101518382015260200162000381565b91929015620004085750815115620003b9575090565b3b15620003c35790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156200041c5750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526200044e81518092816024860152602086860191016200037e565b601f01601f19168101030190fdfe60806040526004361015610018575b366100a6576100a6565b6000803560e01c80636e9960c3146100725763aaf10f421461003a575061000e565b3461006f578060031936011261006f57600080516020610800833981519152546040516001600160a01b039091168152602090f35b80fd5b503461006f578060031936011261006f576000805160206107e0833981519152546001600160a01b03166080908152602090f35b6000805160206107e0833981519152546001600160a01b031633036101c6576000356001600160e01b031916631b2ce7f360e11b81036100f157506100e9610426565b602081519101f35b63278f794360e11b810361010d57506101086105c8565b6100e9565b6308f2839760e41b81036101245750610108610350565b6303e1469160e61b810361013b5750610108610275565b635c60da1b60e01b03610150576101086102ae565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a490fd5b60008051602061080083398151915254600090819081906001600160a01b0316368280378136915af43d82803e156101fc573d90f35b3d90fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761023257604052565b610200565b6020810190811067ffffffffffffffff82111761023257604052565b90601f8019910116810190811067ffffffffffffffff82111761023257604052565b61027d610659565b60018060a01b036000805160206107e08339815191525416604051906020820152602081526102ab81610216565b90565b6102b6610659565b60018060a01b036000805160206108008339815191525416604051906020820152602081526102ab81610216565b600435906001600160a01b03821682036102fa57565b600080fd5b60209060031901126102fa576004356001600160a01b03811681036102fa5790565b67ffffffffffffffff811161023257601f01601f191660200190565b6040519061034a82610237565b60008252565b610358610659565b366004116102fa576001600160a01b0380610372366102ff565b166000805160206107e0833981519152917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f604084549281519084168152846020820152a181156103d2576001600160a01b0319161790556102ab61033d565b60405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b61042e610659565b366004116102fa576001600160a01b03610447366102ff565b166040519061045582610237565b60008252803b156104ec5760008051602061080083398151915280546001600160a01b03191682179055807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906104e4575b6104ca575b50506040516104c381610237565b6000815290565b6104dc916104d6610660565b916106ba565b5038806104b5565b5060006104b0565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b803b156104ec5760008051602061080083398151915280546001600160a01b0319166001600160a01b0383169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906105c0575b6105b1575050565b6105bd916104d6610660565b50565b5060016105a9565b366004116102fa5760403660031901126102fa576105e46102e4565b6024359067ffffffffffffffff82116102fa57366023830112156102fa5781600401359061061182610321565b9161061f6040519384610253565b80835236602482860101116102fa576020816000926024610651970183870137840101526001600160a01b0316610547565b6102ab61033d565b346102fa57565b604051906060820182811067ffffffffffffffff8211176102325760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b6000806102ab9493602081519101845af43d156106f9573d916106dc83610321565b926106ea6040519485610253565b83523d6000602085013e61074d565b60609161074d565b1561070857565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9192901561076d5750815115610761575090565b6102ab903b1515610701565b8251909150156107805750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106107c6575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506107a356feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b73d54cdeedb79ac10b05dcfd6196ca3c80a671a4fbd8a0e9e661d3360347dd764736f6c63430008120033604060808152346200030c5762000cb2803803806200001e8162000311565b9283398101906060818303126200030c576200003a816200034d565b916020926200004b8484016200034d565b8584015190936001600160401b0391908282116200030c57019280601f850112156200030c5783519362000089620000838662000362565b62000311565b94808652878601928882840101116200030c578288620000aa93016200037e565b823b15620002b2577f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b03199081166001600160a01b0386811691821790935590959194600093909290917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2805115801590620002aa575b620001fb575b50505050507fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103937f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f86865493815196818616885216958684820152a18315620001a95750161790555161085590816200045d8239f35b60849086519062461bcd60e51b82526004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152fd5b895194606086019081118682101762000296578a52602785527f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c89860152660819985a5b195960ca1b8a86015251620002809493929183918291845af4903d156200028c573d62000270620000838262000362565b90815280938a3d92013e620003a3565b50388080808062000133565b60609250620003a3565b634e487b7160e01b85526041600452602485fd5b50836200012d565b865162461bcd60e51b815260048101879052602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b600080fd5b6040519190601f01601f191682016001600160401b038111838210176200033757604052565b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200030c57565b6001600160401b0381116200033757601f01601f191660200190565b60005b838110620003925750506000910152565b818101518382015260200162000381565b91929015620004085750815115620003b9575090565b3b15620003c35790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156200041c5750805190602001fd5b6044604051809262461bcd60e51b8252602060048301526200044e81518092816024860152602086860191016200037e565b601f01601f19168101030190fdfe60806040526004361015610018575b366100a6576100a6565b6000803560e01c80636e9960c3146100725763aaf10f421461003a575061000e565b3461006f578060031936011261006f57600080516020610800833981519152546040516001600160a01b039091168152602090f35b80fd5b503461006f578060031936011261006f576000805160206107e0833981519152546001600160a01b03166080908152602090f35b6000805160206107e0833981519152546001600160a01b031633036101c6576000356001600160e01b031916631b2ce7f360e11b81036100f157506100e9610426565b602081519101f35b63278f794360e11b810361010d57506101086105c8565b6100e9565b6308f2839760e41b81036101245750610108610350565b6303e1469160e61b810361013b5750610108610275565b635c60da1b60e01b03610150576101086102ae565b60405162461bcd60e51b815260206004820152604260248201527f5472616e73706172656e745570677261646561626c6550726f78793a2061646d60448201527f696e2063616e6e6f742066616c6c6261636b20746f2070726f78792074617267606482015261195d60f21b608482015260a490fd5b60008051602061080083398151915254600090819081906001600160a01b0316368280378136915af43d82803e156101fc573d90f35b3d90fd5b634e487b7160e01b600052604160045260246000fd5b6040810190811067ffffffffffffffff82111761023257604052565b610200565b6020810190811067ffffffffffffffff82111761023257604052565b90601f8019910116810190811067ffffffffffffffff82111761023257604052565b61027d610659565b60018060a01b036000805160206107e08339815191525416604051906020820152602081526102ab81610216565b90565b6102b6610659565b60018060a01b036000805160206108008339815191525416604051906020820152602081526102ab81610216565b600435906001600160a01b03821682036102fa57565b600080fd5b60209060031901126102fa576004356001600160a01b03811681036102fa5790565b67ffffffffffffffff811161023257601f01601f191660200190565b6040519061034a82610237565b60008252565b610358610659565b366004116102fa576001600160a01b0380610372366102ff565b166000805160206107e0833981519152917f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f604084549281519084168152846020820152a181156103d2576001600160a01b0319161790556102ab61033d565b60405162461bcd60e51b815260206004820152602660248201527f455243313936373a206e65772061646d696e20697320746865207a65726f206160448201526564647265737360d01b6064820152608490fd5b61042e610659565b366004116102fa576001600160a01b03610447366102ff565b166040519061045582610237565b60008252803b156104ec5760008051602061080083398151915280546001600160a01b03191682179055807fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906104e4575b6104ca575b50506040516104c381610237565b6000815290565b6104dc916104d6610660565b916106ba565b5038806104b5565b5060006104b0565b60405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608490fd5b803b156104ec5760008051602061080083398151915280546001600160a01b0319166001600160a01b0383169081179091557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b600080a28151158015906105c0575b6105b1575050565b6105bd916104d6610660565b50565b5060016105a9565b366004116102fa5760403660031901126102fa576105e46102e4565b6024359067ffffffffffffffff82116102fa57366023830112156102fa5781600401359061061182610321565b9161061f6040519384610253565b80835236602482860101116102fa576020816000926024610651970183870137840101526001600160a01b0316610547565b6102ab61033d565b346102fa57565b604051906060820182811067ffffffffffffffff8211176102325760405260278252660819985a5b195960ca1b6040837f416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c60208201520152565b6000806102ab9493602081519101845af43d156106f9573d916106dc83610321565b926106ea6040519485610253565b83523d6000602085013e61074d565b60609161074d565b1561070857565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b9192901561076d5750815115610761575090565b6102ab903b1515610701565b8251909150156107805750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b8285106107c6575050604492506000838284010152601f80199101168101030190fd5b84810182015186860160440152938101938593506107a356feb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220b73d54cdeedb79ac10b05dcfd6196ca3c80a671a4fbd8a0e9e661d3360347dd764736f6c63430008120033a2646970667358221220789a9e009917f41b2c2db47055d5761a96a6485cd7298b45702d2d31b093ea1564736f6c63430008120033"; type SubDaoLibConstructorParams = - | [linkLibraryAddresses: SubDaoLibLibraryAddresses, signer?: Signer] + | [signer?: Signer] | ConstructorParameters; const isSuperArgs = ( xs: SubDaoLibConstructorParams -): xs is ConstructorParameters => { - return ( - typeof xs[0] === "string" || - (Array.isArray as (arg: any) => arg is readonly any[])(xs[0]) || - "_isInterface" in xs[0] - ); -}; +): xs is ConstructorParameters => xs.length > 1; export class SubDaoLib__factory extends ContractFactory { constructor(...args: SubDaoLibConstructorParams) { if (isSuperArgs(args)) { super(...args); } else { - const [linkLibraryAddresses, signer] = args; - super( - _abi, - SubDaoLib__factory.linkBytecode(linkLibraryAddresses), - signer - ); + super(_abi, _bytecode, args[0]); } } - static linkBytecode(linkLibraryAddresses: SubDaoLibLibraryAddresses): string { - let linkedBytecode = _bytecode; - - linkedBytecode = linkedBytecode.replace( - new RegExp("__\\$2e6ee47b30d794e0597b4af30f16ddb84c\\$__", "g"), - linkLibraryAddresses["contracts/core/struct.sol:AngelCoreStruct"] - .replace(/^0x/, "") - .toLowerCase() - ); - - return linkedBytecode; - } - override deploy( overrides?: Overrides & { from?: PromiseOrValue } ): Promise { @@ -252,7 +228,3 @@ export class SubDaoLib__factory extends ContractFactory { return new Contract(address, _abi, signerOrProvider) as SubDaoLib; } } - -export interface SubDaoLibLibraryAddresses { - ["contracts/core/struct.sol:AngelCoreStruct"]: string; -} diff --git a/typechain-types/factories/contracts/normalized_endowment/subdao/subdao.sol/SubDao__factory.ts b/typechain-types/factories/contracts/normalized_endowment/subdao/subdao.sol/SubDao__factory.ts index 807fcf62a..60ba76104 100644 --- a/typechain-types/factories/contracts/normalized_endowment/subdao/subdao.sol/SubDao__factory.ts +++ b/typechain-types/factories/contracts/normalized_endowment/subdao/subdao.sol/SubDao__factory.ts @@ -15,9 +15,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -70,29 +70,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -118,43 +118,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -169,7 +169,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -184,7 +184,7 @@ const _abi = [ }, ], internalType: "struct subDaoMessage.InstantiateMsg", - name: "curMsg", + name: "details", type: "tuple", }, ], @@ -197,7 +197,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curPollid", + name: "pollid", type: "uint256", }, { @@ -215,22 +215,22 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curDepositamount", + name: "depositamount", type: "uint256", }, { internalType: "string", - name: "curTitle", + name: "title", type: "string", }, { internalType: "string", - name: "curDescription", + name: "description", type: "string", }, { internalType: "string", - name: "curLink", + name: "link", type: "string", }, { @@ -252,7 +252,7 @@ const _abi = [ }, ], internalType: "struct subDaoStorage.ExecuteData", - name: "curExecuteMsgs", + name: "executeMsgs", type: "tuple", }, ], @@ -271,7 +271,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curPollid", + name: "pollid", type: "uint256", }, ], @@ -284,7 +284,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curPollid", + name: "pollid", type: "uint256", }, ], @@ -297,7 +297,7 @@ const _abi = [ inputs: [ { internalType: "uint256", - name: "curPollid", + name: "pollid", type: "uint256", }, ], @@ -311,9 +311,9 @@ const _abi = [ { components: [ { - internalType: "uint256", + internalType: "uint32", name: "id", - type: "uint256", + type: "uint32", }, { internalType: "address", @@ -366,29 +366,29 @@ const _abi = [ components: [ { internalType: "address", - name: "existingCw20Data", + name: "existingData", type: "address", }, { internalType: "uint256", - name: "newCw20InitialSupply", + name: "newInitialSupply", type: "uint256", }, { internalType: "string", - name: "newCw20Name", + name: "newName", type: "string", }, { internalType: "string", - name: "newCw20Symbol", + name: "newSymbol", type: "string", }, { components: [ { - internalType: "enum AngelCoreStruct.CurveTypeEnum", - name: "curve_type", + internalType: "enum AngelCoreStruct.veTypeEnum", + name: "ve_type", type: "uint8", }, { @@ -414,43 +414,43 @@ const _abi = [ type: "uint128", }, ], - internalType: "struct AngelCoreStruct.CurveTypeData", + internalType: "struct AngelCoreStruct.veTypeData", name: "data", type: "tuple", }, ], - internalType: "struct AngelCoreStruct.CurveType", - name: "bondingCurveCurveType", + internalType: "struct AngelCoreStruct.veType", + name: "veBondingType", type: "tuple", }, { internalType: "string", - name: "bondingCurveName", + name: "veBondingName", type: "string", }, { internalType: "string", - name: "bondingCurveSymbol", + name: "veBondingSymbol", type: "string", }, { internalType: "uint256", - name: "bondingCurveDecimals", + name: "veBondingDecimals", type: "uint256", }, { internalType: "address", - name: "bondingCurveReserveDenom", + name: "veBondingReserveDenom", type: "address", }, { internalType: "uint256", - name: "bondingCurveReserveDecimals", + name: "veBondingReserveDecimals", type: "uint256", }, { internalType: "uint256", - name: "bondingCurveUnbondingPeriod", + name: "veBondingPeriod", type: "uint256", }, ], @@ -465,7 +465,7 @@ const _abi = [ }, { internalType: "enum AngelCoreStruct.EndowmentType", - name: "endow_type", + name: "endowType", type: "uint8", }, { @@ -480,12 +480,12 @@ const _abi = [ }, ], internalType: "struct subDaoMessage.InstantiateMsg", - name: "curMsg", + name: "details", type: "tuple", }, { internalType: "address", - name: "curEmitteraddress", + name: "emitteraddress", type: "address", }, ], @@ -598,12 +598,12 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curVetoken", + name: "vetoken", type: "address", }, { internalType: "address", - name: "curSwapfactory", + name: "swapfactory", type: "address", }, ], @@ -616,42 +616,42 @@ const _abi = [ inputs: [ { internalType: "address", - name: "curOwner", + name: "owner", type: "address", }, { internalType: "uint256", - name: "curQuorum", + name: "quorum", type: "uint256", }, { internalType: "uint256", - name: "curThreshold", + name: "threshold", type: "uint256", }, { internalType: "uint256", - name: "curVotingperiod", + name: "votingperiod", type: "uint256", }, { internalType: "uint256", - name: "curTimelockperiod", + name: "timelockperiod", type: "uint256", }, { internalType: "uint256", - name: "curExpirationperiod", + name: "expirationperiod", type: "uint256", }, { internalType: "uint256", - name: "curProposaldeposit", + name: "proposaldeposit", type: "uint256", }, { internalType: "uint256", - name: "curSnapshotperiod", + name: "snapshotperiod", type: "uint256", }, ], @@ -663,7 +663,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461002557600160125560ff1960135416601355614cca908161002b8239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c8062503e1314613d7157806315c476d01461301b5780631fbeda74146128165780634682eb371461261c5780635678138814611b755780635bf24d971461197b578063873e9e1914611915578063d7e5fbf31461184f578063e68f909d146116de578063e947957d14610cf05763f43b87781461009557600080fd5b34610696576020366003190112610696576100ae614830565b60608081906004358452600f6020526040842092604051936100cf85613fb2565b8054855260018101546001600160a01b03811660208701526100fa9060a01c60ff16604087016144bb565b60028101549082860191825260038101546080870152600481015460a0870152600581015460c0870152600681015460e087015260405161014981610142816007860161458f565b0382614005565b61010087015260405161016381610142816008860161458f565b61012087015260405161017d81610142816009860161458f565b61014087015260405161018f81613f84565b6040516101a38161014281600a8701614625565b81526040516101b98161014281600b8701614662565b6020820152600c820180546101cd81614344565b916101db6040519384614005565b8183528a526020808b208b9184015b838310610ccb575050505090600f92916040820152610160880152600d810154610180880152600e8101546101a088015201546101c086015260408501516005811015610cb75761023b9015614886565b60e0850151431115610c7f5761025760808601518251906144ae565b60026040518060208101106001600160401b03602083011117610c6957602081016040528890526101c087015180610c3157508791885b8115908115610c25575b5015610a3257509071145d5bdc9d5b481b9bdd081c995858da195960721b60206040516102c481613fea565b6012815201525b6101a0870152610180860151600e548082810311610a1c5703600e556004358752601060205260408720906005811015610a06576103199160ff1981541660ff8316179055604087016144bb565b6004358652600f60205260408620908551825560018060a01b03602087015116600183015490604088015160058110156109f2576001600160a81b03199092161760a091821b60ff60a01b161760018401559051600283015560808601516003830155850151600482015560c0850151600582015560e085015160068201556101008501518051906001600160401b03821161082b5781906103cb826103c260078701546144c7565b60078701614518565b602090601f8311600114610983578992610978575b50508160011b916000199060031b1c19161760078201555b6101208501518051906001600160401b03821161082b57819061042b8261042260088701546144c7565b60088701614518565b602090601f83116001146109095789926108fe575b50508160011b916000199060031b1c19161760088201555b6101408501518051906001600160401b03821161082b57819061048b8261048260098701546144c7565b60098701614518565b602090601f831160011461088f578992610884575b50508160011b916000199060031b1c19161760098201555b61016085015180518051906001600160401b03821161085c57600160401b821161085c576020600a8501916104f28484548186558561455f565b0190895260208920895b838110610870575050505060208101518051906001600160401b03821161085c57600160401b821161085c576020600b85019161053e8484548186558561455f565b0190895260208920895b83811061083f575050505060400151805190600160401b821161082b57600c83015482600c8501558083106107b3575b50602001600c830188526020882088915b8383106106c05750505050600f6101c0866101806105bd980151600d8501556101a0810151600e8501550151910155614b7e565b601354819060081c6001600160a01b0316803b156106bd57604051631081eeb960e11b8152600c546004820152600d546024820152600e5460448201529082908290606490829084905af18015610699576106a9575b5060018060a01b0360135460081c166004358252600f60205260408220601060205260ff604084205416823b156106a45761066a928492836040518096819582946378dbb4b360e11b845260043560048501614808565b03925af1801561069957610682575b50600160125580f35b61068b90613f9f565b610696578038610679565b80fd5b6040513d84823e3d90fd5b505050fd5b6106b290613f9f565b610696578038610613565b50fd5b80518051906001600160401b03821161079f576106e7826106e186546144c7565b86614518565b6020908c601f841160011461073257928060209360019693879692610727575b5050600019600383901b1c191690841b1785555b01920192019190610589565b015190503880610707565b85905260208d2091908d5b601f1985168110610787575083602093600196938796938794601f1981161061076e575b505050811b01855561071b565b015160001960f88460031b161c19169055388080610761565b9192602060018192868501518155019401920161073d565b634e487b7160e01b8c52604160045260248cfd5b600c8401895260208920908382015b81830181106107d2575050610578565b808b6107e0600193546144c7565b806107ee575b5050016107c2565b601f81118414610806575050600081555b8b386107e6565b828252610821601f60208420920160051c8201858301614501565b60008355556107ff565b634e487b7160e01b88526041600452602488fd5b82516001600160a01b031681830155602090920191600101610548565b634e487b7160e01b89526041600452602489fd5b6001906020845194019381840155016104fc565b0151905038806104a0565b9250600984018952602089209089935b601f19841685106108e3576001945083601f198116106108ca575b505050811b0160098201556104b8565b015160001960f88460031b161c191690553880806108ba565b8181015183556020948501946001909301929091019061089f565b015190503880610440565b9250600884018952602089209089935b601f198416851061095d576001945083601f19811610610944575b505050811b016008820155610458565b015160001960f88460031b161c19169055388080610934565b81810151835560209485019460019093019290910190610919565b0151905038806103e0565b9250600784018952602089209089935b601f19841685106109d7576001945083601f198116106109be575b505050811b0160078201556103f8565b015160001960f88460031b161c191690553880806109ae565b81810151835560209485019460019093019290910190610993565b634e487b7160e01b8a52602160045260248afd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b835180606481020460641481151715610c1157906064610a5292026148c6565b6006541015610bde57506001905b610180870151156102cb57604051955093509150610a7d84613fea565b6001845260203681860137839160405193610a9785613fea565b6001855260203681870137878560405190610ab182613fea565b6001825260005b60208110610bc857508183610ae8610b3693610ae2959c60018060a01b0360025416968791614918565b52614918565b5260208b8101516101808d015160405163a9059cbb60e01b938101939093526001600160a01b0390911660248301526044808301919091528152610b2d606482614005565b610ae282614918565b5060135460208a01516101808b01516001600160a01b039182169392909160089190911c16803b15610bc4576040516360fb85bd60e01b81526001600160a01b039384166004820152939092166024840152604483015282908290606490829084905af1801561069957610bac575b50506102cb565b610bb590613f9f565b610bc0578738610ba5565b8780fd5b8480fd5b606060208483018101919091528c945001610ab8565b9074151a1c995cda1bdb19081b9bdd081c995858da1959605a1b6020604051610c0681613fea565b601581520152610a60565b634e487b7160e01b8a52601160045260248afd5b90506005541138610298565b9180606481020460641481151715610c5557610c5083606483026148c6565b61028e565b634e487b7160e01b89526011600452602489fd5b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152601060248201526f141bdb1b159bdd1a5b99d4195c9a5bd960821b6044820152606490fd5b634e487b7160e01b87526021600452602487fd5b600160208192604051610ce281610142818961458f565b8152019201920191906101ea565b503461069657602036600319011261069657610d0a614830565b600435600052600f602052604060002090604051610d2781613fb2565b8254815260018301546001600160a01b0381166020830152610d529060a01c60ff16604083016144bb565b6002830154606082015260038301546080820152600483015460a0820152600583015460c0820152600683015460e0820152604051610d9881610142816007880161458f565b610100820152604051610db281610142816008880161458f565b610120820152604051610dcc81610142816009880161458f565b61014082015260405192610ddf84613f84565b604051610df38161014281600a8601614625565b8452604051610e098161014281600b8601614662565b6020850152600c8101938454610e1e81614344565b90610e2c6040519283614005565b80825260208201966000526020600020966000905b8282106116b75750505090600f92916040820152610160840152600d810154610180840152600e8101546101a084015201546101c082015260408101516005811015610a06576001610e93911461494f565b610ea460e0820151600854906144ae565b43111561167d5760043560005260106020526040600020600360ff1982541617905560036040820152600435600052600f60205260406000208151815560018060a01b0360208301511660018201549060408401516005811015610a06576001600160a81b03199092161760a091821b60ff60a01b161760018301556060830151600283015560808301516003830155820151600482015560c0820151600582015560e0820151600682015561010082015180519093906001600160401b038111610c6957610f8381610f7a60078601546144c7565b60078601614518565b6020601f821160011461160e578192939495600092611603575b50508160011b916000199060031b1c19161760078301555b6101208301519283516001600160401b038111610c6957610fdd8161042260088701546144c7565b6020601f8211600114611594578192939495600092611589575b50508160011b916000199060031b1c19161760088401555b6101408101519283516001600160401b038111610c69576110408161103760098501546144c7565b60098501614518565b6020601f821160011461151a57819293949560009261150f575b50508160011b916000199060031b1c19161760098201555b61016082015180518051906001600160401b038211610c6957600160401b8211610c69576020600a8501916110ac8484548186558561455f565b0190600052602060002060005b8381106114fb575050505060208101518051906001600160401b038211610c6957600160401b8211610c69576020600b8501916110fb8484548186558561455f565b0190600052602060002060005b8381106114de575050505060400151805190600160401b8211610c6957600c83015482600c850155808310611466575b5060200190600c83016000526020600020916000905b8282106113835750505050610180820151600d8201556101a0820151600e820155600f6101c083015191015561118c6101608201515151151561498b565b61119c61016082015151516148e6565b506101608101515180516000198101908111610a1c576111be90600083614a31565b61016082015151906111cf82614918565b519360015b8351811015611215576111e7818561493b565b5186106111fd575b6111f8906149c7565b6111d4565b94506111f861120c868561493b565b519590506111ef565b508360018601808711610a1c5761122b906148e6565b9260005b81519060ff811691821015611267578161125561124e60ff948661493b565b518861493b565b521660ff8114610a1c5760010161122f565b50505061127a61016082015151516148e6565b61128a61016083015151516148e6565b9061016083015151519461129d86614344565b956112ab6040519788614005565b8087526112ba601f1991614344565b0160005b81811061137257505060005b61016085015151805182101561135e579060006113536112f76112f0846113599661493b565b518661493b565b51610160890151602001516001600160a01b039061131690869061493b565b5116611322828961493b565b526113368460406101608c0151015161493b565b51611341828d61493b565b5261134c818c61493b565b508761493b565b526149c7565b6112ca565b8661136a898787614b7e565b600160125580f35b806060602080938b010152016112be565b80518051906001600160401b038211610c69576113aa826113a488546144c7565b88614518565b602090601f83116001146113f65792826001949360209386956000926113eb575b5050600019600383901b1c191690841b1787555b0194019101909261114e565b015190508c806113cb565b908660005260206000209160005b601f198516811061144e575083602093600196938796938794601f19811610611435575b505050811b0187556113df565b015160001960f88460031b161c191690558c8080611428565b91926020600181928685015181550194019201611404565b600c84016000526020600020908382015b8183018110611487575050611138565b80611494600192546144c7565b806114a1575b5001611477565b601f811183146114b75750600081555b8961149a565b6000908282526114d5601f60208420920160051c8201858301614501565b818355556114b1565b82516001600160a01b031681830155602090920191600101611108565b6001906020845194019381840155016110b9565b01519050858061105a565b6009830160005260206000209060005b601f1984168110611571575060019394959683601f19811610611558575b505050811b016009820155611072565b015160001960f88460031b161c19169055858080611548565b9091602060018192858b01518155019301910161152a565b015190508580610ff7565b6008850160005260206000209060005b601f19841681106115eb575060019394959683601f198116106115d2575b505050811b01600884015561100f565b015160001960f88460031b161c191690558580806115c2565b9091602060018192858b0151815501930191016115a4565b015190508580610f9d565b6007840160005260206000209060005b601f1984168110611665575060019394959683601f1981161061164c575b505050811b016007830155610fb5565b015160001960f88460031b161c1916905585808061163c565b9091602060018192858b01518155019301910161161e565b60405162461bcd60e51b8152602060048201526012602482015271151a5b595b1bd8dad39bdd115e1c1a5c995960721b6044820152606490fd5b6001602081926101426116d08d6040519283809261458f565b815201990191019097610e41565b50346106965780600319360112610696576101406040516116fe81613fce565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e08201528261010082015282610120820152015261016060018060a01b036001541661014060018060a01b036002541660018060a01b036003541660018060a01b03600454166005546006546007546008549160095493600a5495600b5497604051996117938b613fce565b8c8b5260208b015260408a01526060890152608088015260a087015260c086015260e08501526101008401526101208301528282015260405192835260018060a01b03602082015116602084015260018060a01b03604082015116604084015260018060a01b0360608201511660608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e08401526101008101516101008401526101208101516101208401520151610140820152f35b5034610696576040366003190112610696578061186a61403c565b611872614026565b60018060a01b0380809361188b8260015416331461435b565b16916118988315156143e0565b16906118a58215156143e0565b6bffffffffffffffffffffffff60a01b90816003541617600355600454161760045560135460081c16803b156106bd5781604051809263f79aa74560e01b82528183816118f46004820161441c565b03925af18015610699576119055750f35b61190e90613f9f565b6106965780f35b50346106965780600319360112610696576040805161193381613f84565b8281528260208201520152606060405161194c81613f84565b600c5490818152600d54602082019081526040600e549201918252604051928352516020830152516040820152f35b503461069657602036600319011261069657806004356001600160401b0381116106bd576119ad9036906004016140ea565b6014546001600160a01b03906119c6908216331461435b565b73__$78154407706f9208c00fe8de1d937b8093$__610120908184015193610140948461016087840151936119fa85614396565b015116948060135460081c16843b15611b71578896602094604051998a988997889763463e604f60e01b895260a060048a01528051611a3881614396565b60a48a0152015190604060c48901528682511660e48901526020820151610104890152611b18611a7a60408401516101e06101248c01526102c48b01906143a0565b611b02611a9b60608601519260e319938d61014486828503019101526143a0565b8b6060602060808901518051611ab081614396565b61016485015201516001600160801b03928382511661018482015260208201516101a48201526101c4846040840151169101520151166101e48d015260a08601518c61020485828503019101526143a0565b9060c0850151908b8303016102248c01526143a0565b9660e08301516102448a01526101008301511661026489015281015161028488015201516102a4860152611b4b81614396565b60248501526044840152866064840152608483015203915af48015610699576119055750f35b8880fd5b5034610696576040366003190112610696576002602435101561069657611b9f6004351515614b43565b611baf600435600c541015614b43565b6004358152600f6020526040812090604051611bca81613fb2565b8254815260018301546001600160a01b0381166020830152611bf59060a01c60ff16604083016144bb565b6002830154606082015260038301546080820152600483015460a0820152600583015460c0820152600683015460e0820152604051611c3b81610142816007880161458f565b610100820152604051611c5581610142816008880161458f565b610120820152604051611c6f81610142816009880161458f565b61014082015260405192611c8284613f84565b604051611c968161014281600a8601614625565b8452604051611cac8161014281600b8601614662565b6020850152600c8101938454611cc181614344565b90611ccf6040519283614005565b80825260208201968652602086209686905b8282106125f55750505090600f92916040820152610160840152600d810154610180840152600e8101546101a084015201546101c0820152604081015160058110156125e157611d319015614886565b611d4160e0820151431115614886565b60043582526011602052604082203360005260205260ff600260406000200154166125ad5760035460a08201516040516375ea696960e01b81526001600160a01b039092166004830152336024830152604482015260208160648173__$78154407706f9208c00fe8de1d937b8093$__5af49081156125a257839161256b575b5060243561255357611dd78160608401516144ae565b60608301525b60043583526011602052604083203360005260205260026040600020019060ff199160018382541617905560043584526011602052604084203360005260205260016040600020015560043583526011602052604083203360005260205260406000209081541660ff6024351617905560018060a01b0360135460081c16600435835260116020526040832033600052602052604060002090803b1561254f5760405191633b3c187760e01b8352600435600484015233602484015260ff8154166002811015612523579260a48187819560ff60028399978498604487015260018101546064870152015416151560848401525af1801561069957612537575b50506004358252600f60205260408220908051825560018060a01b0360208201511660018301549060408301516005811015612523576001600160a81b03199092161760a091821b60ff60a01b161760018401556060820151600284015560808201516003840155810151600483015560c0810151600583015560e0810151600683015561010081015180519093906001600160401b03811161250f57611f8b816103c260078701546144c7565b6020601f82116001146124a35782939495829392612498575b50508160011b916000199060031b1c19161760078401555b6101208201519283516001600160401b03811161248457611fed81611fe460088501546144c7565b60088501614518565b6020601f8211600114612418578394958293949261240d575b50508160011b916000199060031b1c19161760088201555b6101408301519283516001600160401b0381116123f95761204f8161204660098601546144c7565b60098601614518565b6020601f821160011461238d5784958293949592612382575b50508160011b916000199060031b1c19161760098301555b61016081015180518051906001600160401b03821161235a57600160401b821161235a576020600a8601916120ba8484548186558561455f565b0190865260208620865b83811061236e575050505060208101518051906001600160401b03821161235a57600160401b821161235a576020600b8601916121068484548186558561455f565b0190865260208620865b83811061233d575050505060400151805190600160401b821161232957600c84015482600c8601558083106122b1575b50602001600c840185526020852085915b8383106121d8578686600f6101c088610180810151600d8501556101a0810151600e85015501519101558060018060a01b0360135460081c166004358252600f6020526040822090803b156121d4576118f4839291839260405194858094819363077d7b2960e51b835260043560048401526040602484015260448301906146a8565b5050fd5b80518051906001600160401b03821161085c576121f9826106e186546144c7565b602090601f83116001146122445792826001949360209386958d92612239575b5050600019600383901b1c191690841b1785555b01920192019190612151565b015190508c80612219565b90848a5260208a20918a5b601f1985168110612299575083602093600196938796938794601f19811610612280575b505050811b01855561222d565b015160001960f88460031b161c191690558c8080612273565b9192602060018192868501518155019401920161224f565b600c8501865260208620908382015b81830181106122d0575050612140565b80886122de600193546144c7565b806122ec575b5050016122c0565b601f81118414612304575050600081555b888a6122e4565b82825261231f601f60208420920160051c8201858301614501565b60008355556122fd565b634e487b7160e01b85526041600452602485fd5b82516001600160a01b031681830155602090920191600101612110565b634e487b7160e01b86526041600452602486fd5b6001906020845194019381840155016120c4565b015190508580612068565b6009840185526020852090855b601f19841681106123e1575060019394959683601f198116106123c8575b505050811b016009830155612080565b015160001960f88460031b161c191690558580806123b8565b9091602060018192858b01518155019301910161239a565b634e487b7160e01b84526041600452602484fd5b015190508580612006565b6008830184526020842090845b601f198416811061246c575060019394959683601f19811610612453575b505050811b01600882015561201e565b015160001960f88460031b161c19169055858080612443565b9091602060018192858b015181550193019101612425565b634e487b7160e01b83526041600452602483fd5b015190508580611fa4565b6007850183526020832090835b601f19841681106124f7575060019394959683601f198116106124de575b505050811b016007840155611fbc565b015160001960f88460031b161c191690558580806124ce565b9091602060018192858b0151815501930191016124b0565b634e487b7160e01b82526041600452602482fd5b634e487b7160e01b86526021600452602486fd5b61254090613f9f565b61254b578183611edd565b5080fd5b8380fd5b6125618160808401516144ae565b6080830152611ddd565b90506020813d60201161259a575b8161258660209383614005565b81010312612595575183611dc1565b600080fd5b3d9150612579565b6040513d85823e3d90fd5b60405162461bcd60e51b815260206004820152600c60248201526b105b1c9958591e559bdd195960a21b6044820152606490fd5b634e487b7160e01b83526021600452602483fd5b60016020819261014261260e8d6040519283809261458f565b815201990191019097611ce1565b5034610696576101003660031901126106965761263761403c565b60015460243592916001600160a01b039160443591839061265b828416331461435b565b169081612801575b50506040516343fb395960e11b8152600481018590526020949073__$78154407706f9208c00fe8de1d937b8093$__908681602481855af49081156127f65786916127d9575b50156127a4578560249160405192838092637365e75160e01b82528760048301525af490811561279957859161276c575b50156127345783945060055560065560643560075560843560085560a43560095560c435600a5560e435600b5560135460081c16803b156106bd5781604051809263f79aa74560e01b82528183816118f46004820161441c565b60405162461bcd60e51b815260048101869052601060248201526f125b9d985b1a59151a1c995cda1bdb1960821b6044820152606490fd5b61278c9150863d8811612792575b6127848183614005565b810190614496565b386126da565b503d61277a565b6040513d87823e3d90fd5b60405162461bcd60e51b815260048101879052600d60248201526c496e76616c696451756f72756d60981b6044820152606490fd5b6127f09150873d8911612792576127848183614005565b386126a9565b6040513d88823e3d90fd5b6001600160a01b031916176001553880612663565b5034610696576020366003190112610696576004358152600f602052604081209060405161284381613fb2565b8254815260018301546001600160a01b038116602083015261286e9060a01c60ff16604083016144bb565b6002830154606082015260038301546080820152600483015460a0820152600583015460c0820152600683015460e08201526040516128b481610142816007880161458f565b6101008201526040516128ce81610142816008880161458f565b6101208201526040516128e881610142816009880161458f565b610140820152604051926128fb84613f84565b60405161290f8161014281600a8601614625565b84526040516129258161014281600b8601614662565b6020850152600c810193845461293a81614344565b906129486040519283614005565b80825260208201968652602086209686905b828210612ff45750505090600f92916040820152610160840152600d810154610180840152600e8101546101a084015201546101c0820152604081015160058110156125e15760016129ac911461494f565b6129be6101608201515151151561498b565b6129cf60e0820151600954906144ae565b431115612fbe576004358252601060205260408220600460ff19825416179055600460408201526004358252600f60205260408220908051825560018060a01b0360208201511660018301549060408301516005811015612523576001600160a81b03199092161760a091821b60ff60a01b161760018401556060820151600284015560808201516003840155810151600483015560c0810151600583015560e0810151600683015561010081015180519093906001600160401b03811161250f57612aa2816103c260078701546144c7565b6020601f8211600114612f525782939495829392612f47575b50508160011b916000199060031b1c19161760078401555b6101208201519283516001600160401b03811161248457612afb81611fe460088501546144c7565b6020601f8211600114612edb5783949582939492612ed0575b50508160011b916000199060031b1c19161760088201555b6101408301519283516001600160401b0381116123f957612b548161204660098601546144c7565b6020601f8211600114612e645784958293949592612e59575b50508160011b916000199060031b1c19161760098301555b61016081015180518051906001600160401b03821161235a57600160401b821161235a576020600a860191612bbf8484548186558561455f565b0190865260208620865b838110612e45575050505060208101518051906001600160401b03821161235a57600160401b821161235a576020600b860191612c0b8484548186558561455f565b0190865260208620865b838110612e28575050505060400151805190600160401b821161232957600c84015482600c860155808310612db0575b50602001600c840185526020852085915b838310612cd7578686600f6101c088610180810151600d8501556101a0810151600e85015501519101558060018060a01b0360135460081c166004358252600f60205260408220601060205260ff604084205416823b156106a4576118f4928492836040518096819582946378dbb4b360e11b845260043560048501614808565b80518051906001600160401b03821161085c57612cf8826106e186546144c7565b602090601f8311600114612d435792826001949360209386958d92612d38575b5050600019600383901b1c191690841b1785555b01920192019190612c56565b015190508c80612d18565b90848a5260208a20918a5b601f1985168110612d98575083602093600196938796938794601f19811610612d7f575b505050811b018555612d2c565b015160001960f88460031b161c191690558c8080612d72565b91926020600181928685015181550194019201612d4e565b600c8501865260208620908382015b8183018110612dcf575050612c45565b8088612ddd600193546144c7565b80612deb575b505001612dbf565b601f81118414612e03575050600081555b888a612de3565b828252612e1e601f60208420920160051c8201858301614501565b6000835555612dfc565b82516001600160a01b031681830155602090920191600101612c15565b600190602084519401938184015501612bc9565b015190508580612b6d565b6009840185526020852090855b601f1984168110612eb8575060019394959683601f19811610612e9f575b505050811b016009830155612b85565b015160001960f88460031b161c19169055858080612e8f565b9091602060018192858b015181550193019101612e71565b015190508580612b14565b6008830184526020842090845b601f1984168110612f2f575060019394959683601f19811610612f16575b505050811b016008820155612b2c565b015160001960f88460031b161c19169055858080612f06565b9091602060018192858b015181550193019101612ee8565b015190508580612abb565b6007850183526020832090835b601f1984168110612fa6575060019394959683601f19811610612f8d575b505050811b016007840155612ad3565b015160001960f88460031b161c19169055858080612f7d565b9091602060018192858b015181550193019101612f5f565b60405162461bcd60e51b815260206004820152600e60248201526d141bdb1b139bdd115e1c1a5c995960921b6044820152606490fd5b60016020819261014261300d8d6040519283809261458f565b81520199019101909761295a565b50346106965760031960a03682011261254b576024356001600160401b0381116137e35761304d9036906004016140b8565b6044356001600160401b03811161254f5761306c9036906004016140b8565b6064356001600160401b038111610bc45761308b9036906004016140b8565b926001600160401b0360843511610bc4576060906084353603011261254f576040516130b681613f84565b608435600401356001600160401b038111613b52573660238260843501011215613b52576004816084350101356130ec81614344565b916130fa6040519384614005565b81835260208301903660248460051b8360843501010111611b7157906024826084350101915b60248460051b826084350101018310613d5c57505050508152602460843501356001600160401b038111613b52573660238260843501011215613b525760048160843501013561316f81614344565b9161317d6040519384614005565b81835260208301903660248460051b8360843501010111611b7157906024826084350101915b60248460051b826084350101018310613d4057505050506020820152604460843501356001600160401b038111613b52573660238260843501011215613b52576004816084350101356131f581614344565b916132036040519384614005565b81835260208301903660248460051b8360843501010111611b71576024816084350101915b60248460051b836084350101018310613cec5750505050604082015261324c614830565b60405163534b916f60e11b8152602060048201819052818061327160248201876143a0565b038173__$78154407706f9208c00fe8de1d937b8093$__5af49081156127f6578691613ccd575b5015610bc457604051636f37ce7960e11b815260206004820181905281806132c360248201886143a0565b038173__$78154407706f9208c00fe8de1d937b8093$__5af49081156127f6578691613cae575b5015610bc45760405163cabf798f60e01b8152602060048201819052818061331560248201896143a0565b038173__$78154407706f9208c00fe8de1d937b8093$__5af49081156127f6578691613c8f575b5015610bc457600a5460043510613c4a57600435613b6a575b600c5493600185018511613b565760018501600c55613378600435600e546144ae565b600e55601354869060081c6001600160a01b0316803b1561254b57604051631081eeb960e11b8152600c546004820152600d546024820152600e5460448201529082908290606490829084905af1801561069957613b3e575b50506003546040516313708d9960e01b81526001600160a01b0390911660048201524360248201529260208460448173__$78154407706f9208c00fe8de1d937b8093$__5af4938415613b33578794613aff575b50613432600754436144ae565b946040519561344087613fb2565b6001880187523360208801528860408801528860608801528860808801524360a08801524260c088015260e0870152610100860152610120850152610140840152610160830152600435610180830152836101a08301526101c0820152600182018352600f60205260408320908051825560018060a01b0360208201511660018301549060408301516005811015610cb7576001600160a81b03199092161760a091821b60ff60a01b161760018401556060820151600284015560808201516003840155810151600483015560c0810151600583015560e081015160068301556101008101518051906001600160401b03821161235a5781906135538261354a60078801546144c7565b60078801614518565b602090601f8311600114613a90578792613a85575b50508160011b916000199060031b1c19161760078301555b6101208101518051906001600160401b03821161235a5781906135b3826135aa60088801546144c7565b60088801614518565b602090601f8311600114613a16578792613a0b575b50508160011b916000199060031b1c19161760088301555b6101408101518051906001600160401b03821161235a5781906136138261360a60098801546144c7565b60098801614518565b602090601f831160011461399c578792613991575b50508160011b916000199060031b1c19161760098301555b61016081015180518051906001600160401b03821161396957600160401b8211613969576020600a86019161367a8484548186558561455f565b0190875260208720875b83811061397d575050505060208101518051906001600160401b03821161396957600160401b8211613969576020600b8601916136c68484548186558561455f565b0190875260208720875b83811061394c575050505060400151805190600160401b821161235a57600c84015482600c8601558083106138d4575b50602001600c840186526020862086915b8383106137e757505050506101c081610180600f930151600d8501556101a0810151600e850155015191015560018101825260106020526040822060ff19815416905560018060a01b0360135460081c16600182018352600f602052826040812091601060205260ff60408320541690803b156137e3576137ad93836040518096819582946378dbb4b360e11b845260018b0160048501614808565b03925af180156125a2576137cf575b6020826001601255600160405191018152f35b6137d98391613f9f565b61254b57816137bc565b8280fd5b80518051906001600160401b0382116138c057613808826106e186546144c7565b6020908a601f841160011461385357928060209360019693879692613848575b5050600019600383901b1c191690841b1785555b01920192019190613711565b015190503880613828565b85905260208b2091908b5b601f19851681106138a8575083602093600196938796938794601f1981161061388f575b505050811b01855561383c565b015160001960f88460031b161c19169055388080613882565b9192602060018192868501518155019401920161385e565b634e487b7160e01b8a52604160045260248afd5b600c8501875260208720908382015b81830181106138f3575050613700565b8089613901600193546144c7565b8061390f575b5050016138e3565b601f81118414613927575050600081555b8938613907565b828252613942601f60208420920160051c8201858301614501565b6000835555613920565b82516001600160a01b0316818301556020909201916001016136d0565b634e487b7160e01b87526041600452602487fd5b600190602084519401938184015501613684565b015190503880613628565b9250600985018752602087209087935b601f19841685106139f0576001945083601f198116106139d7575b505050811b016009830155613640565b015160001960f88460031b161c191690553880806139c7565b818101518355602094850194600190930192909101906139ac565b0151905038806135c8565b9250600885018752602087209087935b601f1984168510613a6a576001945083601f19811610613a51575b505050811b0160088301556135e0565b015160001960f88460031b161c19169055388080613a41565b81810151835560209485019460019093019290910190613a26565b015190503880613568565b9250600785018752602087209087935b601f1984168510613ae4576001945083601f19811610613acb575b505050811b016007830155613580565b015160001960f88460031b161c19169055388080613abb565b81810151835560209485019460019093019290910190613aa0565b9093506020813d602011613b2b575b81613b1b60209383614005565b8101031261259557519238613425565b3d9150613b0e565b6040513d89823e3d90fd5b613b4790613f9f565b613b525785386133d1565b8580fd5b634e487b7160e01b86526011600452602486fd5b6002546040516323b872dd60e01b81523360048083019190915230602483015235604482015290602090829060649082908a906001600160a01b03165af180156127f657613c2b575b5060135460025486916001600160a01b039182169160089190911c16803b156137e357608483926040519485938492636623f84560e11b8452600484015233602484015230604484015260043560648401525af180156127f657613c18575b50613355565b613c2490959195613f9f565b9338613c12565b613c439060203d602011612792576127848183614005565b5038613bb3565b60405162461bcd60e51b815260206004820152601b60248201527f496e73756666696369656e7450726f706f73616c4465706f73697400000000006044820152606490fd5b613ca8915060203d602011612792576127848183614005565b3861333c565b613cc7915060203d602011612792576127848183614005565b386132ea565b613ce6915060203d602011612792576127848183614005565b38613298565b8235906001600160401b038211613d3c5736604383856084350101011215613d3c576024916020918291613d2f9036906084358801018087013590604401614081565b8152019301929050613228565b8a80fd5b602080602493613d4f86614052565b81520193019291506131a3565b60208060249385358152019301929150613120565b5034610696576040366003190112610696576001600160401b036004358181116137e357613da39036906004016140ea565b90613dac614026565b6001600160a01b03929083811615613f475760135460ff8116613f0c576001916101008360a81b039060081b16906affffffffffffffffffffff60a81b161717601355610180838183015116936020830151166040830151606084015160808501519160a08601519360c08701519560e08801519761010080910151996040519283019083821090821117613ef8579187610160928e8e8e96604052845286602085015280604085015280606085015260808401528660a08401528760c08401528860e0840152820152886101208201528961014082015201526bffffffffffffffffffffffff60a01b98898b5416178a55886001541617600155876002541660025587600354166003558760045416600455600555600655600755600855600955600a55600b5533906014541617601455613ee9604051613f84565b80600c5580600d5580600e5580f35b634e487b7160e01b8d52604160045260248dfd5b60405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5cd959606a1b6044820152606490fd5b60405162461bcd60e51b8152602060048201526015602482015274496e76616c6964456d69747465724164647265737360581b6044820152606490fd5b606081019081106001600160401b03821117610c6957604052565b6001600160401b038111610c6957604052565b6101e081019081106001600160401b03821117610c6957604052565b61016081019081106001600160401b03821117610c6957604052565b604081019081106001600160401b03821117610c6957604052565b90601f801991011681019081106001600160401b03821117610c6957604052565b602435906001600160a01b038216820361259557565b600435906001600160a01b038216820361259557565b35906001600160a01b038216820361259557565b6001600160401b038111610c6957601f01601f191660200190565b92919261408d82614066565b9161409b6040519384614005565b829481845281830111612595578281602093846000960137010152565b9080601f83011215612595578160206140d393359101614081565b90565b35906001600160801b038216820361259557565b6101a09291818103841361259557604093845192818401906001600160401b039185811083821117610c6957875284968135865260209461412c868401614052565b86880152818301358288015260608301356060880152608091828401358389015260a084013560a089015260c084013560c089015260e084013560e08901526101009687850135888a015261012092838601358781116125955786019483868303126125955783519561419e87613fea565b803560038110156125955787528381013590898211612595570190818303906101e08212612595578551956141d287613fce565b6141db84614052565b87528584013586880152808401358b811161259557856141fc9186016140b8565b8188015260608401358b811161259557856142189186016140b8565b606088015260a0607f198401126125955780519261423584613fea565b828501359060038210156125955783918552609f190112612595578051908282018281108d821117610c6957815261426f60a086016140d6565b825260c08501358783015261428660e086016140d6565b908201526142958d85016140d6565b6060820152858301528501528481013588811161259557826142b89183016140b8565b60a08501526101409788820135908111612595576101c0926142db9183016140b8565b60c0850152610160988982013560e08601526101809a6142fc8c8401614052565b9086015281013585850152013586830152830152860152818101359260038410156125955761433f938593870152614335818301614052565b9086015201614052565b910152565b6001600160401b038111610c695760051b60200190565b1561436257565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b60031115610a0657565b919082519283825260005b8481106143cc575050826000602080949584010152601f8019910116010190565b6020818301810151848301820152016143ab565b156143e757565b60405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081a5b9c1d5d609a1b6044820152606490fd5b6000546001600160a01b03908116825260015481166020830152600254811660408301526003548116606083015260045416608082015260055460a082015260065460c082015260075460e0820152600854610100820152600954610120820152600a54610140820152600b546101608201526101800190565b90816020910312612595575180151581036125955790565b91908201809211610a1c57565b6005821015610a065752565b90600182811c921680156144f7575b60208310146144e157565b634e487b7160e01b600052602260045260246000fd5b91607f16916144d6565b81811061450c575050565b60008155600101614501565b9190601f811161452757505050565b614553926000526020600020906020601f840160051c83019310614555575b601f0160051c0190614501565b565b9091508190614546565b9181811061456c57505050565b6145539260005260206000209182019101614501565b906005821015610a065752565b90600092918054916145a0836144c7565b91828252600193848116908160001461460257506001146145c2575b50505050565b90919394506000526020928360002092846000945b8386106145ee5750505050010190388080806145bc565b8054858701830152940193859082016145d7565b9294505050602093945060ff191683830152151560051b010190388080806145bc565b90815480825260208092019260005281600020916000905b82821061464b575050505090565b83548552938401936001938401939091019061463d565b90815480825260208092019260005281600020916000905b828210614688575050505090565b83546001600160a01b03168552938401936001938401939091019061467a565b9081548152600191828101546146d760209160018060a01b0381168386015260ff604086019160a01c16614582565b6002820154606084015260038201546080840152600482015460a0840152600582015460c0840152600682015460e084015261474b6147396147276101e08061010088015286016007860161458f565b8581036101208701526008850161458f565b8481036101408601526009840161458f565b938385036101608501526060855261477c61476c60608701600a8601614625565b86810384880152600b8501614662565b91600c840195604081850391015285549081845280840193818360051b8201019760005281600020946000915b8483106147db5750505050505050600f81600d6101c0930154610180850152600e8101546101a0850152015491015290565b909192939484816147f781999c601f198682030187528d61458f565b9b01930193019195949392906147a9565b9392906148286145539360409287526060602088015260608701906146a8565b940190614582565b600260125414614841576002601255565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b1561488d57565b60405162461bcd60e51b8152602060048201526011602482015270506f6c6c4e6f74496e50726f677265737360781b6044820152606490fd5b81156148d0570490565b634e487b7160e01b600052601260045260246000fd5b906148f082614344565b6148fd6040519182614005565b828152809261490e601f1991614344565b0190602036910137565b8051156149255760200190565b634e487b7160e01b600052603260045260246000fd5b80518210156149255760209160051b010190565b1561495657565b60405162461bcd60e51b815260206004820152600d60248201526c141bdb1b139bdd14185cdcd959609a1b6044820152606490fd5b1561499257565b60405162461bcd60e51b815260206004820152600d60248201526c4e6f457865637574654461746160981b6044820152606490fd5b6000198114610a1c5760010190565b81810392916000138015828513169184121617610a1c57565b91909160008382019384129112908015821691151617610a1c57565b6001600160ff1b038114610a1c5760010190565b600160ff1b8114610a1c576000190190565b91908082838214614b3c57614a62614a5c614a56614a4f85886149d6565b6002900590565b846149ef565b8661493b565b515b81841315614a9d5750808212614a8c575b5050818112614a8357505050565b61455392614a31565b614a969185614a31565b3880614a75565b959192949390945b86614ab0828761493b565b511015614ac557614ac090614a0b565b614aa5565b95945b614ad2818661493b565b51861015614ae857614ae390614a1f565b614ac8565b90939495929195818413614a64579092614b30614b3691614b09868961493b565b51614b14828a61493b565b51614b1f888b61493b565b52614b2a828a61493b565b52614a0b565b93614a1f565b90614a64565b5050505050565b15614b4a57565b60405162461bcd60e51b815260206004820152600c60248201526b141bdb1b139bdd119bdd5b9960a21b6044820152606490fd5b909291604090815194614b9086613fea565b601d86526020937f63616c6c20726576657274656420776974686f7574206d6573736167650000008588015260005b8151811015614c4657614c3990614c33896000806001600160a01b03614be5868961493b565b5116614bf1868a61493b565b5190614bfd878c61493b565b51918d83519301915af13d15614c3e573d90614c1882614066565b91614c258b519384614005565b82523d60008c84013e614c50565b506149c7565b614bbf565b606090614c50565b5050505050509050565b90919015614c5c575090565b815115614c6c5750805190602001fd5b60405162461bcd60e51b815260206004820152908190614c909060248301906143a0565b0390fdfea264697066735822122012a72462cf2a1ef355f5e0ad5ecc05c94fa0a2372d0c4a0871fda0570190f94a64736f6c63430008120033"; + "0x6080806040523461002557600160125560ff1960135416601355614d22908161002b8239f35b600080fdfe6080604052600436101561001257600080fd5b6000803560e01c80630d42a43914613dc457806315c476d0146130695780631fbeda74146128645780634682eb371461266a5780635678138814611bb3578063873e9e1914611b4d578063d413c2f514611916578063d7e5fbf314611850578063e68f909d146116df578063e947957d14610cf15763f43b87781461009657600080fd5b34610697576020366003190112610697576100af614888565b60608081906004358452600f6020526040842092604051936100d085613ff3565b8054855260018101546001600160a01b03811660208701526100fb9060a01c60ff1660408701614513565b60028101549082860191825260038101546080870152600481015460a0870152600581015460c0870152600681015460e087015260405161014a8161014381600786016145e7565b0382614046565b6101008701526040516101648161014381600886016145e7565b61012087015260405161017e8161014381600986016145e7565b61014087015260405161019081613fd8565b6040516101a48161014381600a870161467d565b81526040516101ba8161014381600b87016146ba565b6020820152600c820180546101ce81614392565b916101dc6040519384614046565b8183528a526020808b208b9184015b838310610ccc575050505090600f92916040820152610160880152600d810154610180880152600e8101546101a088015201546101c086015260408501516005811015610cb85761023c90156148de565b60e0850151431115610c80576102586080860151825190614506565b60026040518060208101106001600160401b03602083011117610c6a57602081016040528890526101c087015180610c3257508791885b8115908115610c26575b5015610a3357509071145d5bdc9d5b481b9bdd081c995858da195960721b60206040516102c58161402b565b6012815201525b6101a0870152610180860151600e548082810311610a1d5703600e556004358752601060205260408720906005811015610a075761031a9160ff1981541660ff831617905560408701614513565b6004358652600f60205260408620908551825560018060a01b03602087015116600183015490604088015160058110156109f3576001600160a81b03199092161760a091821b60ff60a01b161760018401559051600283015560808601516003830155850151600482015560c0850151600582015560e085015160068201556101008501518051906001600160401b03821161082c5781906103cc826103c3600787015461451f565b60078701614570565b602090601f8311600114610984578992610979575b50508160011b916000199060031b1c19161760078201555b6101208501518051906001600160401b03821161082c57819061042c82610423600887015461451f565b60088701614570565b602090601f831160011461090a5789926108ff575b50508160011b916000199060031b1c19161760088201555b6101408501518051906001600160401b03821161082c57819061048c82610483600987015461451f565b60098701614570565b602090601f8311600114610890578992610885575b50508160011b916000199060031b1c19161760098201555b61016085015180518051906001600160401b03821161085d57600160401b821161085d576020600a8501916104f3848454818655856145b7565b0190895260208920895b838110610871575050505060208101518051906001600160401b03821161085d57600160401b821161085d576020600b85019161053f848454818655856145b7565b0190895260208920895b838110610840575050505060400151805190600160401b821161082c57600c83015482600c8501558083106107b4575b50602001600c830188526020882088915b8383106106c15750505050600f6101c0866101806105be980151600d8501556101a0810151600e8501550151910155614bd6565b601354819060081c6001600160a01b0316803b156106be57604051631081eeb960e11b8152600c546004820152600d546024820152600e5460448201529082908290606490829084905af1801561069a576106aa575b5060018060a01b0360135460081c166004358252600f60205260408220601060205260ff604084205416823b156106a55761066b928492836040518096819582946378dbb4b360e11b845260043560048501614860565b03925af1801561069a57610683575b50600160125580f35b61068c90613fc5565b61069757803861067a565b80fd5b6040513d84823e3d90fd5b505050fd5b6106b390613fc5565b610697578038610614565b50fd5b80518051906001600160401b0382116107a0576106e8826106e2865461451f565b86614570565b6020908c601f841160011461073357928060209360019693879692610728575b5050600019600383901b1c191690841b1785555b0192019201919061058a565b015190503880610708565b85905260208d2091908d5b601f1985168110610788575083602093600196938796938794601f1981161061076f575b505050811b01855561071c565b015160001960f88460031b161c19169055388080610762565b9192602060018192868501518155019401920161073e565b634e487b7160e01b8c52604160045260248cfd5b600c8401895260208920908382015b81830181106107d3575050610579565b808b6107e16001935461451f565b806107ef575b5050016107c3565b601f81118414610807575050600081555b8b386107e7565b828252610822601f60208420920160051c8201858301614559565b6000835555610800565b634e487b7160e01b88526041600452602488fd5b82516001600160a01b031681830155602090920191600101610549565b634e487b7160e01b89526041600452602489fd5b6001906020845194019381840155016104fd565b0151905038806104a1565b9250600984018952602089209089935b601f19841685106108e4576001945083601f198116106108cb575b505050811b0160098201556104b9565b015160001960f88460031b161c191690553880806108bb565b818101518355602094850194600190930192909101906108a0565b015190503880610441565b9250600884018952602089209089935b601f198416851061095e576001945083601f19811610610945575b505050811b016008820155610459565b015160001960f88460031b161c19169055388080610935565b8181015183556020948501946001909301929091019061091a565b0151905038806103e1565b9250600784018952602089209089935b601f19841685106109d8576001945083601f198116106109bf575b505050811b0160078201556103f9565b015160001960f88460031b161c191690553880806109af565b81810151835560209485019460019093019290910190610994565b634e487b7160e01b8a52602160045260248afd5b634e487b7160e01b600052602160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b835180606481020460641481151715610c1257906064610a53920261491e565b6006541015610bdf57506001905b610180870151156102cc57604051955093509150610a7e8461402b565b6001845260203681860137839160405193610a988561402b565b6001855260203681870137878560405190610ab28261402b565b6001825260005b60208110610bc957508183610ae9610b3793610ae3959c60018060a01b0360025416968791614970565b52614970565b5260208b8101516101808d015160405163a9059cbb60e01b938101939093526001600160a01b0390911660248301526044808301919091528152610b2e606482614046565b610ae382614970565b5060135460208a01516101808b01516001600160a01b039182169392909160089190911c16803b15610bc5576040516360fb85bd60e01b81526001600160a01b039384166004820152939092166024840152604483015282908290606490829084905af1801561069a57610bad575b50506102cc565b610bb690613fc5565b610bc1578738610ba6565b8780fd5b8480fd5b606060208483018101919091528c945001610ab9565b9074151a1c995cda1bdb19081b9bdd081c995858da1959605a1b6020604051610c078161402b565b601581520152610a61565b634e487b7160e01b8a52601160045260248afd5b90506005541138610299565b9180606481020460641481151715610c5657610c51836064830261491e565b61028f565b634e487b7160e01b89526011600452602489fd5b634e487b7160e01b600052604160045260246000fd5b60405162461bcd60e51b815260206004820152601060248201526f141bdb1b159bdd1a5b99d4195c9a5bd960821b6044820152606490fd5b634e487b7160e01b87526021600452602487fd5b600160208192604051610ce38161014381896145e7565b8152019201920191906101eb565b503461069757602036600319011261069757610d0b614888565b600435600052600f602052604060002090604051610d2881613ff3565b8254815260018301546001600160a01b0381166020830152610d539060a01c60ff1660408301614513565b6002830154606082015260038301546080820152600483015460a0820152600583015460c0820152600683015460e0820152604051610d998161014381600788016145e7565b610100820152604051610db38161014381600888016145e7565b610120820152604051610dcd8161014381600988016145e7565b61014082015260405192610de084613fd8565b604051610df48161014381600a860161467d565b8452604051610e0a8161014381600b86016146ba565b6020850152600c8101938454610e1f81614392565b90610e2d6040519283614046565b80825260208201966000526020600020966000905b8282106116b85750505090600f92916040820152610160840152600d810154610180840152600e8101546101a084015201546101c082015260408101516005811015610a07576001610e9491146149a7565b610ea560e082015160085490614506565b43111561167e5760043560005260106020526040600020600360ff1982541617905560036040820152600435600052600f60205260406000208151815560018060a01b0360208301511660018201549060408401516005811015610a07576001600160a81b03199092161760a091821b60ff60a01b161760018301556060830151600283015560808301516003830155820151600482015560c0820151600582015560e0820151600682015561010082015180519093906001600160401b038111610c6a57610f8481610f7b600786015461451f565b60078601614570565b6020601f821160011461160f578192939495600092611604575b50508160011b916000199060031b1c19161760078301555b6101208301519283516001600160401b038111610c6a57610fde81610423600887015461451f565b6020601f821160011461159557819293949560009261158a575b50508160011b916000199060031b1c19161760088401555b6101408101519283516001600160401b038111610c6a5761104181611038600985015461451f565b60098501614570565b6020601f821160011461151b578192939495600092611510575b50508160011b916000199060031b1c19161760098201555b61016082015180518051906001600160401b038211610c6a57600160401b8211610c6a576020600a8501916110ad848454818655856145b7565b0190600052602060002060005b8381106114fc575050505060208101518051906001600160401b038211610c6a57600160401b8211610c6a576020600b8501916110fc848454818655856145b7565b0190600052602060002060005b8381106114df575050505060400151805190600160401b8211610c6a57600c83015482600c850155808310611467575b5060200190600c83016000526020600020916000905b8282106113845750505050610180820151600d8201556101a0820151600e820155600f6101c083015191015561118d610160820151515115156149e3565b61119d610160820151515161493e565b506101608101515180516000198101908111610a1d576111bf90600083614a89565b61016082015151906111d082614970565b519360015b8351811015611216576111e88185614993565b5186106111fe575b6111f990614a1f565b6111d5565b94506111f961120d8685614993565b519590506111f0565b508360018601808711610a1d5761122c9061493e565b9260005b81519060ff811691821015611268578161125661124f60ff9486614993565b5188614993565b521660ff8114610a1d57600101611230565b50505061127b610160820151515161493e565b61128b610160830151515161493e565b9061016083015151519461129e86614392565b956112ac6040519788614046565b8087526112bb601f1991614392565b0160005b81811061137357505060005b61016085015151805182101561135f579060006113546112f86112f18461135a96614993565b5186614993565b51610160890151602001516001600160a01b0390611317908690614993565b51166113238289614993565b526113378460406101608c01510151614993565b51611342828d614993565b5261134d818c614993565b5087614993565b52614a1f565b6112cb565b8661136b898787614bd6565b600160125580f35b806060602080938b010152016112bf565b80518051906001600160401b038211610c6a576113ab826113a5885461451f565b88614570565b602090601f83116001146113f75792826001949360209386956000926113ec575b5050600019600383901b1c191690841b1787555b0194019101909261114f565b015190508c806113cc565b908660005260206000209160005b601f198516811061144f575083602093600196938796938794601f19811610611436575b505050811b0187556113e0565b015160001960f88460031b161c191690558c8080611429565b91926020600181928685015181550194019201611405565b600c84016000526020600020908382015b8183018110611488575050611139565b806114956001925461451f565b806114a2575b5001611478565b601f811183146114b85750600081555b8961149b565b6000908282526114d6601f60208420920160051c8201858301614559565b818355556114b2565b82516001600160a01b031681830155602090920191600101611109565b6001906020845194019381840155016110ba565b01519050858061105b565b6009830160005260206000209060005b601f1984168110611572575060019394959683601f19811610611559575b505050811b016009820155611073565b015160001960f88460031b161c19169055858080611549565b9091602060018192858b01518155019301910161152b565b015190508580610ff8565b6008850160005260206000209060005b601f19841681106115ec575060019394959683601f198116106115d3575b505050811b016008840155611010565b015160001960f88460031b161c191690558580806115c3565b9091602060018192858b0151815501930191016115a5565b015190508580610f9e565b6007840160005260206000209060005b601f1984168110611666575060019394959683601f1981161061164d575b505050811b016007830155610fb6565b015160001960f88460031b161c1916905585808061163d565b9091602060018192858b01518155019301910161161f565b60405162461bcd60e51b8152602060048201526012602482015271151a5b595b1bd8dad39bdd115e1c1a5c995960721b6044820152606490fd5b6001602081926101436116d18d604051928380926145e7565b815201990191019097610e42565b50346106975780600319360112610697576101406040516116ff8161400f565b8281528260208201528260408201528260608201528260808201528260a08201528260c08201528260e08201528261010082015282610120820152015261016060018060a01b036001541661014060018060a01b036002541660018060a01b036003541660018060a01b03600454166005546006546007546008549160095493600a5495600b5497604051996117948b61400f565b8c8b5260208b015260408a01526060890152608088015260a087015260c086015260e08501526101008401526101208301528282015260405192835260018060a01b03602082015116602084015260018060a01b03604082015116604084015260018060a01b0360608201511660608401526080810151608084015260a081015160a084015260c081015160c084015260e081015160e08401526101008101516101008401526101208101516101208401520151610140820152f35b5034610697576040366003190112610697578061186b614067565b61187361407d565b60018060a01b0380809361188c826001541633146143a9565b1691611899831515614438565b16906118a6821515614438565b6bffffffffffffffffffffffff60a01b90816003541617600355600454161760045560135460081c16803b156106be5781604051809263f79aa74560e01b82528183816118f560048201614474565b03925af1801561069a576119065750f35b61190f90613fc5565b6106975780f35b5034610697576040366003190112610697576004356001600160401b038111611b495761194790369060040161412b565b61194f61407d565b6001600160a01b03811615611b0c5760135460ff8116611ad1576001916101008360a81b039060081b16906affffffffffffffffffffff60a81b16171760135560018060a01b03610180820151169060018060a01b036020820151169060408101516060820151608083015160a08401519160c08501519361010060e087015196015196604051806101808101106001600160401b0361018083011117610c6a57610160816101808b93016040528b81528360208201528c60408201528c60608201528c60808201528460a08201528560c08201528660e082015287610100820152886101208201528961014082015201526bffffffffffffffffffffffff60a01b9889600054161760005588600154161760015560018060a01b0389168089600254161760025580896003541617600355886004541617600455600555600655600755600855600955600a55600b55339060145416176014558060408051611ab781613fd8565b828152826020820152015280600c5580600d5580600e5580f35b60405162461bcd60e51b8152602060048201526013602482015272105b1c9958591e481a5b9a5d1a585b1a5cd959606a1b6044820152606490fd5b60405162461bcd60e51b8152602060048201526015602482015274496e76616c6964456d69747465724164647265737360581b6044820152606490fd5b5080fd5b503461069757806003193601126106975760408051611b6b81613fd8565b82815282602082015201526060604051611b8481613fd8565b600c5490818152600d54602082019081526040600e549201918252604051928352516020830152516040820152f35b5034610697576040366003190112610697576002602435101561069757611bdd6004351515614b9b565b611bed600435600c541015614b9b565b6004358152600f6020526040812090604051611c0881613ff3565b8254815260018301546001600160a01b0381166020830152611c339060a01c60ff1660408301614513565b6002830154606082015260038301546080820152600483015460a0820152600583015460c0820152600683015460e0820152604051611c798161014381600788016145e7565b610100820152604051611c938161014381600888016145e7565b610120820152604051611cad8161014381600988016145e7565b61014082015260405192611cc084613fd8565b604051611cd48161014381600a860161467d565b8452604051611cea8161014381600b86016146ba565b6020850152600c8101938454611cff81614392565b90611d0d6040519283614046565b80825260208201968652602086209686905b8282106126435750505090600f92916040820152610160840152600d810154610180840152600e8101546101a084015201546101c08201526040810151600581101561262f57611d6f90156148de565b611d7f60e08201514311156148de565b60043582526011602052604082203360005260205260ff600260406000200154166125fb5760035460a08201516040516375ea696960e01b81526001600160a01b039092166004830152336024830152604482015260208160648173__$78154407706f9208c00fe8de1d937b8093$__5af49081156125f05783916125b9575b50611e0b6024356143e4565b6024356125a157611e20816060840151614506565b60608301525b60043583526011602052604083203360005260205260026040600020019060ff1991600183825416179055600435845260116020526040842033600052602052600160406000200155600435835260116020526040832033600052602052604060002090611e956024356143e4565b81541660ff602435161790558160018060a01b0360135460081c16600435825260116020526040822033600052602052604060002090803b1561259d57600260a460ff938580946040519687958694633b3c187760e01b8652600435600487015233602487015282815416611f09816143e4565b604487015260018101546064870152015416151560848401525af1801561069a57612589575b50506004358252600f60205260408220908051825560018060a01b0360208201511660018301549060408301516005811015612575576001600160a81b03199092161760a091821b60ff60a01b161760018401556060820151600284015560808201516003840155810151600483015560c0810151600583015560e0810151600683015561010081015180519093906001600160401b03811161256157611fdd816103c3600787015461451f565b6020601f82116001146124f557829394958293926124ea575b50508160011b916000199060031b1c19161760078401555b6101208201519283516001600160401b0381116124d65761203f81612036600885015461451f565b60088501614570565b6020601f821160011461246a578394958293949261245f575b50508160011b916000199060031b1c19161760088201555b6101408301519283516001600160401b03811161244b576120a181612098600986015461451f565b60098601614570565b6020601f82116001146123df57849582939495926123d4575b50508160011b916000199060031b1c19161760098301555b61016081015180518051906001600160401b0382116123ac57600160401b82116123ac576020600a86019161210c848454818655856145b7565b0190865260208620865b8381106123c0575050505060208101518051906001600160401b0382116123ac57600160401b82116123ac576020600b860191612158848454818655856145b7565b0190865260208620865b83811061238f575050505060400151805190600160401b821161237b57600c84015482600c860155808310612303575b50602001600c840185526020852085915b83831061222a578686600f6101c088610180810151600d8501556101a0810151600e85015501519101558060018060a01b0360135460081c166004358252600f6020526040822090803b15612226576118f5839291839260405194858094819363077d7b2960e51b83526004356004840152604060248401526044830190614700565b5050fd5b80518051906001600160401b03821161085d5761224b826106e2865461451f565b602090601f83116001146122965792826001949360209386958d9261228b575b5050600019600383901b1c191690841b1785555b019201920191906121a3565b015190508c8061226b565b90848a5260208a20918a5b601f19851681106122eb575083602093600196938796938794601f198116106122d2575b505050811b01855561227f565b015160001960f88460031b161c191690558c80806122c5565b919260206001819286850151815501940192016122a1565b600c8501865260208620908382015b8183018110612322575050612192565b80886123306001935461451f565b8061233e575b505001612312565b601f81118414612356575050600081555b888a612336565b828252612371601f60208420920160051c8201858301614559565b600083555561234f565b634e487b7160e01b85526041600452602485fd5b82516001600160a01b031681830155602090920191600101612162565b634e487b7160e01b86526041600452602486fd5b600190602084519401938184015501612116565b0151905085806120ba565b6009840185526020852090855b601f1984168110612433575060019394959683601f1981161061241a575b505050811b0160098301556120d2565b015160001960f88460031b161c1916905585808061240a565b9091602060018192858b0151815501930191016123ec565b634e487b7160e01b84526041600452602484fd5b015190508580612058565b6008830184526020842090845b601f19841681106124be575060019394959683601f198116106124a5575b505050811b016008820155612070565b015160001960f88460031b161c19169055858080612495565b9091602060018192858b015181550193019101612477565b634e487b7160e01b83526041600452602483fd5b015190508580611ff6565b6007850183526020832090835b601f1984168110612549575060019394959683601f19811610612530575b505050811b01600784015561200e565b015160001960f88460031b161c19169055858080612520565b9091602060018192858b015181550193019101612502565b634e487b7160e01b82526041600452602482fd5b634e487b7160e01b86526021600452602486fd5b61259290613fc5565b611b49578183611f2f565b8280fd5b6125af816080840151614506565b6080830152611e26565b90506020813d6020116125e8575b816125d460209383614046565b810103126125e3575183611dff565b600080fd5b3d91506125c7565b6040513d85823e3d90fd5b60405162461bcd60e51b815260206004820152600c60248201526b105b1c9958591e559bdd195960a21b6044820152606490fd5b634e487b7160e01b83526021600452602483fd5b60016020819261014361265c8d604051928380926145e7565b815201990191019097611d1f565b50346106975761010036600319011261069757612685614067565b60015460243592916001600160a01b03916044359183906126a982841633146143a9565b16908161284f575b50506040516343fb395960e11b8152600481018590526020949073__$78154407706f9208c00fe8de1d937b8093$__908681602481855af4908115612844578691612827575b50156127f2578560249160405192838092637365e75160e01b82528760048301525af49081156127e75785916127ba575b50156127825783945060055560065560643560075560843560085560a43560095560c435600a5560e435600b5560135460081c16803b156106be5781604051809263f79aa74560e01b82528183816118f560048201614474565b60405162461bcd60e51b815260048101869052601060248201526f125b9d985b1a59151a1c995cda1bdb1960821b6044820152606490fd5b6127da9150863d88116127e0575b6127d28183614046565b8101906144ee565b38612728565b503d6127c8565b6040513d87823e3d90fd5b60405162461bcd60e51b815260048101879052600d60248201526c496e76616c696451756f72756d60981b6044820152606490fd5b61283e9150873d89116127e0576127d28183614046565b386126f7565b6040513d88823e3d90fd5b6001600160a01b0319161760015538806126b1565b5034610697576020366003190112610697576004358152600f602052604081209060405161289181613ff3565b8254815260018301546001600160a01b03811660208301526128bc9060a01c60ff1660408301614513565b6002830154606082015260038301546080820152600483015460a0820152600583015460c0820152600683015460e08201526040516129028161014381600788016145e7565b61010082015260405161291c8161014381600888016145e7565b6101208201526040516129368161014381600988016145e7565b6101408201526040519261294984613fd8565b60405161295d8161014381600a860161467d565b84526040516129738161014381600b86016146ba565b6020850152600c810193845461298881614392565b906129966040519283614046565b80825260208201968652602086209686905b8282106130425750505090600f92916040820152610160840152600d810154610180840152600e8101546101a084015201546101c08201526040810151600581101561262f5760016129fa91146149a7565b612a0c610160820151515115156149e3565b612a1d60e082015160095490614506565b43111561300c576004358252601060205260408220600460ff19825416179055600460408201526004358252600f60205260408220908051825560018060a01b0360208201511660018301549060408301516005811015612575576001600160a81b03199092161760a091821b60ff60a01b161760018401556060820151600284015560808201516003840155810151600483015560c0810151600583015560e0810151600683015561010081015180519093906001600160401b03811161256157612af0816103c3600787015461451f565b6020601f8211600114612fa05782939495829392612f95575b50508160011b916000199060031b1c19161760078401555b6101208201519283516001600160401b0381116124d657612b4981612036600885015461451f565b6020601f8211600114612f295783949582939492612f1e575b50508160011b916000199060031b1c19161760088201555b6101408301519283516001600160401b03811161244b57612ba281612098600986015461451f565b6020601f8211600114612eb25784958293949592612ea7575b50508160011b916000199060031b1c19161760098301555b61016081015180518051906001600160401b0382116123ac57600160401b82116123ac576020600a860191612c0d848454818655856145b7565b0190865260208620865b838110612e93575050505060208101518051906001600160401b0382116123ac57600160401b82116123ac576020600b860191612c59848454818655856145b7565b0190865260208620865b838110612e76575050505060400151805190600160401b821161237b57600c84015482600c860155808310612dfe575b50602001600c840185526020852085915b838310612d25578686600f6101c088610180810151600d8501556101a0810151600e85015501519101558060018060a01b0360135460081c166004358252600f60205260408220601060205260ff604084205416823b156106a5576118f5928492836040518096819582946378dbb4b360e11b845260043560048501614860565b80518051906001600160401b03821161085d57612d46826106e2865461451f565b602090601f8311600114612d915792826001949360209386958d92612d86575b5050600019600383901b1c191690841b1785555b01920192019190612ca4565b015190508c80612d66565b90848a5260208a20918a5b601f1985168110612de6575083602093600196938796938794601f19811610612dcd575b505050811b018555612d7a565b015160001960f88460031b161c191690558c8080612dc0565b91926020600181928685015181550194019201612d9c565b600c8501865260208620908382015b8183018110612e1d575050612c93565b8088612e2b6001935461451f565b80612e39575b505001612e0d565b601f81118414612e51575050600081555b888a612e31565b828252612e6c601f60208420920160051c8201858301614559565b6000835555612e4a565b82516001600160a01b031681830155602090920191600101612c63565b600190602084519401938184015501612c17565b015190508580612bbb565b6009840185526020852090855b601f1984168110612f06575060019394959683601f19811610612eed575b505050811b016009830155612bd3565b015160001960f88460031b161c19169055858080612edd565b9091602060018192858b015181550193019101612ebf565b015190508580612b62565b6008830184526020842090845b601f1984168110612f7d575060019394959683601f19811610612f64575b505050811b016008820155612b7a565b015160001960f88460031b161c19169055858080612f54565b9091602060018192858b015181550193019101612f36565b015190508580612b09565b6007850183526020832090835b601f1984168110612ff4575060019394959683601f19811610612fdb575b505050811b016007840155612b21565b015160001960f88460031b161c19169055858080612fcb565b9091602060018192858b015181550193019101612fad565b60405162461bcd60e51b815260206004820152600e60248201526d141bdb1b139bdd115e1c1a5c995960921b6044820152606490fd5b60016020819261014361305b8d604051928380926145e7565b8152019901910190976129a8565b50346106975760031960a036820112611b49576024356001600160401b03811161259d5761309b9036906004016140f9565b6044356001600160401b038111613dc0576130ba9036906004016140f9565b6064356001600160401b038111610bc5576130d99036906004016140f9565b926001600160401b0360843511610bc55760609060843536030112613dc05760405161310481613fd8565b608435600401356001600160401b038111613b9c573660238260843501011215613b9c5760048160843501013561313a81614392565b916131486040519384614046565b81835260208301903660248460051b8360843501010111613d8b57906024826084350101915b60248460051b826084350101018310613dab57505050508152602460843501356001600160401b038111613b9c573660238260843501011215613b9c576004816084350101356131bd81614392565b916131cb6040519384614046565b81835260208301903660248460051b8360843501010111613d8b57906024826084350101915b60248460051b826084350101018310613d8f57505050506020820152604460843501356001600160401b038111613b9c573660238260843501011215613b9c5760048160843501013561324381614392565b916132516040519384614046565b81835260208301903660248460051b8360843501010111613d8b576024816084350101915b60248460051b836084350101018310613d375750505050604082015261329a614888565b60405163534b916f60e11b815260206004820181905281806132bf60248201876143f8565b038173__$78154407706f9208c00fe8de1d937b8093$__5af4908115612844578691613d18575b5015610bc557604051636f37ce7960e11b8152602060048201819052818061331160248201886143f8565b038173__$78154407706f9208c00fe8de1d937b8093$__5af4908115612844578691613cf9575b5015610bc55760405163cabf798f60e01b8152602060048201819052818061336360248201896143f8565b038173__$78154407706f9208c00fe8de1d937b8093$__5af4908115612844578691613cda575b5015610bc557600a5460043510613c9557600435613bb4575b600c5493600185018511613ba05760018501600c556133c6600435600e54614506565b600e55601354869060081c6001600160a01b0316803b15611b4957604051631081eeb960e11b8152600c546004820152600d546024820152600e5460448201529082908290606490829084905af1801561069a57613b88575b50506003546040516313708d9960e01b81526001600160a01b0390911660048201524360248201529260208460448173__$78154407706f9208c00fe8de1d937b8093$__5af4938415613b7d578794613b49575b5061348060075443614506565b946040519561348e87613ff3565b6001880187523360208801528860408801528860608801528860808801524360a08801524260c088015260e0870152610100860152610120850152610140840152610160830152600435610180830152836101a08301526101c0820152600182018352600f60205260408320908051825560018060a01b0360208201511660018301549060408301516005811015610cb8576001600160a81b03199092161760a091821b60ff60a01b161760018401556060820151600284015560808201516003840155810151600483015560c0810151600583015560e081015160068301556101008101518051906001600160401b0382116123ac5781906135a182613598600788015461451f565b60078801614570565b602090601f8311600114613ada578792613acf575b50508160011b916000199060031b1c19161760078301555b6101208101518051906001600160401b0382116123ac578190613601826135f8600888015461451f565b60088801614570565b602090601f8311600114613a60578792613a55575b50508160011b916000199060031b1c19161760088301555b6101408101518051906001600160401b0382116123ac57819061366182613658600988015461451f565b60098801614570565b602090601f83116001146139e65787926139db575b50508160011b916000199060031b1c19161760098301555b61016081015180518051906001600160401b0382116139b357600160401b82116139b3576020600a8601916136c8848454818655856145b7565b0190875260208720875b8381106139c7575050505060208101518051906001600160401b0382116139b357600160401b82116139b3576020600b860191613714848454818655856145b7565b0190875260208720875b838110613996575050505060400151805190600160401b82116123ac57600c84015482600c86015580831061391e575b50602001600c840186526020862086915b83831061383157505050506101c081610180600f930151600d8501556101a0810151600e850155015191015560018101825260106020526040822060ff19815416905560018060a01b0360135460081c16600182018352600f602052826040812091601060205260ff60408320541690803b1561259d576137fb93836040518096819582946378dbb4b360e11b845260018b0160048501614860565b03925af180156125f05761381d575b6020826001601255600160405191018152f35b6138278391613fc5565b611b49578161380a565b80518051906001600160401b03821161390a57613852826106e2865461451f565b6020908a601f841160011461389d57928060209360019693879692613892575b5050600019600383901b1c191690841b1785555b0192019201919061375f565b015190503880613872565b85905260208b2091908b5b601f19851681106138f2575083602093600196938796938794601f198116106138d9575b505050811b018555613886565b015160001960f88460031b161c191690553880806138cc565b919260206001819286850151815501940192016138a8565b634e487b7160e01b8a52604160045260248afd5b600c8501875260208720908382015b818301811061393d57505061374e565b808961394b6001935461451f565b80613959575b50500161392d565b601f81118414613971575050600081555b8938613951565b82825261398c601f60208420920160051c8201858301614559565b600083555561396a565b82516001600160a01b03168183015560209092019160010161371e565b634e487b7160e01b87526041600452602487fd5b6001906020845194019381840155016136d2565b015190503880613676565b9250600985018752602087209087935b601f1984168510613a3a576001945083601f19811610613a21575b505050811b01600983015561368e565b015160001960f88460031b161c19169055388080613a11565b818101518355602094850194600190930192909101906139f6565b015190503880613616565b9250600885018752602087209087935b601f1984168510613ab4576001945083601f19811610613a9b575b505050811b01600883015561362e565b015160001960f88460031b161c19169055388080613a8b565b81810151835560209485019460019093019290910190613a70565b0151905038806135b6565b9250600785018752602087209087935b601f1984168510613b2e576001945083601f19811610613b15575b505050811b0160078301556135ce565b015160001960f88460031b161c19169055388080613b05565b81810151835560209485019460019093019290910190613aea565b9093506020813d602011613b75575b81613b6560209383614046565b810103126125e357519238613473565b3d9150613b58565b6040513d89823e3d90fd5b613b9190613fc5565b613b9c57853861341f565b8580fd5b634e487b7160e01b86526011600452602486fd5b6002546040516323b872dd60e01b81523360048083019190915230602483015235604482015290602090829060649082908a906001600160a01b03165af1801561284457613c76575b50601354600254869160081c6001600160a01b039081169116813b1561259d578291608483926040519485938492636623f84560e11b8452600484015233602484015230604484015260043560648401525af1801561069a57613c62575b50506133a3565b613c6b90613fc5565b610bc5578438613c5b565b613c8e9060203d6020116127e0576127d28183614046565b5038613bfd565b60405162461bcd60e51b815260206004820152601b60248201527f496e73756666696369656e7450726f706f73616c4465706f73697400000000006044820152606490fd5b613cf3915060203d6020116127e0576127d28183614046565b3861338a565b613d12915060203d6020116127e0576127d28183614046565b38613338565b613d31915060203d6020116127e0576127d28183614046565b386132e6565b8235906001600160401b038211613d875736604383856084350101011215613d87576024916020918291613d7a90369060843588010180870135906044016140c2565b8152019301929050613276565b8a80fd5b8880fd5b602080602493613d9e86614093565b81520193019291506131f1565b6020806024938535815201930192915061316e565b8380fd5b5034610697576020366003190112610697576004356001600160401b038111611b4957613df590369060040161412b565b6014546001600160a01b03918391613e1090841633146143a9565b73__$78154407706f9208c00fe8de1d937b8093$__610120918281015161014095806101608885015194613e43866143e4565b0151168160135460081c1690853b15610bc157602094604051998a988997889763463e604f60e01b895260a060048a01528051613e7f816143ee565b60a48a0152015190604060c48901528682511660e48901526020820151610104890152613f5f613ec160408401516101e06101248c01526102c48b01906143f8565b613f49613ee260608601519260e319938d61014486828503019101526143f8565b8b6060602060808901518051613ef7816143ee565b61016485015201516001600160801b03928382511661018482015260208201516101a48201526101c4846040840151169101520151166101e48d015260a08601518c61020485828503019101526143f8565b9060c0850151908b8303016102248c01526143f8565b9660e08301516102448a01526101008301511661026489015281015161028488015201516102a4860152613f92816143e4565b60248501526044840152866064840152608483015203915af4801561069a57613fb9575080f35b613fc290613fc5565b80f35b6001600160401b038111610c6a57604052565b606081019081106001600160401b03821117610c6a57604052565b6101e081019081106001600160401b03821117610c6a57604052565b61016081019081106001600160401b03821117610c6a57604052565b604081019081106001600160401b03821117610c6a57604052565b90601f801991011681019081106001600160401b03821117610c6a57604052565b600435906001600160a01b03821682036125e357565b602435906001600160a01b03821682036125e357565b35906001600160a01b03821682036125e357565b6001600160401b038111610c6a57601f01601f191660200190565b9291926140ce826140a7565b916140dc6040519384614046565b8294818452818301116125e3578281602093846000960137010152565b9080601f830112156125e357816020614114933591016140c2565b90565b35906001600160801b03821682036125e357565b6101a0929181810384136125e357604093845192818401906001600160401b039185811083821117610c6a5787528496813563ffffffff811681036125e357865260209461417a868401614093565b86880152818301358288015260608301356060880152608091828401358389015260a084013560a089015260c084013560c089015260e084013560e08901526101009687850135888a015261012092838601358781116125e35786019483868303126125e3578351956141ec8761402b565b803560038110156125e357875283810135908982116125e3570190818303906101e082126125e3578551956142208761400f565b61422984614093565b87528584013586880152808401358b81116125e3578561424a9186016140f9565b8188015260608401358b81116125e357856142669186016140f9565b606088015260a0607f198401126125e3578051926142838461402b565b828501359060038210156125e35783918552609f1901126125e3578051908282018281108d821117610c6a5781526142bd60a08601614117565b825260c0850135878301526142d460e08601614117565b908201526142e38d8501614117565b606082015285830152850152848101358881116125e357826143069183016140f9565b60a085015261014097888201359081116125e3576101c0926143299183016140f9565b60c0850152610160988982013560e08601526101809a61434a8c8401614093565b9086015281013585850152013586830152830152860152818101359260028410156125e35761438d938593870152614383818301614093565b9086015201614093565b910152565b6001600160401b038111610c6a5760051b60200190565b156143b057565b60405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606490fd5b60021115610a0757565b60031115610a0757565b919082519283825260005b848110614424575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201614403565b1561443f57565b60405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081a5b9c1d5d609a1b6044820152606490fd5b6000546001600160a01b03908116825260015481166020830152600254811660408301526003548116606083015260045416608082015260055460a082015260065460c082015260075460e0820152600854610100820152600954610120820152600a54610140820152600b546101608201526101800190565b908160209103126125e3575180151581036125e35790565b91908201809211610a1d57565b6005821015610a075752565b90600182811c9216801561454f575b602083101461453957565b634e487b7160e01b600052602260045260246000fd5b91607f169161452e565b818110614564575050565b60008155600101614559565b9190601f811161457f57505050565b6145ab926000526020600020906020601f840160051c830193106145ad575b601f0160051c0190614559565b565b909150819061459e565b918181106145c457505050565b6145ab9260005260206000209182019101614559565b906005821015610a075752565b90600092918054916145f88361451f565b91828252600193848116908160001461465a575060011461461a575b50505050565b90919394506000526020928360002092846000945b838610614646575050505001019038808080614614565b80548587018301529401938590820161462f565b9294505050602093945060ff191683830152151560051b01019038808080614614565b90815480825260208092019260005281600020916000905b8282106146a3575050505090565b835485529384019360019384019390910190614695565b90815480825260208092019260005281600020916000905b8282106146e0575050505090565b83546001600160a01b0316855293840193600193840193909101906146d2565b90815481526001918281015461472f60209160018060a01b0381168386015260ff604086019160a01c166145da565b6002820154606084015260038201546080840152600482015460a0840152600582015460c0840152600682015460e08401526147a361479161477f6101e0806101008801528601600786016145e7565b858103610120870152600885016145e7565b848103610140860152600984016145e7565b93838503610160850152606085526147d46147c460608701600a860161467d565b86810384880152600b85016146ba565b91600c840195604081850391015285549081845280840193818360051b8201019760005281600020946000915b8483106148335750505050505050600f81600d6101c0930154610180850152600e8101546101a0850152015491015290565b9091929394848161484f81999c601f198682030187528d6145e7565b9b0193019301919594939290614801565b9392906148806145ab936040928752606060208801526060870190614700565b9401906145da565b600260125414614899576002601255565b60405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606490fd5b156148e557565b60405162461bcd60e51b8152602060048201526011602482015270506f6c6c4e6f74496e50726f677265737360781b6044820152606490fd5b8115614928570490565b634e487b7160e01b600052601260045260246000fd5b9061494882614392565b6149556040519182614046565b8281528092614966601f1991614392565b0190602036910137565b80511561497d5760200190565b634e487b7160e01b600052603260045260246000fd5b805182101561497d5760209160051b010190565b156149ae57565b60405162461bcd60e51b815260206004820152600d60248201526c141bdb1b139bdd14185cdcd959609a1b6044820152606490fd5b156149ea57565b60405162461bcd60e51b815260206004820152600d60248201526c4e6f457865637574654461746160981b6044820152606490fd5b6000198114610a1d5760010190565b81810392916000138015828513169184121617610a1d57565b91909160008382019384129112908015821691151617610a1d57565b6001600160ff1b038114610a1d5760010190565b600160ff1b8114610a1d576000190190565b91908082838214614b9457614aba614ab4614aae614aa78588614a2e565b6002900590565b84614a47565b86614993565b515b81841315614af55750808212614ae4575b5050818112614adb57505050565b6145ab92614a89565b614aee9185614a89565b3880614acd565b959192949390945b86614b088287614993565b511015614b1d57614b1890614a63565b614afd565b95945b614b2a8186614993565b51861015614b4057614b3b90614a77565b614b20565b90939495929195818413614abc579092614b88614b8e91614b618689614993565b51614b6c828a614993565b51614b77888b614993565b52614b82828a614993565b52614a63565b93614a77565b90614abc565b5050505050565b15614ba257565b60405162461bcd60e51b815260206004820152600c60248201526b141bdb1b139bdd119bdd5b9960a21b6044820152606490fd5b909291604090815194614be88661402b565b601d86526020937f63616c6c20726576657274656420776974686f7574206d6573736167650000008588015260005b8151811015614c9e57614c9190614c8b896000806001600160a01b03614c3d8689614993565b5116614c49868a614993565b5190614c55878c614993565b51918d83519301915af13d15614c96573d90614c70826140a7565b91614c7d8b519384614046565b82523d60008c84013e614ca8565b50614a1f565b614c17565b606090614ca8565b5050505050509050565b90919015614cb4575090565b815115614cc45750805190602001fd5b60405162461bcd60e51b815260206004820152908190614ce89060248301906143f8565b0390fdfea2646970667358221220c824c6a5cfe5b95c367d350afc04d17cac8a280014df9f7deeb189a84b2e35b964736f6c63430008120033"; type SubDaoConstructorParams = | [linkLibraryAddresses: SubDaoLibraryAddresses, signer?: Signer] diff --git a/typechain-types/factories/contracts/test/DummyGasService__factory.ts b/typechain-types/factories/contracts/test/DummyGasService__factory.ts index 564e3abd1..00e18c8ed 100644 --- a/typechain-types/factories/contracts/test/DummyGasService__factory.ts +++ b/typechain-types/factories/contracts/test/DummyGasService__factory.ts @@ -635,7 +635,7 @@ const _abi = [ type: "address", }, ], - stateMutability: "nonpayable", + stateMutability: "view", type: "function", }, { @@ -932,7 +932,7 @@ const _abi = [ ] as const; const _bytecode = - "0x6080806040523461001657610637908161001c8239f35b600080fdfe60808060405260048036101561001457600080fd5b600091823560e01c9081630c93e3bb146103cb5781631055eaaf1461037157816317a49f7c146102df5781632e9b7470146102d55781632edd2aa81461027c5781634d238489146102cb57816382ad6f351461029b578163892b50071461028157508063ab1999ba1461027c578063c62c200214610264578063cd433ada14610254578063edb6b3a5146101405763fd09e3bd146100b157600080fd5b3461013c5760e036600319011261013c576100ca61043e565b5067ffffffffffffffff90602435828111610138576100ec903690830161049c565b505060443582811161013857610105903690830161049c565b50506064359182116101345761011d9136910161049c565b5050610127610459565b5061013061046f565b5080f35b8280fd5b8380fd5b5080fd5b509034610251576101203660031901126102515761015c61043e565b5067ffffffffffffffff6024358181116101345761017d903690850161049c565b505060443581811161013457610196903690850161049c565b5050606435818111610134576101af903690850161049c565b505060843590808211610134573660238301121561013457818401359080821161023e5760405190601f8301601f19908116603f011682019081118282101761022b57849550604052818152366024838501011161022657816024602094018483013701015261021d61046f565b50610130610485565b505050fd5b634e487b7160e01b855260418652602485fd5b634e487b7160e01b845260418552602484fd5b80fd5b8261025e366105d7565b50505080f35b8261026e366104fb565b505050505050505050505080f35b6105a6565b83903461013c578160031936011261013c57602090308152f35b8334610251576060366003190112610251576102b561043e565b506024356001600160a01b038116036102515780f35b8361025e366105d7565b8361026e366104fb565b50503461013c5761012036600319011261013c576102fb61043e565b5067ffffffffffffffff906024358281116101385761031d903690830161049c565b505060443582811161013857610336903690830161049c565b50506064358281116101385761034f903690830161049c565b5050608435918211610134576103679136910161049c565b505061021d61046f565b50503461013c57606036600319011261013c5761038c61043e565b5067ffffffffffffffff90602435828111610138576103ae90369083016104ca565b5050604435918211610134576103c6913691016104ca565b505080f35b505060a036600319011261013c576103e161043e565b5067ffffffffffffffff9060243582811161013857610403903690830161049c565b50506044358281116101385761041c903690830161049c565b5050606435918211610134576104349136910161049c565b5050610130610459565b600435906001600160a01b038216820361045457565b600080fd5b608435906001600160a01b038216820361045457565b60c435906001600160a01b038216820361045457565b61010435906001600160a01b038216820361045457565b9181601f840112156104545782359167ffffffffffffffff8311610454576020838186019501011161045457565b9181601f840112156104545782359167ffffffffffffffff8311610454576020808501948460051b01011161045457565b9060e0600319830112610454576001600160a01b03916004358381168103610454579267ffffffffffffffff92602435848111610454578361053f9160040161049c565b94909493604435828111610454578161055a9160040161049c565b9490949360643584811161045457836105759160040161049c565b949094936084359182116104545761058f9160040161049c565b9290929160a4359160c43590811681036104545790565b346104545760a0366003190112610454576001600160a01b0360443581811603610454576084359081160361045457005b60609060031901126104545760043590602435906044356001600160a01b0381168103610454579056fea26469706673582212206ebf643f39052a558299eff7fe86a3eb1ed77c81bdb05b1ab8f8d86aa84ff87164736f6c63430008120033"; + "0x6080806040523461001657610637908161001c8239f35b600080fdfe60808060405260048036101561001457600080fd5b600091823560e01c9081630c93e3bb146103cb5781631055eaaf1461037157816317a49f7c146102df5781632e9b7470146102d55781632edd2aa81461027c5781634d238489146102cb57816382ad6f351461029b578163892b50071461028157508063ab1999ba1461027c578063c62c200214610264578063cd433ada14610254578063edb6b3a5146101405763fd09e3bd146100b157600080fd5b3461013c5760e036600319011261013c576100ca61043e565b5067ffffffffffffffff90602435828111610138576100ec903690830161049c565b505060443582811161013857610105903690830161049c565b50506064359182116101345761011d9136910161049c565b5050610127610459565b5061013061046f565b5080f35b8280fd5b8380fd5b5080fd5b509034610251576101203660031901126102515761015c61043e565b5067ffffffffffffffff6024358181116101345761017d903690850161049c565b505060443581811161013457610196903690850161049c565b5050606435818111610134576101af903690850161049c565b505060843590808211610134573660238301121561013457818401359080821161023e5760405190601f8301601f19908116603f011682019081118282101761022b57849550604052818152366024838501011161022657816024602094018483013701015261021d61046f565b50610130610485565b505050fd5b634e487b7160e01b855260418652602485fd5b634e487b7160e01b845260418552602484fd5b80fd5b8261025e366105d7565b50505080f35b8261026e366104fb565b505050505050505050505080f35b6105a6565b83903461013c578160031936011261013c57602090308152f35b8334610251576060366003190112610251576102b561043e565b506024356001600160a01b038116036102515780f35b8361025e366105d7565b8361026e366104fb565b50503461013c5761012036600319011261013c576102fb61043e565b5067ffffffffffffffff906024358281116101385761031d903690830161049c565b505060443582811161013857610336903690830161049c565b50506064358281116101385761034f903690830161049c565b5050608435918211610134576103679136910161049c565b505061021d61046f565b50503461013c57606036600319011261013c5761038c61043e565b5067ffffffffffffffff90602435828111610138576103ae90369083016104ca565b5050604435918211610134576103c6913691016104ca565b505080f35b505060a036600319011261013c576103e161043e565b5067ffffffffffffffff9060243582811161013857610403903690830161049c565b50506044358281116101385761041c903690830161049c565b5050606435918211610134576104349136910161049c565b5050610130610459565b600435906001600160a01b038216820361045457565b600080fd5b608435906001600160a01b038216820361045457565b60c435906001600160a01b038216820361045457565b61010435906001600160a01b038216820361045457565b9181601f840112156104545782359167ffffffffffffffff8311610454576020838186019501011161045457565b9181601f840112156104545782359167ffffffffffffffff8311610454576020808501948460051b01011161045457565b9060e0600319830112610454576001600160a01b03916004358381168103610454579267ffffffffffffffff92602435848111610454578361053f9160040161049c565b94909493604435828111610454578161055a9160040161049c565b9490949360643584811161045457836105759160040161049c565b949094936084359182116104545761058f9160040161049c565b9290929160a4359160c43590811681036104545790565b346104545760a0366003190112610454576001600160a01b0360443581811603610454576084359081160361045457005b60609060031901126104545760043590602435906044356001600160a01b0381168103610454579056fea2646970667358221220ea4edfd3925b610dca45267990fbba2aa46ef8207d9783435936decd9dcae74164736f6c63430008120033"; type DummyGasServiceConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/test/DummyGateway__factory.ts b/typechain-types/factories/contracts/test/DummyGateway__factory.ts index 6ecec5d21..378bfe3a6 100644 --- a/typechain-types/factories/contracts/test/DummyGateway__factory.ts +++ b/typechain-types/factories/contracts/test/DummyGateway__factory.ts @@ -671,7 +671,7 @@ const _abi = [ type: "bool", }, ], - stateMutability: "view", + stateMutability: "pure", type: "function", }, { @@ -710,7 +710,7 @@ const _abi = [ type: "bool", }, ], - stateMutability: "view", + stateMutability: "pure", type: "function", }, { @@ -928,7 +928,7 @@ const _abi = [ type: "bool", }, ], - stateMutability: "nonpayable", + stateMutability: "pure", type: "function", }, { @@ -972,13 +972,13 @@ const _abi = [ type: "bool", }, ], - stateMutability: "nonpayable", + stateMutability: "pure", type: "function", }, ] as const; const _bytecode = - "0x6080806040523461001657610810908161001c8239f35b600080fdfe608060408181526004918236101561001657600080fd5b600090813560e01c90816309c5eabe1461031957816314bfd6d01461053b575080631876eed9146104d05780631c92115f1461049e578063269eb65e146101ba57806326ef699d1461043b5780632a2dae0a146103e4578063364940d8146102c45780635c60da1b146103e45780635f6970c3146103e957806364940c56146103e457806367ace8eb1461039b5780637b1b769e1461038057806388b305871461019e578063935b13f6146103545780639543fe141461031e5780639ded06df14610319578063a3499c73146102df578063aa1e1f0a146102c4578063b54170841461023b578063bc00c216146101bf578063cec7b359146101ba578063d26ff2101461019e5763f6a5f9f51461012c57600080fd5b346101975760a0366003190112610197576001600160401b039060243582811161019a5761015d9036908601610595565b5050604435918211610197575060209261017d61018e9236908301610595565b505061018761071c565b50356107c8565b90519015158152f35b80fd5b5080fd5b50903461019a57602036600319011261019a5751908152602090f35b6106a0565b50346101975760e0366003190112610197576001600160401b039060243582811161019a576101f19036908601610595565b505060443582811161019a5761020a9036908601610595565b505061021461071c565b5060a435918211610197575060209261023361018e9236908301610595565b5050356107c8565b50823461019a5760a036600319011261019a576001600160401b039080358281116102c05761026d9036908301610595565b50506024358281116102c0576102869036908301610595565b50506044358281116102c05761029f9036908301610595565b50506064359182116102bc576102b791369101610595565b505080f35b8280fd5b8380fd5b50903461019a578160031936011261019a5751908152602090f35b50823461019a57606036600319011261019a576102fa610706565b50604435906001600160401b0382116102bc576102b791369101610595565b6105c7565b5034610197576020366003190112610197576001600160a01b03610340610706565b82546001600160a01b031916911617815580f35b50903461019a5760209061036f61036a36610630565b610732565b90516001600160a01b039091168152f35b50903461019a579060209161039436610630565b5051908152f35b509190346102bc5736600319011261019a576001600160401b039080358281116102c0576103cc90369083016106d6565b50506024359182116102bc576102b7913691016106d6565b6106ba565b5034610197576080366003190112610197576001600160401b039060243582811161019a5761041b9036908601610595565b5050604435918211610197575060209261023361018e9236908301610595565b50823461019a57608036600319011261019a576001600160401b039080358281116102c05761046d9036908301610595565b50506024358281116102c0576104869036908301610595565b50506044359182116102bc576102b791369101610595565b50823461019a57606036600319011261019a576001600160401b039080358281116102c05761046d9036908301610595565b50346101975760c0366003190112610197576001600160401b039060243582811161019a576105029036908601610595565b505060443582811161019a5761051b9036908601610595565b5050608435918211610197575060209261023361018e9236908301610595565b82843461019a576020806003193601126102bc57808452606051848201819052849392840192608092905b82811061057557505050500390f35b83516001600160a01b031685528695509381019392810192600101610566565b9181601f840112156105c2578235916001600160401b0383116105c257602083818601950101116105c257565b600080fd5b346105c25760203660031901126105c2576004356001600160401b0381116105c2576105f7903690600401610595565b005b90601f801991011681019081106001600160401b0382111761061a57604052565b634e487b7160e01b600052604160045260246000fd5b60206003198201126105c2576001600160401b036004358181116105c257826023820112156105c257806004013591821161061a576040519261067d601f8401601f1916602001856105f9565b828452602483830101116105c25781600092602460209301838601378301015290565b346105c2576106ae36610630565b50602060405160008152f35b346105c25760003660031901126105c257602060405160008152f35b9181601f840112156105c2578235916001600160401b0383116105c2576020808501948460051b0101116105c257565b600435906001600160a01b03821682036105c257565b606435906001600160a01b03821682036105c257565b604051908181519160005b8381106107b15750508061076092602092016000838201520380845201826105f9565b602081519101206040516020810190622a25a760e91b825260038152604081018181106001600160401b0382111761061a57604052519020036107ac576000546001600160a01b031690565b600090565b60208282018101518683018201528593500161073d565b637472756560e01b036107ac5760019056fea26469706673582212201f1e12f536c99f54fce153e5542ba2e396a3d39468d90c915b61842000bfa65264736f6c63430008120033"; + "0x6080806040523461001657610810908161001c8239f35b600080fdfe608060408181526004918236101561001657600080fd5b600090813560e01c90816309c5eabe1461031957816314bfd6d01461053b575080631876eed9146104d05780631c92115f1461049e578063269eb65e146101ba57806326ef699d1461043b5780632a2dae0a146103e4578063364940d8146102c45780635c60da1b146103e45780635f6970c3146103e957806364940c56146103e457806367ace8eb1461039b5780637b1b769e1461038057806388b305871461019e578063935b13f6146103545780639543fe141461031e5780639ded06df14610319578063a3499c73146102df578063aa1e1f0a146102c4578063b54170841461023b578063bc00c216146101bf578063cec7b359146101ba578063d26ff2101461019e5763f6a5f9f51461012c57600080fd5b346101975760a0366003190112610197576001600160401b039060243582811161019a5761015d9036908601610595565b5050604435918211610197575060209261017d61018e9236908301610595565b505061018761071c565b50356107c8565b90519015158152f35b80fd5b5080fd5b50903461019a57602036600319011261019a5751908152602090f35b6106a0565b50346101975760e0366003190112610197576001600160401b039060243582811161019a576101f19036908601610595565b505060443582811161019a5761020a9036908601610595565b505061021461071c565b5060a435918211610197575060209261023361018e9236908301610595565b5050356107c8565b50823461019a5760a036600319011261019a576001600160401b039080358281116102c05761026d9036908301610595565b50506024358281116102c0576102869036908301610595565b50506044358281116102c05761029f9036908301610595565b50506064359182116102bc576102b791369101610595565b505080f35b8280fd5b8380fd5b50903461019a578160031936011261019a5751908152602090f35b50823461019a57606036600319011261019a576102fa610706565b50604435906001600160401b0382116102bc576102b791369101610595565b6105c7565b5034610197576020366003190112610197576001600160a01b03610340610706565b82546001600160a01b031916911617815580f35b50903461019a5760209061036f61036a36610630565b610732565b90516001600160a01b039091168152f35b50903461019a579060209161039436610630565b5051908152f35b509190346102bc5736600319011261019a576001600160401b039080358281116102c0576103cc90369083016106d6565b50506024359182116102bc576102b7913691016106d6565b6106ba565b5034610197576080366003190112610197576001600160401b039060243582811161019a5761041b9036908601610595565b5050604435918211610197575060209261023361018e9236908301610595565b50823461019a57608036600319011261019a576001600160401b039080358281116102c05761046d9036908301610595565b50506024358281116102c0576104869036908301610595565b50506044359182116102bc576102b791369101610595565b50823461019a57606036600319011261019a576001600160401b039080358281116102c05761046d9036908301610595565b50346101975760c0366003190112610197576001600160401b039060243582811161019a576105029036908601610595565b505060443582811161019a5761051b9036908601610595565b5050608435918211610197575060209261023361018e9236908301610595565b82843461019a576020806003193601126102bc57808452606051848201819052849392840192608092905b82811061057557505050500390f35b83516001600160a01b031685528695509381019392810192600101610566565b9181601f840112156105c2578235916001600160401b0383116105c257602083818601950101116105c257565b600080fd5b346105c25760203660031901126105c2576004356001600160401b0381116105c2576105f7903690600401610595565b005b90601f801991011681019081106001600160401b0382111761061a57604052565b634e487b7160e01b600052604160045260246000fd5b60206003198201126105c2576001600160401b036004358181116105c257826023820112156105c257806004013591821161061a576040519261067d601f8401601f1916602001856105f9565b828452602483830101116105c25781600092602460209301838601378301015290565b346105c2576106ae36610630565b50602060405160008152f35b346105c25760003660031901126105c257602060405160008152f35b9181601f840112156105c2578235916001600160401b0383116105c2576020808501948460051b0101116105c257565b600435906001600160a01b03821682036105c257565b606435906001600160a01b03821682036105c257565b604051908181519160005b8381106107b15750508061076092602092016000838201520380845201826105f9565b602081519101206040516020810190622a25a760e91b825260038152604081018181106001600160401b0382111761061a57604052519020036107ac576000546001600160a01b031690565b600090565b60208282018101518683018201528593500161073d565b637472756560e01b036107ac5760019056fea2646970667358221220e22e86b075e45a792235d2d370a1bf8acb1214049d2d6651a2a6c8477a28963c64736f6c63430008120033"; type DummyGatewayConstructorParams = | [signer?: Signer] diff --git a/typechain-types/factories/contracts/test/DummyVault__factory.ts b/typechain-types/factories/contracts/test/DummyVault__factory.ts index 687d4b55a..6e6747441 100644 --- a/typechain-types/factories/contracts/test/DummyVault__factory.ts +++ b/typechain-types/factories/contracts/test/DummyVault__factory.ts @@ -173,9 +173,21 @@ const _abi = [ name: "redeem", outputs: [ { - internalType: "uint256", + components: [ + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "enum IRouter.VaultActionStatus", + name: "status", + type: "uint8", + }, + ], + internalType: "struct IRouter.RedemptionResponse", name: "", - type: "uint256", + type: "tuple", }, ], stateMutability: "payable", @@ -242,7 +254,7 @@ const _abi = [ ] as const; const _bytecode = - "0x60803461006557601f6105b638819003918201601f19168301916001600160401b0383118484101761006a57808492602094604052833981010312610065575160028110156100655760ff80196000541691161760005560405161053590816100818239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060409080825260048036101561001657600080fd5b600092833560e01c92836320dcd90b146103c75750826341cb87fc146103895782634dc23772146102c457826375baf37f1461029d57826388bb447b146101cf578263c2bba643146101b1578263c2ec3be6146100bd57505063e1e32f991461007e57600080fd5b346100ba5760203660031901126100ba57610097610414565b8154610100600160a81b03191660089190911b610100600160a81b031617815580f35b80fd5b90915060203660031901126101ad5781359163ffffffff83168093036101a9578354600254835163095ea7b360e01b815233938101938452602080850192909252929091839160409083900301908290889060081c6001600160a01b03165af1801561019f579360ff91602095610172575b505416917f09054fd059dd1ab4912997eda690b4a7ecb31dcd30b3b7811bd9dfd00bcf323560025480946101698551928392309084610489565b0390a251908152f35b61019190863d8111610198575b61018981836104af565b8101906104e7565b503861012f565b503d61017f565b82513d86823e3d90fd5b8380fd5b8280fd5b8382346101cb5760203660031901126101cb573560025580f35b5080fd5b909150346101ad57602091826003193601126101a95780359167ffffffffffffffff91828411610299573660238501121561029957830135918211610295573660248360051b8501011161029557918493602493519283948594930191865b82811061026357505050500390207f26f2b6f1bac51611060f933759e15a99c0180a82b38966e3d8f1a8af28bf49d48280a280f35b91939092809550359063ffffffff82168092036102915790815285949083019390830192909160010161022e565b8780fd5b8480fd5b8580fd5b8390346101cb57816003193601126101cb576102c260ff602093541691518092610466565bf35b90610305925060206102d53661042f565b855163095ea7b360e01b815233958101958652602086018290529096919492939092909183918291604090910190565b0381896001600160a01b0388165af1801561037f57916101698660ff60209963ffffffff957f09054fd059dd1ab4912997eda690b4a7ecb31dcd30b3b7811bd9dfd00bcf323597610362575b505416958751948594169684610489565b610378908c3d81116101985761018981836104af565b5038610351565b84513d88823e3d90fd5b83346100ba5760203660031901126100ba576001600160a01b036103ab610414565b166bffffffffffffffffffffffff60a01b600154161760015580f35b61040e7fc271c2371a8168d2f8d3117bb7fcd64db82ff075dc4eb21a0431554eabfc9fdd8287936103f73661042f565b9063ffffffff60ff89989498541697169684610489565b0390a280f35b600435906001600160a01b038216820361042a57565b600080fd5b606090600319011261042a5760043563ffffffff8116810361042a57906024356001600160a01b038116810361042a579060443590565b9060028210156104735752565b634e487b7160e01b600052602160045260246000fd5b60409194939261049d826060810197610466565b6001600160a01b031660208201520152565b90601f8019910116810190811067ffffffffffffffff8211176104d157604052565b634e487b7160e01b600052604160045260246000fd5b9081602091031261042a5751801515810361042a579056fea26469706673582212208228a42208608176024228142f00715b7ebe73459bb515d69d2356e93f60546b64736f6c63430008120033"; + "0x60803461006557601f61061638819003918201601f19168301916001600160401b0383118484101761006a57808492602094604052833981010312610065575160028110156100655760ff80196000541691161760005560405161059590816100818239f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe608060409080825260048036101561001657600080fd5b600092833560e01c92836320dcd90b1461040b5750826341cb87fc146103cd5782634dc23772146102c457826375baf37f1461029d57826388bb447b146101cf578263c2bba643146101b1578263c2ec3be6146100bd57505063e1e32f991461007e57600080fd5b346100ba5760203660031901126100ba57610097610458565b8154610100600160a81b03191660089190911b610100600160a81b031617815580f35b80fd5b90915060203660031901126101ad5781359163ffffffff83168093036101a9578354600254835163095ea7b360e01b815233938101938452602080850192909252929091839160409083900301908290889060081c6001600160a01b03165af1801561019f579360ff91602095610172575b505416917f09054fd059dd1ab4912997eda690b4a7ecb31dcd30b3b7811bd9dfd00bcf3235600254809461016985519283923090846104cd565b0390a251908152f35b61019190863d8111610198575b6101898183610525565b810190610547565b503861012f565b503d61017f565b82513d86823e3d90fd5b8380fd5b8280fd5b8382346101cb5760203660031901126101cb573560025580f35b5080fd5b909150346101ad57602091826003193601126101a95780359167ffffffffffffffff91828411610299573660238501121561029957830135918211610295573660248360051b8501011161029557918493602493519283948594930191865b82811061026357505050500390207f26f2b6f1bac51611060f933759e15a99c0180a82b38966e3d8f1a8af28bf49d48280a280f35b91939092809550359063ffffffff82168092036102915790815285949083019390830192909160010161022e565b8780fd5b8480fd5b8580fd5b8390346101cb57816003193601126101cb576102c260ff6020935416915180926104aa565bf35b83826102cf36610473565b93908551926102dd846104f3565b8284526020938401839052865163095ea7b360e01b8152338682019081528086018890528590829081906040010381876001600160a01b0388165af180156103c3579163ffffffff917f09054fd059dd1ab4912997eda690b4a7ecb31dcd30b3b7811bd9dfd00bcf3235936103a6575b506103658860ff875416958b519485941696846104cd565b0390a2818551610374816104f3565b8581520160018152855194855251926005841015610393575050820152f35b634e487b7160e01b825260219052602490fd5b6103bc90873d8911610198576101898183610525565b508961034d565b88513d86823e3d90fd5b83346100ba5760203660031901126100ba576001600160a01b036103ef610458565b166bffffffffffffffffffffffff60a01b600154161760015580f35b6104527fc271c2371a8168d2f8d3117bb7fcd64db82ff075dc4eb21a0431554eabfc9fdd82879361043b36610473565b9063ffffffff60ff899894985416971696846104cd565b0390a280f35b600435906001600160a01b038216820361046e57565b600080fd5b606090600319011261046e5760043563ffffffff8116810361046e57906024356001600160a01b038116810361046e579060443590565b9060028210156104b75752565b634e487b7160e01b600052602160045260246000fd5b6040919493926104e18260608101976104aa565b6001600160a01b031660208201520152565b6040810190811067ffffffffffffffff82111761050f57604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761050f57604052565b9081602091031261046e5751801515810361046e579056fea264697066735822122004da64b5252f38adeae966430931e3f874c0594affd0363adfc21340d3110ec564736f6c63430008120033"; type DummyVaultConstructorParams = | [signer?: Signer] diff --git a/typechain-types/hardhat.d.ts b/typechain-types/hardhat.d.ts index a604891be..dbd123950 100644 --- a/typechain-types/hardhat.d.ts +++ b/typechain-types/hardhat.d.ts @@ -264,14 +264,6 @@ declare module "hardhat/types/runtime" { name: "ISwapRouter", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; - getContractFactory( - name: "Fundraising", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "FundraisingLib", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; getContractFactory( name: "GiftCards", signerOrOptions?: ethers.Signer | FactoryOptions @@ -352,14 +344,6 @@ declare module "hardhat/types/runtime" { name: "AccountsQueryEndowments", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; - getContractFactory( - name: "AccountsStrategiesCopyEndowments", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "AccountsStrategiesUpdateEndowments", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; getContractFactory( name: "AccountsSwapEndowments", signerOrOptions?: ethers.Signer | FactoryOptions @@ -384,10 +368,6 @@ declare module "hardhat/types/runtime" { name: "AccountsVaultFacet", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; - getContractFactory( - name: "AxelarExecutionContract", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; getContractFactory( name: "IAccounts", signerOrOptions?: ethers.Signer | FactoryOptions @@ -396,6 +376,10 @@ declare module "hardhat/types/runtime" { name: "IAccountDeployContract", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; + getContractFactory( + name: "IAccountDonationMatch", + signerOrOptions?: ethers.Signer | FactoryOptions + ): Promise; getContractFactory( name: "IAccountsCreateEndowment", signerOrOptions?: ethers.Signer | FactoryOptions @@ -412,10 +396,6 @@ declare module "hardhat/types/runtime" { name: "IAxelarGateway", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; - getContractFactory( - name: "IVault", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; getContractFactory( name: "IIndexFund", signerOrOptions?: ethers.Signer | FactoryOptions @@ -448,10 +428,6 @@ declare module "hardhat/types/runtime" { name: "Registrar", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; - getContractFactory( - name: "RegistrarLib", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; getContractFactory( name: "IRouter", signerOrOptions?: ethers.Signer | FactoryOptions @@ -541,9 +517,9 @@ declare module "hardhat/types/runtime" { signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; getContractFactory( - name: "ICurveLP", + name: "IveLP", signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; + ): Promise; getContractFactory( name: "IRegistrarGoldfinch", signerOrOptions?: ethers.Signer | FactoryOptions @@ -724,14 +700,6 @@ declare module "hardhat/types/runtime" { name: "IERC20WithCheckpointing", signerOrOptions?: ethers.Signer | FactoryOptions ): Promise; - getContractFactory( - name: "ILockedWithdraw", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; - getContractFactory( - name: "LockedWithdraw", - signerOrOptions?: ethers.Signer | FactoryOptions - ): Promise; getContractFactory( name: "SubDaoToken", signerOrOptions?: ethers.Signer | FactoryOptions @@ -1104,16 +1072,6 @@ declare module "hardhat/types/runtime" { address: string, signer?: ethers.Signer ): Promise; - getContractAt( - name: "Fundraising", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "FundraisingLib", - address: string, - signer?: ethers.Signer - ): Promise; getContractAt( name: "GiftCards", address: string, @@ -1214,16 +1172,6 @@ declare module "hardhat/types/runtime" { address: string, signer?: ethers.Signer ): Promise; - getContractAt( - name: "AccountsStrategiesCopyEndowments", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "AccountsStrategiesUpdateEndowments", - address: string, - signer?: ethers.Signer - ): Promise; getContractAt( name: "AccountsSwapEndowments", address: string, @@ -1254,11 +1202,6 @@ declare module "hardhat/types/runtime" { address: string, signer?: ethers.Signer ): Promise; - getContractAt( - name: "AxelarExecutionContract", - address: string, - signer?: ethers.Signer - ): Promise; getContractAt( name: "IAccounts", address: string, @@ -1269,6 +1212,11 @@ declare module "hardhat/types/runtime" { address: string, signer?: ethers.Signer ): Promise; + getContractAt( + name: "IAccountDonationMatch", + address: string, + signer?: ethers.Signer + ): Promise; getContractAt( name: "IAccountsCreateEndowment", address: string, @@ -1289,11 +1237,6 @@ declare module "hardhat/types/runtime" { address: string, signer?: ethers.Signer ): Promise; - getContractAt( - name: "IVault", - address: string, - signer?: ethers.Signer - ): Promise; getContractAt( name: "IIndexFund", address: string, @@ -1334,11 +1277,6 @@ declare module "hardhat/types/runtime" { address: string, signer?: ethers.Signer ): Promise; - getContractAt( - name: "RegistrarLib", - address: string, - signer?: ethers.Signer - ): Promise; getContractAt( name: "IRouter", address: string, @@ -1450,10 +1388,10 @@ declare module "hardhat/types/runtime" { signer?: ethers.Signer ): Promise; getContractAt( - name: "ICurveLP", + name: "IveLP", address: string, signer?: ethers.Signer - ): Promise; + ): Promise; getContractAt( name: "IRegistrarGoldfinch", address: string, @@ -1679,16 +1617,6 @@ declare module "hardhat/types/runtime" { address: string, signer?: ethers.Signer ): Promise; - getContractAt( - name: "ILockedWithdraw", - address: string, - signer?: ethers.Signer - ): Promise; - getContractAt( - name: "LockedWithdraw", - address: string, - signer?: ethers.Signer - ): Promise; getContractAt( name: "SubDaoToken", address: string, diff --git a/typechain-types/index.ts b/typechain-types/index.ts index 01bb54865..5ffcfd413 100644 --- a/typechain-types/index.ts +++ b/typechain-types/index.ts @@ -134,10 +134,6 @@ export type { IUniswapV3PoolState } from "./@uniswap/v3-core/contracts/interface export { IUniswapV3PoolState__factory } from "./factories/@uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState__factory"; export type { ISwapRouter } from "./@uniswap/v3-periphery/contracts/interfaces/ISwapRouter"; export { ISwapRouter__factory } from "./factories/@uniswap/v3-periphery/contracts/interfaces/ISwapRouter__factory"; -export type { Fundraising } from "./contracts/accessory/fundraising/Fundraising"; -export { Fundraising__factory } from "./factories/contracts/accessory/fundraising/Fundraising__factory"; -export type { FundraisingLib } from "./contracts/accessory/fundraising/FundraisingLib"; -export { FundraisingLib__factory } from "./factories/contracts/accessory/fundraising/FundraisingLib__factory"; export type { GiftCards } from "./contracts/accessory/gift-cards/GiftCards"; export { GiftCards__factory } from "./factories/contracts/accessory/gift-cards/GiftCards__factory"; export type { AxelarExecutable } from "./contracts/axelar/AxelarExecutable"; @@ -176,10 +172,6 @@ export type { AccountsEvents } from "./contracts/core/accounts/facets/AccountsEv export { AccountsEvents__factory } from "./factories/contracts/core/accounts/facets/AccountsEvents__factory"; export type { AccountsQueryEndowments } from "./contracts/core/accounts/facets/AccountsQueryEndowments"; export { AccountsQueryEndowments__factory } from "./factories/contracts/core/accounts/facets/AccountsQueryEndowments__factory"; -export type { AccountsStrategiesCopyEndowments } from "./contracts/core/accounts/facets/AccountsStrategiesCopyEndowments"; -export { AccountsStrategiesCopyEndowments__factory } from "./factories/contracts/core/accounts/facets/AccountsStrategiesCopyEndowments__factory"; -export type { AccountsStrategiesUpdateEndowments } from "./contracts/core/accounts/facets/AccountsStrategiesUpdateEndowments"; -export { AccountsStrategiesUpdateEndowments__factory } from "./factories/contracts/core/accounts/facets/AccountsStrategiesUpdateEndowments__factory"; export type { AccountsSwapEndowments } from "./contracts/core/accounts/facets/AccountsSwapEndowments"; export { AccountsSwapEndowments__factory } from "./factories/contracts/core/accounts/facets/AccountsSwapEndowments__factory"; export type { AccountsUpdate } from "./contracts/core/accounts/facets/AccountsUpdate"; @@ -192,48 +184,44 @@ export type { AccountsUpdateStatusEndowments } from "./contracts/core/accounts/f export { AccountsUpdateStatusEndowments__factory } from "./factories/contracts/core/accounts/facets/AccountsUpdateStatusEndowments__factory"; export type { AccountsVaultFacet } from "./contracts/core/accounts/facets/AccountsVaultFacet"; export { AccountsVaultFacet__factory } from "./factories/contracts/core/accounts/facets/AccountsVaultFacet__factory"; -export type { AxelarExecutionContract } from "./contracts/core/accounts/facets/AxelarCallExecutor.sol/AxelarExecutionContract"; -export { AxelarExecutionContract__factory } from "./factories/contracts/core/accounts/facets/AxelarCallExecutor.sol/AxelarExecutionContract__factory"; export type { IAccounts } from "./contracts/core/accounts/IAccounts"; export { IAccounts__factory } from "./factories/contracts/core/accounts/IAccounts__factory"; -export type { IAccountDeployContract } from "./contracts/core/accounts/interface/IAccountDeployContract"; -export { IAccountDeployContract__factory } from "./factories/contracts/core/accounts/interface/IAccountDeployContract__factory"; -export type { IAccountsCreateEndowment } from "./contracts/core/accounts/interface/IAccountsCreateEndowment"; -export { IAccountsCreateEndowment__factory } from "./factories/contracts/core/accounts/interface/IAccountsCreateEndowment__factory"; -export type { IAccountsDepositWithdrawEndowments } from "./contracts/core/accounts/interface/IAccountsDepositWithdrawEndowments"; -export { IAccountsDepositWithdrawEndowments__factory } from "./factories/contracts/core/accounts/interface/IAccountsDepositWithdrawEndowments__factory"; -export type { IAccountsQuery } from "./contracts/core/accounts/interface/IAccountsQuery"; -export { IAccountsQuery__factory } from "./factories/contracts/core/accounts/interface/IAccountsQuery__factory"; -export type { IVault } from "./contracts/core/accounts/interface/IVault"; -export { IVault__factory } from "./factories/contracts/core/accounts/interface/IVault__factory"; +export type { IAccountDeployContract } from "./contracts/core/accounts/interfaces/IAccountDeployContract"; +export { IAccountDeployContract__factory } from "./factories/contracts/core/accounts/interfaces/IAccountDeployContract__factory"; +export type { IAccountDonationMatch } from "./contracts/core/accounts/interfaces/IAccountDonationMatch"; +export { IAccountDonationMatch__factory } from "./factories/contracts/core/accounts/interfaces/IAccountDonationMatch__factory"; +export type { IAccountsCreateEndowment } from "./contracts/core/accounts/interfaces/IAccountsCreateEndowment"; +export { IAccountsCreateEndowment__factory } from "./factories/contracts/core/accounts/interfaces/IAccountsCreateEndowment__factory"; +export type { IAccountsDepositWithdrawEndowments } from "./contracts/core/accounts/interfaces/IAccountsDepositWithdrawEndowments"; +export { IAccountsDepositWithdrawEndowments__factory } from "./factories/contracts/core/accounts/interfaces/IAccountsDepositWithdrawEndowments__factory"; +export type { IAccountsQuery } from "./contracts/core/accounts/interfaces/IAccountsQuery"; +export { IAccountsQuery__factory } from "./factories/contracts/core/accounts/interfaces/IAccountsQuery__factory"; export type { IIndexFund } from "./contracts/core/index-fund/Iindex-fund.sol/IIndexFund"; export { IIndexFund__factory } from "./factories/contracts/core/index-fund/Iindex-fund.sol/IIndexFund__factory"; export type { IndexFund } from "./contracts/core/index-fund/IndexFund"; export { IndexFund__factory } from "./factories/contracts/core/index-fund/IndexFund__factory"; export type { ProxyContract } from "./contracts/core/proxy.sol/ProxyContract"; export { ProxyContract__factory } from "./factories/contracts/core/proxy.sol/ProxyContract__factory"; -export type { ILocalRegistrar } from "./contracts/core/registrar/interface/ILocalRegistrar"; -export { ILocalRegistrar__factory } from "./factories/contracts/core/registrar/interface/ILocalRegistrar__factory"; -export type { IRegistrar } from "./contracts/core/registrar/interface/IRegistrar"; -export { IRegistrar__factory } from "./factories/contracts/core/registrar/interface/IRegistrar__factory"; +export type { ILocalRegistrar } from "./contracts/core/registrar/interfaces/ILocalRegistrar"; +export { ILocalRegistrar__factory } from "./factories/contracts/core/registrar/interfaces/ILocalRegistrar__factory"; +export type { IRegistrar } from "./contracts/core/registrar/interfaces/IRegistrar"; +export { IRegistrar__factory } from "./factories/contracts/core/registrar/interfaces/IRegistrar__factory"; export type { RegistrarEventsLib } from "./contracts/core/registrar/lib/RegistrarEventsLib"; export { RegistrarEventsLib__factory } from "./factories/contracts/core/registrar/lib/RegistrarEventsLib__factory"; export type { LocalRegistrar } from "./contracts/core/registrar/LocalRegistrar"; export { LocalRegistrar__factory } from "./factories/contracts/core/registrar/LocalRegistrar__factory"; export type { Registrar } from "./contracts/core/registrar/registrar.sol/Registrar"; export { Registrar__factory } from "./factories/contracts/core/registrar/registrar.sol/Registrar__factory"; -export type { RegistrarLib } from "./contracts/core/registrar/registrar.sol/RegistrarLib"; -export { RegistrarLib__factory } from "./factories/contracts/core/registrar/registrar.sol/RegistrarLib__factory"; export type { IRouter } from "./contracts/core/router/IRouter"; export { IRouter__factory } from "./factories/contracts/core/router/IRouter__factory"; export type { Router } from "./contracts/core/router/Router"; export { Router__factory } from "./factories/contracts/core/router/Router__factory"; export type { AngelCoreStruct } from "./contracts/core/struct.sol/AngelCoreStruct"; export { AngelCoreStruct__factory } from "./factories/contracts/core/struct.sol/AngelCoreStruct__factory"; -export type { IPool } from "./contracts/core/swap-router/Interface/Ipool.sol/IPool"; -export { IPool__factory } from "./factories/contracts/core/swap-router/Interface/Ipool.sol/IPool__factory"; -export type { ISwappingV3 } from "./contracts/core/swap-router/Interface/ISwappingV3"; -export { ISwappingV3__factory } from "./factories/contracts/core/swap-router/Interface/ISwappingV3__factory"; +export type { IPool } from "./contracts/core/swap-router/interfaces/Ipool.sol/IPool"; +export { IPool__factory } from "./factories/contracts/core/swap-router/interfaces/Ipool.sol/IPool__factory"; +export type { ISwappingV3 } from "./contracts/core/swap-router/interfaces/ISwappingV3"; +export { ISwappingV3__factory } from "./factories/contracts/core/swap-router/interfaces/ISwappingV3__factory"; export type { SwapRouter } from "./contracts/core/swap-router/swapping.sol/SwapRouter"; export { SwapRouter__factory } from "./factories/contracts/core/swap-router/swapping.sol/SwapRouter__factory"; export type { Halo } from "./contracts/Halo"; @@ -268,8 +256,8 @@ export type { GFITrader } from "./contracts/integrations/goldfinch/GFITrader"; export { GFITrader__factory } from "./factories/contracts/integrations/goldfinch/GFITrader__factory"; export type { GoldfinchVault } from "./contracts/integrations/goldfinch/GoldfinchVault"; export { GoldfinchVault__factory } from "./factories/contracts/integrations/goldfinch/GoldfinchVault__factory"; -export type { ICurveLP } from "./contracts/integrations/goldfinch/ICurveLP"; -export { ICurveLP__factory } from "./factories/contracts/integrations/goldfinch/ICurveLP__factory"; +export type { IveLP } from "./contracts/integrations/goldfinch/ICurveLP.sol/IveLP"; +export { IveLP__factory } from "./factories/contracts/integrations/goldfinch/ICurveLP.sol/IveLP__factory"; export type { IRegistrarGoldfinch } from "./contracts/integrations/goldfinch/IRegistrarGoldfinch"; export { IRegistrarGoldfinch__factory } from "./factories/contracts/integrations/goldfinch/IRegistrarGoldfinch__factory"; export type { IStakingRewards } from "./contracts/integrations/goldfinch/IStakingRewards"; @@ -278,6 +266,8 @@ export type { DummyCRVLP } from "./contracts/integrations/goldfinch/test/DummyCR export { DummyCRVLP__factory } from "./factories/contracts/integrations/goldfinch/test/DummyCRVLP__factory"; export type { DummyStakingRewards } from "./contracts/integrations/goldfinch/test/DummyStakingRewards"; export { DummyStakingRewards__factory } from "./factories/contracts/integrations/goldfinch/test/DummyStakingRewards__factory"; +export type { IVault } from "./contracts/interfaces/IVault"; +export { IVault__factory } from "./factories/contracts/interfaces/IVault__factory"; export type { IVaultLiquid } from "./contracts/interfaces/IVaultLiquid"; export { IVaultLiquid__factory } from "./factories/contracts/interfaces/IVaultLiquid__factory"; export type { IVaultLocked } from "./contracts/interfaces/IVaultLocked"; @@ -308,8 +298,8 @@ export type { CharityApplication } from "./contracts/multisigs/charity_applicati export { CharityApplication__factory } from "./factories/contracts/multisigs/charity_applications/CharityApplication.sol/CharityApplication__factory"; export type { IMultiSig } from "./contracts/multisigs/charity_applications/CharityApplication.sol/IMultiSig"; export { IMultiSig__factory } from "./factories/contracts/multisigs/charity_applications/CharityApplication.sol/IMultiSig__factory"; -export type { ICharityApplication } from "./contracts/multisigs/charity_applications/interface/ICharityApplication"; -export { ICharityApplication__factory } from "./factories/contracts/multisigs/charity_applications/interface/ICharityApplication__factory"; +export type { ICharityApplication } from "./contracts/multisigs/charity_applications/interfaces/ICharityApplication"; +export { ICharityApplication__factory } from "./factories/contracts/multisigs/charity_applications/interfaces/ICharityApplication__factory"; export type { CharityStorage } from "./contracts/multisigs/charity_applications/storage.sol/CharityStorage"; export { CharityStorage__factory } from "./factories/contracts/multisigs/charity_applications/storage.sol/CharityStorage__factory"; export type { IMultiSigGeneric } from "./contracts/multisigs/interfaces/IMultiSigGeneric"; @@ -340,24 +330,20 @@ export type { Factory } from "./contracts/normalized_endowment/endowment-multisi export { Factory__factory } from "./factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol/Factory__factory"; export type { MultiSigWalletFactory } from "./contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol/MultiSigWalletFactory"; export { MultiSigWalletFactory__factory } from "./factories/contracts/normalized_endowment/endowment-multisig/EndowmentMultiSigFactory.sol/MultiSigWalletFactory__factory"; -export type { IEndowmentMultiSigEmitter } from "./contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigEmitter"; -export { IEndowmentMultiSigEmitter__factory } from "./factories/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigEmitter__factory"; -export type { IEndowmentMultiSigFactory } from "./contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigFactory"; -export { IEndowmentMultiSigFactory__factory } from "./factories/contracts/normalized_endowment/endowment-multisig/interface/IEndowmentMultiSigFactory__factory"; +export type { IEndowmentMultiSigEmitter } from "./contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigEmitter"; +export { IEndowmentMultiSigEmitter__factory } from "./factories/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigEmitter__factory"; +export type { IEndowmentMultiSigFactory } from "./contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigFactory"; +export { IEndowmentMultiSigFactory__factory } from "./factories/contracts/normalized_endowment/endowment-multisig/interfaces/IEndowmentMultiSigFactory__factory"; export type { IncentivisedVotingLockup } from "./contracts/normalized_endowment/incentivised-voting/IncentivisedVotingLockup"; export { IncentivisedVotingLockup__factory } from "./factories/contracts/normalized_endowment/incentivised-voting/IncentivisedVotingLockup__factory"; -export type { IIncentivisedVotingLockup } from "./contracts/normalized_endowment/incentivised-voting/interface/IIncentivisedVotingLockup"; -export { IIncentivisedVotingLockup__factory } from "./factories/contracts/normalized_endowment/incentivised-voting/interface/IIncentivisedVotingLockup__factory"; -export type { QueryIIncentivisedVotingLockup } from "./contracts/normalized_endowment/incentivised-voting/interface/QueryIIncentivisedVotingLockup"; -export { QueryIIncentivisedVotingLockup__factory } from "./factories/contracts/normalized_endowment/incentivised-voting/interface/QueryIIncentivisedVotingLockup__factory"; +export type { IIncentivisedVotingLockup } from "./contracts/normalized_endowment/incentivised-voting/interfaces/IIncentivisedVotingLockup"; +export { IIncentivisedVotingLockup__factory } from "./factories/contracts/normalized_endowment/incentivised-voting/interfaces/IIncentivisedVotingLockup__factory"; +export type { QueryIIncentivisedVotingLockup } from "./contracts/normalized_endowment/incentivised-voting/interfaces/QueryIIncentivisedVotingLockup"; +export { QueryIIncentivisedVotingLockup__factory } from "./factories/contracts/normalized_endowment/incentivised-voting/interfaces/QueryIIncentivisedVotingLockup__factory"; export type { IBasicToken } from "./contracts/normalized_endowment/incentivised-voting/lib/shared/IBasicToken"; export { IBasicToken__factory } from "./factories/contracts/normalized_endowment/incentivised-voting/lib/shared/IBasicToken__factory"; export type { IERC20WithCheckpointing } from "./contracts/normalized_endowment/incentivised-voting/lib/shared/IERC20WithCheckpointing"; export { IERC20WithCheckpointing__factory } from "./factories/contracts/normalized_endowment/incentivised-voting/lib/shared/IERC20WithCheckpointing__factory"; -export type { ILockedWithdraw } from "./contracts/normalized_endowment/locked-withdraw/interface/ILockedWithdraw"; -export { ILockedWithdraw__factory } from "./factories/contracts/normalized_endowment/locked-withdraw/interface/ILockedWithdraw__factory"; -export type { LockedWithdraw } from "./contracts/normalized_endowment/locked-withdraw/LockedWithdraw"; -export { LockedWithdraw__factory } from "./factories/contracts/normalized_endowment/locked-withdraw/LockedWithdraw__factory"; export type { SubDaoToken } from "./contracts/normalized_endowment/subdao-token/subdao-token.sol/SubDaoToken"; export { SubDaoToken__factory } from "./factories/contracts/normalized_endowment/subdao-token/subdao-token.sol/SubDaoToken__factory"; export type { BancorBondingCurve } from "./contracts/normalized_endowment/subdao-token/Token/BancorBondingCurve"; diff --git a/utils/constants.ts b/utils/constants.ts index 4941243d2..a4f1483b6 100644 --- a/utils/constants.ts +++ b/utils/constants.ts @@ -1 +1,5 @@ +import path from "path" + export const ADDRESS_ZERO = "0x0000000000000000000000000000000000000000" + +export const DEFAULT_CONTRACT_ADDRESS_FILE_PATH = path.join(__dirname, "../contract-address.json") diff --git a/utils/env.config.ts b/utils/env.config.ts index 0ea0e643f..02f26e631 100644 --- a/utils/env.config.ts +++ b/utils/env.config.ts @@ -56,7 +56,12 @@ if (!etherscanAPIKey) { const polyscanAPIKey: string | undefined = process.env.POLYSCAN_API_KEY if (!polyscanAPIKey) { - throw new Error("Please add the Etherscan API key to your .env file") + throw new Error("Please add the Polyscan API key to your .env file") +} + +const PROD_NETWORK_ID: number = Number(process.env.PROD_NETWORK_ID) +if (isNaN(PROD_NETWORK_ID)) { + throw new Error("Please add PROD_NETWORK_ID key with a number value to your .env file") } export var accounts = [ @@ -78,5 +83,6 @@ export var envConfig = { 'polygonRPC': polygonRPC, 'mumbaiRPC': mumbaiRPC, 'etherscanAPIKey': etherscanAPIKey, - 'polyscanAPIKey': polyscanAPIKey -} \ No newline at end of file + 'polyscanAPIKey': polyscanAPIKey, + 'PROD_NETWORK_ID': PROD_NETWORK_ID +} diff --git a/utils/gitHelpers.ts b/utils/gitHelpers.ts new file mode 100644 index 000000000..2194dc5ed --- /dev/null +++ b/utils/gitHelpers.ts @@ -0,0 +1,41 @@ +import simpleGit, { gitP, SimpleGit, GitError, PushResult, CleanOptions, CommitResult } from 'simple-git'; +import * as logger from "./logger" +import * as timeHelpers from "./timeHelpers" + +export async function commitAndTagRelease(chainId: Number) { + const git: SimpleGit = simpleGit().clean(CleanOptions.FORCE) + + logger.divider() + logger.out("Committing and tagging as release...", logger.Level.Info) + + await git.add('.').catch(catchTask) + + await git.commit( + 'Autonomous commit for deploy at ' + + timeHelpers.getFullTimestamp() + + ' on ' + chainId.toString()) + .catch(catchTask) + + let newTag = await nextTag(git) + logger.pad(5, "Tagged as: ", newTag) + + await git.raw(["tag", newTag]).catch(catchTask) + + await git.pushTags('origin').catch(catchTask) + } + +async function nextTag(git: SimpleGit) { + let latestTag = (await git.tags()).latest + if(latestTag) { + let latestSplit = latestTag.split(".") + let minorIncr: number = +latestSplit[1] + 1 + latestSplit[1] = minorIncr.toString() + latestSplit[2] = "0" + return latestSplit.join('.') + } + return "" +} + +function catchTask (e: GitError) { + logger.out(e, logger.Level.Error) + } \ No newline at end of file diff --git a/utils/index.ts b/utils/index.ts index 187e8460b..226be2d13 100644 --- a/utils/index.ts +++ b/utils/index.ts @@ -2,8 +2,9 @@ export * from "./confirmAction" export * from "./constants" export * from "./env.config" export * from "./getContractName" -export * from "./IRegistrarHelpers" -export * from "./IRouterHelpers" export * from "./keygen" export * as logger from "./logger" +export * from "./manageAddressFile" +export * from "./networkHelpers" export * from "./shouldVerify" +export * from "./test" diff --git a/utils/keygen.ts b/utils/keygen.ts index 25d1c70d8..9402f96db 100644 --- a/utils/keygen.ts +++ b/utils/keygen.ts @@ -13,5 +13,3 @@ export function genWallet(printToConsole: Boolean = false) { } return wallet } - -genWallet(true) \ No newline at end of file diff --git a/utils/manageAddressFile/helpers.ts b/utils/manageAddressFile/helpers.ts new file mode 100644 index 000000000..dcedd14fe --- /dev/null +++ b/utils/manageAddressFile/helpers.ts @@ -0,0 +1,216 @@ +import fs from "fs" +import { AddressObj } from "./types" + +export function getAddressesByNetworkId(networkId: string | symbol | number, filePath: string): AddressObj { + const addresses = readAllAddresses(filePath) + + const key = String(networkId) + + if (!hasKey(addresses, key)) { + return createEmpty() + } + + return new Proxy(addresses[key], { + get: (target, prop) => { + const contractKey = String(prop) + if (hasKey(target, contractKey) && !!target[contractKey]) { + return target[contractKey] + } + + throw new Error(`Contract '${contractKey}' not deployed on network '${key}'`) + }, + }) +} + +export function readAllAddresses(filePath: string) { + checkExistence(filePath) + + const jsonData = fs.readFileSync(filePath, "utf-8") + + const data: Record = JSON.parse(jsonData) + + return data +} + +export function saveFrontendFiles(addresses: Record, filePath: string) { + return new Promise(async (resolve, reject) => { + try { + checkExistence(filePath) + + const data = readAllAddresses(filePath) + + Object.assign(data, addresses) + + fs.writeFileSync(filePath, JSON.stringify(data, undefined, 2)) + + resolve(true) + } catch (e) { + reject(e) + } + }) +} + +function checkExistence(filePath: string) { + if (!fs.existsSync(filePath)) { + throw new Error(`No such file, path: '${filePath}'.`) + } +} + +function hasKey(obj: T, k: keyof any): k is keyof T { + return k in obj +} + +function createEmpty(): AddressObj { + return { + accounts: { + diamond: "", + facets: { + accountDeployContract: "", + accountDepositWithdrawEndowments: "", + accountDonationMatch: "", + accountsAllowance: "", + accountsCreateEndowment: "", + accountsDAOEndowments: "", + accountsQueryEndowments: "", + accountsSwapEndowments: "", + accountsUpdate: "", + accountsUpdateEndowments: "", + accountsUpdateEndowmentSettingsController: "", + accountsUpdateStatusEndowments: "", + accountsVaultFacet: "", + diamondCutFacet: "", + diamondInitFacet: "", + diamondLoupeFacet: "", + ownershipFacet: "", + reentrancyGuardFacet: "", + }, + }, + charityApplication: { + implementation: "", + proxy: "", + }, + donationMatch: { + emitter: "", + implementation: "", + }, + donationMatchCharity: { + implementation: "", + proxy: "", + }, + fundraising: { + implementation: "", + library: "", + proxy: "", + }, + giftcards: { + implementation: "", + proxy: "", + }, + goldfinch: { + liquidVault: "", + lockedVault: "", + }, + halo: { + airdrop: { + implementation: "", + proxy: "", + }, + collector: { + implementation: "", + proxy: "", + }, + community: { + implementation: "", + proxy: "", + }, + distributor: { + implementation: "", + proxy: "", + }, + erc20Upgrade: { + implementation: "", + proxy: "", + }, + gov: { + implementation: "", + proxy: "", + }, + govHodler: { + implementation: "", + proxy: "", + }, + staking: { + implementation: "", + proxy: "", + }, + timelock: { + implementation: "", + proxy: "", + }, + token: "", + vesting: { + implementation: "", + proxy: "", + }, + votingERC20: { + implementation: "", + proxy: "", + }, + }, + incentivisedVotingLockup: { + implementation: "", + }, + indexFund: { + implementation: "", + proxy: "", + }, + libraries: { + ANGEL_CORE_STRUCT_LIBRARY: "", + STRING_LIBRARY: "", + }, + multiSig: { + applications: { + implementation: "", + proxy: "", + }, + apTeam: { + implementation: "", + proxy: "", + }, + endowment: { + emitter: { + implementation: "", + proxy: "", + }, + factory: "", + implementation: "", + }, + }, + registrar: { + implementation: "", + proxy: "", + }, + router: { + implementation: "", + proxy: "", + }, + subDao: { + emitter: { + implementation: "", + proxy: "", + }, + implementation: "", + token: "", + veBondingToken: "", + }, + swapRouter: { + implementation: "", + proxy: "", + }, + tokens: { + halo: "", + usdc: "", + weth: "", + }, + } +} diff --git a/utils/manageAddressFile/index.ts b/utils/manageAddressFile/index.ts new file mode 100644 index 000000000..67e198a2c --- /dev/null +++ b/utils/manageAddressFile/index.ts @@ -0,0 +1,2 @@ +export * from "./manageAddressFile" +export * from "./types" diff --git a/utils/manageAddressFile/manageAddressFile.ts b/utils/manageAddressFile/manageAddressFile.ts new file mode 100644 index 000000000..225ccc400 --- /dev/null +++ b/utils/manageAddressFile/manageAddressFile.ts @@ -0,0 +1,63 @@ +import { HardhatRuntimeEnvironment } from "hardhat/types" +import { DEFAULT_CONTRACT_ADDRESS_FILE_PATH } from ".." +import { getAddressesByNetworkId, readAllAddresses, saveFrontendFiles } from "./helpers" +import { AddressObj } from "./types" + +/** + * Removes contract address for the current network from the appropriate file. + */ +export async function cleanAddresses(hre: HardhatRuntimeEnvironment, filePath = DEFAULT_CONTRACT_ADDRESS_FILE_PATH) { + const chainId = await getChainId(hre) + + const allAddresses = readAllAddresses(filePath) + + const { [chainId]: toRemove, ...toRemain } = allAddresses + + await saveFrontendFiles(toRemain, filePath) +} + +export async function getAddresses( + hre: HardhatRuntimeEnvironment, + filePath = DEFAULT_CONTRACT_ADDRESS_FILE_PATH +): Promise { + const chainId = await getChainId(hre) + return getAddressesByNetworkId(chainId, filePath) +} + +type DeepPartial = { + [K in keyof T]?: T[K] extends object ? DeepPartial : T[K] +} + +export async function updateAddresses( + partial: DeepPartial, + hre: HardhatRuntimeEnvironment, + filePath = DEFAULT_CONTRACT_ADDRESS_FILE_PATH +) { + const chainId = await getChainId(hre) + + const currentAddressObj = getAddressesByNetworkId(chainId, filePath) + + const updated = updateInternal(currentAddressObj, partial) + + await saveFrontendFiles({ [chainId]: updated }, filePath) +} + +function updateInternal(original: T, partial: DeepPartial): T { + // if value to update is not an object, no need to go deeper + if (typeof partial !== "object") { + return partial + } + + const updated: T = { ...original } + + for (const key in partial) { + updated[key] = updateInternal(original[key], partial[key]!) + } + + return updated +} + +async function getChainId(hre: HardhatRuntimeEnvironment): Promise { + const chainId = (await hre.ethers.provider.getNetwork()).chainId + return chainId +} diff --git a/utils/manageAddressFile/types.ts b/utils/manageAddressFile/types.ts new file mode 100644 index 000000000..7dc80c853 --- /dev/null +++ b/utils/manageAddressFile/types.ts @@ -0,0 +1,152 @@ +export type AddressObj = { + accounts: { + diamond: string + facets: { + accountDeployContract: string + accountDepositWithdrawEndowments: string + accountDonationMatch: string + accountsAllowance: string + accountsCreateEndowment: string + accountsDAOEndowments: string + accountsQueryEndowments: string + accountsSwapEndowments: string + accountsUpdate: string + accountsUpdateEndowments: string + accountsUpdateEndowmentSettingsController: string + accountsUpdateStatusEndowments: string + accountsVaultFacet: string + diamondCutFacet: string + diamondInitFacet: string + diamondLoupeFacet: string + ownershipFacet: string + reentrancyGuardFacet: string + } + } + charityApplication: { + implementation: string + proxy: string + } + donationMatch: { + emitter: string + implementation: string + } + donationMatchCharity: { + implementation: string + proxy: string + } + fundraising: { + implementation: string + library: string + proxy: string + } + giftcards: { + implementation: string + proxy: string + } + goldfinch: { + liquidVault: string + lockedVault: string + } + halo: { + airdrop: { + implementation: string + proxy: string + } + collector: { + implementation: string + proxy: string + } + community: { + implementation: string + proxy: string + } + distributor: { + implementation: string + proxy: string + } + erc20Upgrade: { + implementation: string + proxy: string + } + gov: { + implementation: string + proxy: string + } + govHodler: { + implementation: string + proxy: string + } + staking: { + implementation: string + proxy: string + } + timelock: { + implementation: string + proxy: string + } + token: string + vesting: { + implementation: string + proxy: string + } + votingERC20: { + implementation: string + proxy: string + } + } + incentivisedVotingLockup: { + implementation: string + } + indexFund: { + implementation: string + proxy: string + } + libraries: { + ANGEL_CORE_STRUCT_LIBRARY: string + STRING_LIBRARY: string + } + multiSig: { + applications: { + implementation: string + proxy: string + } + apTeam: { + implementation: string + proxy: string + } + endowment: { + emitter: { + implementation: string + proxy: string + } + factory: string + implementation: string + } + } + registrar: { + implementation: string + proxy: string + } + router: { + implementation: string + proxy: string + } + subDao: { + emitter: { + implementation: string + proxy: string + } + implementation: string + token: string + veBondingToken: string + } + swapRouter: { + implementation: string + proxy: string + } + tokens: { + halo: string + usdc: string + weth: string + } +} diff --git a/utils/networkHelpers.ts b/utils/networkHelpers.ts new file mode 100644 index 000000000..92848f7c2 --- /dev/null +++ b/utils/networkHelpers.ts @@ -0,0 +1,5 @@ +import { Network } from "hardhat/types" + +export function isLocalNetwork(network: Network) { + return network.name === "hardhat" || network.name === "localhost" +} diff --git a/utils/IRegistrarHelpers.ts b/utils/test/ILocalRegistrarHelpers.ts similarity index 100% rename from utils/IRegistrarHelpers.ts rename to utils/test/ILocalRegistrarHelpers.ts diff --git a/utils/IRouterHelpers.ts b/utils/test/IRouterHelpers.ts similarity index 93% rename from utils/IRouterHelpers.ts rename to utils/test/IRouterHelpers.ts index 632216592..f5c143c38 100644 --- a/utils/IRouterHelpers.ts +++ b/utils/test/IRouterHelpers.ts @@ -1,10 +1,7 @@ import type { BigNumberish, BytesLike - } from "ethers"; - import type { - PromiseOrValue, - } from "typechain-types/common"; + } from "ethers" export declare namespace IRouter { export type VaultActionDataStruct = { diff --git a/utils/test/index.ts b/utils/test/index.ts new file mode 100644 index 000000000..7adcb8d1c --- /dev/null +++ b/utils/test/index.ts @@ -0,0 +1,2 @@ +export * from "./ILocalRegistrarHelpers" +export * from "./IRouterHelpers" \ No newline at end of file diff --git a/utils/timeHelpers.ts b/utils/timeHelpers.ts new file mode 100644 index 000000000..14d72bc48 --- /dev/null +++ b/utils/timeHelpers.ts @@ -0,0 +1,6 @@ +export function getFullTimestamp () { + const pad = (n: any,s=2) => (`${new Array(s).fill(0)}${n}`).slice(-s); + const d = new Date(); + + return `${pad(d.getFullYear(),4)}-${pad(d.getMonth()+1)}-${pad(d.getDate())} ${pad(d.getHours())}:${pad(d.getMinutes())}:${pad(d.getSeconds())}`; +} \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index af410e7f6..1475728e1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -608,6 +608,18 @@ "@jridgewell/resolve-uri" "3.1.0" "@jridgewell/sourcemap-codec" "1.4.14" +"@kwsites/file-exists@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@kwsites/file-exists/-/file-exists-1.1.1.tgz#ad1efcac13e1987d8dbaf235ef3be5b0d96faa99" + integrity sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw== + dependencies: + debug "^4.1.1" + +"@kwsites/promise-deferred@^1.1.1": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz#8ace5259254426ccef57f3175bc64ed7095ed919" + integrity sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw== + "@metamask/eth-sig-util@^4.0.0": version "4.0.1" resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz#3ad61f6ea9ad73ba5b19db780d40d9aae5157088" @@ -1545,6 +1557,10 @@ resolved "https://registry.yarnpkg.com/@uniswap/v3-core/-/v3-core-1.0.0.tgz#6c24adacc4c25dceee0ba3ca142b35adbd7e359d" integrity sha512-kSC4djMGKMHj7sLMYVnn61k9nu+lHjMIxgg9CDQT+s2QYLoA56GbSK9Oxr+qJXzzygbkrmuY6cwgP6cW2JXPFA== +"@uniswap/v3-core@github:AngelProtocolFinance/uniswap-v3-core#fullmath-fix": + version "1.0.1" + resolved "https://codeload.github.com/AngelProtocolFinance/uniswap-v3-core/tar.gz/8869c4040991e45717009355e0ee295a10c7d560" + "@uniswap/v3-periphery@^1.4.3": version "1.4.3" resolved "https://registry.yarnpkg.com/@uniswap/v3-periphery/-/v3-periphery-1.4.3.tgz#a6da4632dbd46b139cc13a410e4ec09ad22bd19f" @@ -7903,6 +7919,15 @@ simple-get@^2.7.0: once "^1.3.1" simple-concat "^1.0.0" +simple-git@^3.18.0: + version "3.18.0" + resolved "https://registry.yarnpkg.com/simple-git/-/simple-git-3.18.0.tgz#2e25adbbc1e3df5ee97c0f1b468ddadf3f0f9adf" + integrity sha512-Yt0GJ5aYrpPci3JyrYcsPz8Xc05Hi4JPSOb+Sgn/BmPX35fn/6Fp9Mef8eMBCrL2siY5w4j49TA5Q+bxPpri1Q== + dependencies: + "@kwsites/file-exists" "^1.1.1" + "@kwsites/promise-deferred" "^1.1.1" + debug "^4.3.4" + simple-wcswidth@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/simple-wcswidth/-/simple-wcswidth-1.0.1.tgz#8ab18ac0ae342f9d9b629604e54d2aa1ecb018b2"