From 485a933f648895b797f078700246edc8f363ef4b Mon Sep 17 00:00:00 2001 From: Connor Barr Date: Fri, 28 Jun 2024 10:13:37 +0100 Subject: [PATCH] chore: Merge v1.0.x changes in to development (#494) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Removed unused directory * [RES-16] Added update kernel message * [RES-01] Added some module checks * [RES-02] Added check that a module is an ADO on registration * [RES-03] Removed remainder from amount sent to seller in exchange * [RES-08] Added address validatin for app update_address * [RES-11] Added token address authorisation to cw721 auction * [RES-12] Added denom validation to cw721 auction * [RES-19] Added check for app component length * [RES-20] Added check for same token to token exchange * [RES-21] Clarity for decimal returns in allowed_withdrawal_percent * [RES-22] Added check for timestamp in past * Added test for query withdrawal percent in lockdrop * [RES-05] Removed lockdrop owner restriction on withdrawals * Removed unused code * New Ownership Process (#260) * Updated ownership process * Added expiring ownership offer * Linting * Fixed failing test * [AND-01] Altered multichain app to use target chain instead of currchain * [AND-01] Added test and fixed symlink references * [AND-02] Added ensure check for ownership on restricted permissioning messages * [AND-03] Removed App/ADO fee payments * [AND-04] Added ensure check in validate_andr_addresses * [ANDR-05] Added length check to username regex * [AND-06] Added handling for case with multiple duplicate denoms in merge/deduct coins * [AND-07] Improved funds handling in kernel local handling * [AND-8] updated action fees to be associated to ado type * [ANDR-09] Altered how paths are resolved * Added TODO from AND-07/11 * [AND-12] Improved channel/chain two way mapping * [AND-16] Added error handling for no channel info when sending ibc message * Save ado_version.get_type() instead of ado_version in store_code_id and removed .clone() from it * empty funds route to handle_ibc_hooks, funds route to handle_ibc_direct * revert commit 5d44dde * [RES-01] Default modules to empty vector on instantiation * [RES-05] Removed deprecating withdrawal amount from lockdrop * [RES-13] Added message to update token contract * [RES-13] Added test for finding 13 * [RES-22] In marketplace user must provide exact payment * Fixed failing test from [RES-22] * [RES-22] Ensure provided amount is exact * Linting * component name can't be '.' AND-34 * usernames that are a valid CosmWasm address must be the same as info.sender's address + unit tests AND-41 * added underflow check for consume_use in permissioning AND-37 * removed tilde symbol check from resolve_lib_path * ado type can no longer be empty or made of only spaces AND-32 * PATH_REGEX now includes paths that start with './' + unit tests AND-31 * [AND-21] Added limit to path parts length * [AND-22] Added validation on fee string * Linting * [AND-25] Inverted boolean check in handle ibc direct * [AND-27] Added version checking in adodb publish * [AND-17] Added asset validation method to ActionFee * [AND-29] Fixed issue with vfs removing incorrect username * [AND-30] Added check if username taken * owner_or_operator checks for add_withdrawable_token and remove_withdrawable_token, and added documentation for them AND-39 * reply function for economics contract, exact behavior tbd AND-33 * [AND-23] Restricted AddParentPath to app contract and renamed it * test_claim_ownership_all() now passes, execute_claim tests were already passing, cw20_staking replace unwrap() with ? AND-38 * [AND-27] Rewrote vfs path resolving to prevent loops * updated test_reply_assign_app AND-38 * check if funds are empty before creating SubMsg in handle_local AND-38 * findings concerning vault balance check for test_crowdfund_app * removed dated todos and unnecesssary check AND-38 * removed commented out todo from kernel execute.rs AND-38 * only verified ADOs can access the kernel's amp_receive AND-42 * test_handle_ibc_direct adjustment AND-42 * Linting * replaced most addition operations of Uint128 with checked_add() AND-37 * replaced all subtraction operations with checked_sub() AND-37 * Unpublish function for ADODB with unit test and schema update AND-35 * linting * additional safe math implementations AND-37 * additional checks in kernel integration test to see if Send is working as expected * Added alphanumeric check to component name * check for AMPReceive's verify address in the kernel * linting * adodb saves unpublished code ids, prevents republishing of unpublished code ids, includes unit test * linting * adodb keeps track of unpublished versions of corresponding ADO types, prevents their republishing. With unit test * unpublished code ids and versions are now stored in a Map * no longer overwriting the response in the kernel's amp_receive * linting * disabled cross chain components in the kernel's handler. Addresses #283 * Revert "disabled cross chain components in the kernel's handler. Addresses #283" This reverts commit a7699891105abb1043f790492a314f44c22a5a9e. * ibc_create_ado always errors and kernel's create() errors if a chain is provided. Addresses #283 * ADODB Unpublish changes and testing * Fixed error passing for amp_receive * Kernel Direct Send (#285) * Added direct sending from kernel * Linting * Added check for funds in kernel routing * Added a fix for dispersed coins in "has coins" check * Linting * Linting * Linting * Crate version update * 268 cw20 exchange extended options in startsale struct (#272) * added optional start time and duration + unit tests + schema update * Addresses #269 added start_time in Sale for cw20-exchange * linting * save start_time as current block time + 1 instead of setting it as Never in case it isn't provided * linting and comment adjustment * Addresses #267 refund original token instead of sale token when cancelling sale * changed claim ownership's new_owner field from Option to Option with schema update * removed unused commented code * 270 marketplace021 extended options in startsale struct (#273) * added start time and expiration for sale in marketplace with test adjustments * linting * added unit tests for start_time and duration, removed pending status * guard against start times that are more than a second behind current block time * Added attributes for execute_cancel and added more comments * removed commented test. This branch addresses issue #270 * updated marketplace schema * removed SaleNotStarted error, using SaleNotOpen instead * prefixed test names with test_ * Bump version and updated schema * Uncommented economics reply method code * Paginated get_subdir query * when unpublishing the latest version of an ADO type, its previous version(if available) will be set as the latest version * test case where we're removing the only version of an ADO type * linting * check for is_none instead of is_error in unpublish unit test * Fixed generics for execute_amp_receive * combined ReplyIds, started using replyid::payfee instead of 9999 directly * remove old direct and isc20 channels when new ones are provided for the same chain. AND-12 * fixed unit tests * Altered ado_type_getter * VFS uses smart query * Added check for ':' in get_asset_string * Added to_lowercase check on vfs * Reverted ADO version change to use full version type * All usernames/paths in VFS to lower case * Removed unused code * Adjusted ado types query limit * renamed new_owner to potential_owner, OwernshipRequest query that returns potential owner's address. Resolves #306 * OS Base Queries (audit merge) (#308) * added base queries to os contracts * removed version from ADOContract and its related method * started using ADOContract's methods directly for base queries in OS contracts, removed os_querrier.rs * replaced unwrap() with ? * added OwnershipRequest to andr_query, ContractPotentialOwnerResponse struct for OwnershipRequest. #306 * Resolved linting problems * Removed IBC tests * Fixed imports * added permission attribute to execute_authorize_token_contract * test allocated rewards with start time in the future, added check on the first staker's rewards * [1.0.rc-1] os ownership messages, lockdrop fix, and marketplace query (#320) * added ownership execute msg to OS contracts * resolved issue #316 * added start_time and end_time to SaleStateResponse. Resolves #319 * [1.0.rc-1] Operators Removal (#318) * removed operators from contracts * linting * [1.0.rc-1] Crowdfund End Sale (#324) * allow ending of sale if the minimum tokens sold is met, but only the owner can end it in that case * linting * separated minimum sold and is owner into two variables for clarity * [1.0.rc-1] Withdraw Feature Removal (#321) * removed Withdraw and Deposit from Andromeda message, applied them to the vault contract's ExecuteMsg * removed withdrawable_tokens from ADOContract, removed the withdraw feature, commented out withdraw.rs in ado_contract * deleted withdraw.rs in ado_contract * linting * [RES-04] Made init timestamp non-optional * Added test for RES-04 changes * [1.0.rc-1] Cw721 extension removal (#327) * removed CW721's Extenstion ExecuteMsg * removed Cw721's Extension QueryMsg * removed Extention from QueryMsg * fixed spacing in BaseInstantiateMsg * removed commented code * Reinstated cw20-staking integration test * Updated integration test for delayed allocation for staking * VFS Regex Upgrades (#312) * create AppContractResponse, added AppContract query to andr_query and AndromedaQuery (#332) * Fixed typing errors * added UpdateChainName and GetChainName methods (#334) * added UpdateChainName and GetChainName methods * update: updated GetChainName to ChainName & added custom response type to the query * renamed get_chain_name function to chain_name function * [1.0.rc-1] Unique Recipients for Splitter (#340) * splitter validate returns () instead of bool since the bool was never used. validate now also checks for duplicate recipients * linting * fixed test and added case for duplicate recipients * linting * check percent_sum in every iteration of the loop * Bump rc version (#344) * [1.0.rc-1] Added call_action to Non-OS ADOs (#341) * call_action function, implemented to Splitter * implemented call_action to the contracts mentioned in #233 * linting * added test case for duplicate recipients * Revert "added test case for duplicate recipients" This reverts commit f8161d0a195763c4e946af358820b219a3ca1316. * added test for permissioning in auction integration test * appended call_action's response to handle_execute's response. Made the corresponding unit test changes * moved generate_economics_message to economics_msg file in andromeda-testing to reduce redundancy * call set_conctract_version after cw20_instantiate since that function was overwriting the verison (#348) * [1.0.rc-1] Time Standardization (#335) * Basic milliseconds type * Added Milliseconds to Crowdfund * Added milliseconds to splitter * Removed unused code * Added Milliseconds to lockdrop * Added milliseconds to timelock * Added Milliseconds to Rate Limiting Withdrawals * Added Milliseconds to cw20-staking * Schema updates * Added subtract seconds function * Schema generation * [1.0.rc-1] CosmWasm 1.5 Upgrade (#342) * upgraded to cosmwasm 1.5, made the necessary adjustments * upgraded cw20 and cw20-base, fmt fix * uncommented denom validation, enabled cosmwasm 1.3 feature for auction to access query_denom_metadata * updated cw-multi-test to 1.0.0, fixed auction integration test denom validation * auction mock_querier adjustment * linting after resolving merge conflicts * took DenomMetadataResponse struct from cosmwasm_std and defined it locally * minor adjustment to kernel integration test * App schema changes * [1.0.rc-1] Suspend Register User in VFS (#355) * disabled RegisterUsername, adjusted unit tests, created TemporarilyDisabled ContractError * linting * adjusted mock.rs in andromeda-testing, crowdfund and kernel intergration tests * linting * used #[cfg(not(test))] for the TemoirarilyDisabled error, reverted unit test changes * commented out AddressAndKey option, commented out unreachable code in instantiation (#361) * [1.0.rc-1] VFS SubDir Query Change to Struct from Tuple (#362) * replaced tuple with struct for VFS's SubDir * renamed struct, updated schema * removed Timestamp query from CW20-Staking (#366) * [1.0.rc-1] WithdrawableBalance Removal from AndromedaQuery (#367) * removed WithdrawableBalance query from AndromedaQuery, created PermissionedActionsResponse for Permissioned Actions query, temporarily disabled query_balance with startegy in Vault contract * test fixes * linting * Instantiate2 and App ADO Creation Automation (#354) * Added instantiate 2 [WIP] * Added instantiate2 and fixed tests * Added automation for app contract instantiated ADOs * Fixed contract name and cw2 references * Disabled Instantiate2 for non-new app components * Do not register hidden app components * Register symlinks before instantiation * Updated handle add app component * Change local reference resolution format * Added Instantiate2 ContractError * Added component event generation * Improved instantiate attribute returns * Fixed failing tests * Fixed ado type in storage * Fix prev commit * Added temporary ADODB query * ADODB uses string for ado type * Fixed failing test * Swapped VFS to use raw query * Removed unused query * Fixed contract name for addresslist and auction * [1.0.rc-1] Optional Start Time for Sale in Crowdfund & Auction (#331) * added optional start time for crowdund, changed expiration to duration for consistency * fixed rate limiting withdrawals schema * made start time optional in auction's start and update sale * set start time when not provided as current time + 1 instead of current time like in cw20 exchange * created get_and_validate_start_time to make the functions that use start_time more concise * start_time defaults to current_time + 1, and duration has to be above 0 across cw20 exchange, auction, crowdfund and marketplace * forwarded time in markeplace integration test to start sale * used block time variable for current_time in assert_auction_created() * replaced duration with expiration * replaced duration with expiration in crowdfund integration test * renamed expiration to end_time in State struct and StartSale msg * generated schemas * implemented Milliseconds to cw20-exchange, auction, crowdfund, and marketplace * Removed balance query (#379) * Albert/get addresses with names for symlink (#376) * fixed app contract's add component function to update ado addresses when component is added with symlink * add: added unit test with component add usecase * updated integration test with valid symlink * lint fixed * updated integration test to refer app name with init msg result * fixed lint * [RC] Ownership Request Query Response Object (#380) * Changed response object for ownership request query * Added expiration to ownership request query response * Schema generation * [1.0.rc-1] Denom Validation Fix (#384) * validate denom now returns the actual error instead of our ContractError * validate_denom now uses query_supply instead of query_denom_metadata * linting * added match statement for BankQueries in mock_querier, removed commented code * [1.0.rc-1] AndrAddr Recipient for SendNft in CW721 (#375) * made contract_addr's type in execute_send_nft an AndrAddr * get raw address of contract_addr before calling send_nft * implemented AndrAddr for execute_send's contract in CW20 * use local vfs path instead of address in auction integration test * Lint fix and schema build * [1.0.rc-1] Crowdfund & Auction Adjustments (#386) * Albert/make open auction an option and add a query (#364) * adjusted auction contract to accept unauthorized cw721 based on the authorized_token_addresses provided by the instantiate msg * addded query to get the authorized addressses for an auction * added pagination to permissioned actors query * fixed lint err * removed unused state from storage * resolved conflict with rc branch * updated permission system pagination * Fixed query permissioned actors * Linting --------- Co-authored-by: Connor Barr * STD + Macro version bump * Version bump * fixed add app component error (#389) * fix cosmwasm_1_3 error in auction (#393) * [Fix]: Local AMP Message Recipient (#396) * Added local resolution to Recipient struct * Added Recipient validation * Fixed message validate logic order for splitter * Update lockdrop incentive token (#390) * updated lockdrop to use Addr for incentive token * fixed linting err * saved incentive token's AndrAddr directly instead of resolving it * fixed bug in lockdrop contracT * used base migrate function in all contracts (#394) * used base migrate function in all contracts * updated base migrate function logic for saving contract name * fixed linting err: * [1.0.rc-1] AndrAddr for Some CW20 & CW721 Messages (#398) * implemented AndrAddr to recipient in Transfer, TransferFrom, and SendFrom in CW20 * implemented AndrAddr to TransferNft's recipient in cw721 * used some vfs paths instead of raw addresses in cw20 staking integration test * replaced all instances of env: ExecuteContext with ctx: ExecuteContext * Integration Test Improvements (#388) * Added instantiate 2 [WIP] * Added instantiate2 and fixed tests * Added automation for app contract instantiated ADOs * Fixed contract name and cw2 references * Disabled Instantiate2 for non-new app components * Do not register hidden app components * Register symlinks before instantiation * Updated handle add app component * Change local reference resolution format * Integration Testing Restructure (#264) * Mock updates * Linting * Added STD version to root cargo file * Updated auction to new testing setup * Linting * Updated crate versions * Fixed failing test * Linting * Updated OS to use new structure in integration testing * Linting * Added message generics to mock structs for better type safety * Removed testing feature * Updated final tests to new integration test standard * Create README.md * Update README.md * Update README.md * Fixed tests * Added Instantiate2 ContractError * Added component event generation * Improved instantiate attribute returns * Fixed integration tests * Fixed failing tests * [WIP] Mock builder * Upgraded unit-test scaffolding * Fixed tests * Fixed app test * Updated testing readme * Improved app integration test * Fixed tests and removed cw2 dependencies * Fixed imports * Lock sha256 version * Update auction and marketplace contracts * Fixed module permissioning * [RC]: Marketplace and Auction Recipients (#399) * Added recipient field to auction * Updated marketplace for recipient * Fixed auction recipient * Fixed failing tests * Improved auction test * Version bumps * Fix version issues from previous commit * Remove submodule * Schema fixes * make changes to readme * fix photo link * Update README.md * Update README.md fix sentence * Update README.md add link to andr.js repo * [1.0.rc-1] MillisecondsDuration and MillisecondsExpiration types (#403) * replaced Milliseconds with either MillisecondsDuration or MillisecondsExpiration * Splitter struct's lock comment improvement and change to MillisecondsExpiration * Test * feat: Added git hooks * fix: added conventional commits config * [1.0.rc-1] CW20 Support for the Auction & Marketplace ADOs (#391) * added valid_cw20_contract in auction's state, adjusted validate_denom to accept the valid cw20 contract * execute_place_bid_cw20 for auction * added support for cw20 in auction's execute_claim * returned the original order of messages in the response * cw20 support for claim, adjusted validate_denom, use permissioning system to set valid cw20 * added unit tests for cw20 support * renamed cw20hookmsg's purchase to PlaceBid * updated auction's schema * changed ReceiveCw20 to Receive, integration test for auction with cw20 * updated auction's schema * additional checks for auction_cw20 integration test * improved error message for InvalidFunds * unit test adjustment for new error message * moved denom_validation to denom file in the common folder for easier implementation for other contracts * added uses_cw20 in auction state * cw20 support for marketplace ADO * added unit tests for cw20 support in Marketplace * added integration test for cw20-enabled marketplace, adjusted tax payments when buying with cw20 * stopped sending 0 funds when tax recipient and amount are None in Marketplace * improved some error messages * added denom validation for crowdfund * changed whitelist to in AuctionState to a bool, validate whitelist in auction using permissioning system, whitelist is set per individual auction * implemented new whitelist system to update_auction * adjustments to denom.rs, auction, marketpalce, splitter and crowdfund * fixed cw20 tax payments in auction, same implementation as marketplace * fmt fix * added recipient's address support for cw20 auction * removed check that prevented open auctions * added conditional statement for after tax payment in marketplace * resolves #402 * added recipient address support for cw20 sales in Marketpalce * added recipient to cw20 auction integration test * added whitelist testing in auction integration test * implemented genereate_msg_cw20 in marketplace and auction * refactor: remove unncessary checks, improve error message, add same check for denom validation in update auction as in start auction * added fund limit to the create batch (#404) * added lower fund limit to the create batch * added validation for maximum funds for batch creation * fixed linting err * fixed validation process error * updated test case * feat: Added MockVestingContract struct to Vesting Contract * fix: Removed unused file --------- Co-authored-by: Connor Barr * [RC]: Removed Expiration from Permissioning and UpdateOwner messages (#408) * fix: Replaced Expiration with MillisecondsExpiration in UpdateOwner Old messages will be incompatible with this change if they have an expiration field * fix: Replaced Expiration with MillisecondsExpiration in permissioning messages Old permissioning messages will be incompatible if they contained an expiration * fix: Fixes cw20 validation in marketplace * chore: βœ… Bumped all contract versions to 1.0.0 * chore: πŸ“¦οΈ Fixed crate version references for publishing * chore: πŸ”§ Added descriptions for all contract packages * fix: πŸ”§ Added license to Andromeda Ecosystem crate * test: πŸ› Fixed failing cw20 staking integration test * Update README.md fix link and change pic reference to the PR branch * Fix: Instantiate 2 address length (#467) * fix: instantiate2 injective error * Bump version for app-contract and app-package * chore: remove all schema files * chore: resolved compiler errors --------- Co-authored-by: Joe Monem Co-authored-by: Anshudhar Kumar Singh Co-authored-by: Joe Monem <66594578+joemonem@users.noreply.github.com> Co-authored-by: Speed Demon <138406401+cowboy0015@users.noreply.github.com> Co-authored-by: Anshudhar Kumar Singh <53444123+SlayerAnsh@users.noreply.github.com> Co-authored-by: daniel Co-authored-by: daniel-wehbe <90905690+daniel-wehbe@users.noreply.github.com> --- Cargo.lock | 171 +++++++++--------- README.md | 135 ++++++++++---- asset/Andromeda-IBC.png | Bin 0 -> 221962 bytes .../app/andromeda-app-contract/Cargo.toml | 2 +- .../app/andromeda-app-contract/README.md | 0 .../andromeda-primitive/Cargo.toml | 2 +- .../Cargo.toml | 2 +- .../andromeda-cw20-staking/Cargo.toml | 2 +- .../andromeda-cw20-staking/src/contract.rs | 2 - .../fungible-tokens/andromeda-cw20/Cargo.toml | 2 +- .../andromeda-lockdrop/Cargo.toml | 2 +- .../andromeda-auction/Cargo.toml | 2 +- .../andromeda-auction/src/contract.rs | 21 ++- .../andromeda-auction/src/testing/tests.rs | 1 + .../andromeda-crowdfund/Cargo.toml | 2 +- .../src/testing/tests.rs | 5 +- contracts/os/andromeda-adodb/README.md | 3 - contracts/os/andromeda-vfs/Cargo.toml | 2 +- git-conventional-commits.yaml | 1 - localrelayer | 1 - packages/andromeda-app/src/app.rs | 13 ++ packages/andromeda-data-storage/Cargo.toml | 3 +- packages/std/src/ado_contract/execute.rs | 6 +- 23 files changed, 245 insertions(+), 135 deletions(-) create mode 100644 asset/Andromeda-IBC.png create mode 100644 contracts/app/andromeda-app-contract/README.md delete mode 100644 contracts/os/andromeda-adodb/README.md delete mode 160000 localrelayer diff --git a/Cargo.lock b/Cargo.lock index 907f8b263..36294374e 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -63,7 +63,7 @@ dependencies = [ [[package]] name = "andromeda-app-contract" -version = "1.0.0" +version = "1.0.1" dependencies = [ "andromeda-app", "andromeda-std", @@ -602,15 +602,15 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.82" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" +checksum = "b3d1d046238990b9cf5bcde22a3fb3584ee5cf65fb2765f454ed428c7a0063da" [[package]] name = "autocfg" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "base16ct" @@ -702,9 +702,9 @@ checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" [[package]] name = "cosmwasm-crypto" -version = "1.5.3" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9934c79e58d9676edfd592557dee765d2a6ef54c09d5aa2edb06156b00148966" +checksum = "dd50718a2b6830ce9eb5d465de5a018a12e71729d66b70807ce97e6dd14f931d" dependencies = [ "digest 0.10.7", "ecdsa", @@ -716,18 +716,18 @@ dependencies = [ [[package]] name = "cosmwasm-derive" -version = "1.5.3" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc5e72e330bd3bdab11c52b5ecbdeb6a8697a004c57964caeb5d876f0b088b3c" +checksum = "242e98e7a231c122e08f300d9db3262d1007b51758a8732cd6210b3e9faa4f3a" dependencies = [ "syn 1.0.109", ] [[package]] name = "cosmwasm-schema" -version = "1.5.3" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3e3a2136e2a60e8b6582f5dffca5d1a683ed77bf38537d330bc1dfccd69010" +checksum = "7879036156092ad1c22fe0d7316efc5a5eceec2bc3906462a2560215f2a2f929" dependencies = [ "cosmwasm-schema-derive", "schemars", @@ -738,9 +738,9 @@ dependencies = [ [[package]] name = "cosmwasm-schema-derive" -version = "1.5.3" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5d803bea6bd9ed61bd1ee0b4a2eb09ee20dbb539cc6e0b8795614d20952ebb1" +checksum = "0bb57855fbfc83327f8445ae0d413b1a05ac0d68c396ab4d122b2abd7bb82cb6" dependencies = [ "proc-macro2", "quote", @@ -749,9 +749,9 @@ dependencies = [ [[package]] name = "cosmwasm-std" -version = "1.5.3" +version = "1.5.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ef8666e572a3a2519010dde88c04d16e9339ae751b56b2bb35081fe3f7d6be74" +checksum = "78c1556156fdf892a55cced6115968b961eaaadd6f724a2c2cb7d1e168e32dd3" dependencies = [ "base64", "bech32 0.9.1", @@ -850,9 +850,9 @@ dependencies = [ [[package]] name = "cw-multi-test" -version = "1.0.0" +version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f8c6c2f2ee4b29e03fd709f4278a70a11c816690f2c992a9c980303ebda574f8" +checksum = "91fc33b1d65c102d72f46548c64dca423c337e528d6747d0c595316aa65f887b" dependencies = [ "anyhow", "bech32 0.11.0", @@ -860,8 +860,8 @@ dependencies = [ "cw-storage-plus 1.2.0", "cw-utils 1.0.3", "derivative", - "itertools 0.12.1", - "prost 0.12.4", + "itertools 0.13.0", + "prost 0.12.6", "schemars", "serde", "sha2 0.10.8", @@ -1145,9 +1145,9 @@ dependencies = [ [[package]] name = "either" -version = "1.11.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "elliptic-curve" @@ -1251,7 +1251,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -1303,9 +1303,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -1377,6 +1377,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.11" @@ -1399,9 +1408,9 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" [[package]] name = "lexers" @@ -1411,9 +1420,9 @@ checksum = "82de9bb5d9e8ff5e13532a45583ea972e220b8a6efef755daad1f285333a8afa" [[package]] name = "libc" -version = "0.2.153" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libm" @@ -1423,9 +1432,9 @@ checksum = "4ec2a862134d2a7d32d7983ddcdd1c4923530833c9f2ea1a44fc5fa473989058" [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "num" @@ -1449,9 +1458,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -1460,9 +1469,9 @@ dependencies = [ [[package]] name = "num-traits" -version = "0.2.18" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da0df0e5185db44f69b44f26786fe401b6c293d1907744beaa7fa62b2e5a517a" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] @@ -1541,9 +1550,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.81" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] @@ -1560,12 +1569,12 @@ dependencies = [ [[package]] name = "prost" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0f5d036824e4761737860779c906171497f6d55681139d8312388f8fe398922" +checksum = "deb1435c188b76130da55f17a466d252ff7b1418b2ad3e037d127b94e3411f29" dependencies = [ "bytes", - "prost-derive 0.12.4", + "prost-derive 0.12.6", ] [[package]] @@ -1583,15 +1592,15 @@ dependencies = [ [[package]] name = "prost-derive" -version = "0.12.4" +version = "0.12.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19de2de2a00075bf566bee3bd4db014b11587e84184d3f7a791bc17f1a8e9e48" +checksum = "81bddcdb20abf9501610992b6759a4c888aef7d1a7247ef75e2404275ac24af1" dependencies = [ "anyhow", "itertools 0.12.1", "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -1629,9 +1638,9 @@ dependencies = [ [[package]] name = "regex" -version = "1.10.4" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", @@ -1641,9 +1650,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", @@ -1652,9 +1661,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "relative-path" @@ -1697,7 +1706,7 @@ dependencies = [ "regex", "relative-path", "rustc_version", - "syn 2.0.60", + "syn 2.0.68", "unicode-ident", ] @@ -1712,21 +1721,21 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.15" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "schemars" -version = "0.8.16" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45a28f4c49489add4ce10783f7911893516f15afe45d015608d41faca6bc4d29" +checksum = "09c024468a378b7e36765cd36702b7a90cc3cba11654f6685c8f233408e89e92" dependencies = [ "dyn-clone", "schemars_derive", @@ -1736,14 +1745,14 @@ dependencies = [ [[package]] name = "schemars_derive" -version = "0.8.16" +version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c767fd6fa65d9ccf9cf026122c1b555f2ef9a4f0cea69da4d7dbc3e258d30967" +checksum = "b1eee588578aff73f856ab961cd2f79e36bc45d7ded33a7562adba4667aecc0e" dependencies = [ "proc-macro2", "quote", "serde_derive_internals", - "syn 1.0.109", + "syn 2.0.68", ] [[package]] @@ -1762,15 +1771,15 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.198" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] @@ -1804,31 +1813,31 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] name = "serde_derive_internals" -version = "0.26.0" +version = "0.29.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" +checksum = "18d26a20a969b9e3fdf2fc2d9f21eda6c40e2de84c9408bb5d3b05d499aae711" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.68", ] [[package]] name = "serde_json" -version = "1.0.116" +version = "1.0.118" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" +checksum = "d947f6b3163d8857ea16c4fa0dd4840d52f3041039a85decd46867eb1abef2e4" dependencies = [ "itoa", "ryu", @@ -1929,9 +1938,9 @@ dependencies = [ [[package]] name = "subtle" -version = "2.5.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" @@ -1946,9 +1955,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.60" +version = "2.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" +checksum = "901fa70d88b9d6c98022e23b4136f9f3e54e4662c3bc1bd1d84a42a9a0f0c1e9" dependencies = [ "proc-macro2", "quote", @@ -2000,22 +2009,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.59" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" +checksum = "c546c80d6be4bc6a00c0f01730c08df82eaa7a7a61f11d656526506112cc1709" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.59" +version = "1.0.61" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" +checksum = "46c3384250002a6d5af4d114f2845d37b57521033f30d5c3f46c4d70e1197533" dependencies = [ "proc-macro2", "quote", - "syn 2.0.60", + "syn 2.0.68", ] [[package]] @@ -2083,6 +2092,6 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" diff --git a/README.md b/README.md index bca9cd647..f58837b81 100644 --- a/README.md +++ b/README.md @@ -3,60 +3,122 @@

+ AndromedaOS is a revolutionary software layer that provides a massively + abstracted environment and user experience for the next generation of + blockchain innovators to create, develop and get paid. + +# Introduction to AndromedaOS + +### Mission + +**Andromeda** **Protocol** is a rapid development framework and a next-generation user interface that brings an Easier, Better, and Faster capability to Web 3.0, and the blockchain industry. + + +#### What is a blockchain operating system? + +In short, a blockchain operating system provides an environment filled with ready to use tooling, common interfaces for applications and features familiar to modern computer users. As Andromeda is the first true operating system designed to run on distributed computing frameworks, the details are quite technical. + +AndromedaOS, or _aOS_ for short, is comprised of several interoperating systems that work together to bring clarity and ease of use to the user. It's important to understand the basic concepts and architecture of the system to develop. + +A quick description of each of the components that make up the aOS: + +* ​[Andromeda Digital Objects](https://docs.andromedaprotocol.io/andromeda/andromeda-digital-objects/introduction-to-ados) - the building blocks of the system +* [​Andromeda Apps](https://docs.andromedaprotocol.io/andromeda/andromeda-apps/introduction-to-apps) - advanced functionality built with ADOs +* ​[aOS Kernel](https://docs.andromedaprotocol.io/andromeda/platform-and-framework/andromeda-messaging-protocol/kernel) - the system for enforcing and coordinating the different systems +* ​[aOS File System](https://docs.andromedaprotocol.io/andromeda/platform-and-framework/andromeda-messaging-protocol/virtual-file-system) - common namespace for referencing ADOs, services, network, etc +* ​[aOS Economics](https://docs.andromedaprotocol.io/andromeda/platform-and-framework/andromeda-messaging-protocol/economics-engine) - developer and creator incentives + +It's important to note that each of these systems exist 100% on-chain. All logic, interactions, objects, economics, etc. are deployed on-chain. + +### Powered by the Cosmos Ecosystem + +The power and performance of the Rust/CosmWasm combo is what allowed this breakthrough in interoperability and complexity. + +#### Infinite Reach Through IBC + +Just like an operating system that can be seamlessly installed on any device, the AndromedaOS transcends limitations tied to the Andromeda chain. It is designed for universal compatibility and can be effortlessly deployed on any chain within the expansive Cosmos ecosystem. + +The operating system can be employed for local development on the chain, yet its true potential shines through Inter-Blockchain Communication (IBC). This capability allows the creation of Apps that extend seamlessly across multiple interconnected chains. + +Here is a visual representation of how this system is connected. + +

 

+

+ +

+ +As we can see, each of the Cosmos chains has AndromedaOS deployed . Since AndromedaOS can communicate using IBC, then users can build Applications that span accross many chains taking advantage of all the benefits that come along. + +For example, a user can build an NFT collection on Stargaze selling the NFTs using one of our ADOs and then using a splitter to send part of the funds to Terra to leverage some protocol and another part to Injective to leverage some functionality there. The user's imagination is the only limit to what can be built using the aOS. + +**Note**: IBC functionality is being slowly introduced into the system. Not all features mentioned above are currently available. + +### What is the benefit of using aOS + +* **For Projects:** + +Before **Andromeda**, projects would need to hire a full development teams in order to build their projects and custom smart contracts. Andromeda eliminates this need by providing a very large amount of custom smart contracts that upcoming projects can pick and chose from to achieve their desired utility. These projects can then use our **No-Code-Builder** to build their projects in a matter of minutes on any of the chains that Andromeda is deployed on. + +* **For Developers:** + +Developers can use our **Andromeda Logic Library** (ALL) which contains all our contracts to build from. Similar to how [**cw-plus**](https://github.com/CosmWasm/cw-plus) contracts are used as a base for production quality builds, the ALL will act as a base for all developers to create their own ADOs that use the superior interoperable system. + +As it stands, the ALL contains around 25 ADOs which is the tip of the iceberg. More and more ADOs are being added by the Andromeda team, and as we continue building, the ALL will eventually reach a state with thousands of ADOs where every use case imagined can be built using it. + +Furthermore, developers are incentivized for their contributions and the ADOs they create. This incentive system operates through our[ economic engine](https://docs.andromedaprotocol.io/andromeda/platform-and-framework/andromeda-messaging-protocol/economics-engine), enabling developers to set custom fees on their ADOs when it is published. Users utilizing these ADOs pay these fees, which are then returned to the developer responsible for their creation. + +* **For Chains:** + + AndromedaOS provides a whole suite of tooling that can be quickly installed on any chain in the Cosmos ecosystem. Installing the aOS would instantly give a chain and its users access to the following: + +1. A large number of production ready ADOs to be used. +2. The best no-code-builder in Cosmos and perhaps the entire blockchain industry. +3. IBC capable applications. +4. An incredible all in one CLI that is easy to use and manage. +5. Exposure to the chain, as users on any chain that implements the aOS will be able to to see where aOS is also deployed and might consider building applications on said chain. + +# Andromeda Core Repo + A monorepository containing all the contracts and packages related to Andromeda Protocol. Full documentation for all the contracts can be found [here](https://docs.andromedaprotocol.io/andromeda/platform-and-framework/introduction). ## ADO Categories -The contracts are classified based on their functionality. Currently we have 8 different contract categories. +The contracts are classified based on their functionality. Currently we have 7 different contract categories. | Category| Description | | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------- | -| [app](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/app)| Contracts used for building Andromeda apps. | -| [data-storage](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/data-storage/andromeda-primitive) | Contracts used to store any type of data (uint, string, bool ect...).| +| [app](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/app)| Contracts used for building Andromeda apps. | | [ecosystem](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/ecosystem) | Contracts that are allow interaction with different ecosystem protocols.| | [finance](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/finance) | Contracts used by fungible tokens to perform defi operations.| | [fungible tokens](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/fungible-tokens) | Contracts that integrate with fungible tokens (CW-20 tokens).| | [non-fungible-tokens](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/non-fungible-tokens) | Contacts that integrate with non-funible toknes (NFTs). Includes a standard CW721 contract with some custom features.| -| [modules](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/modules) |Andromeda modules that are attached to other ADOs to extend functionality.| - | [defunct](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/defunct) |Andromeda contracts that are no longer supported.| +| [os](https://github.com/andromedaprotocol/andromeda-core/tree/1.0.rc-1/contracts/os) | Contacts that make up the aOS architecture | - -## ADOs +## Audited ADOs +The list of ADOs that have been audited and are available on our web-application. | Contract | Category | Description | Documentation | | ---------------------------|------------------------|-------------------------------------------|----------------------------------------------------- | -| [andromeda-app-contract](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/app/andromeda-app-contract)| app | Contract used to create Andromeda Apps. | [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/andromeda-apps/app)| -| [andromeda-factory](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/app/andromeda-factory)| app |Contract used to save the code Ids of all Andromeda ADOs. | [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/andromeda-apps/andromeda-factory)| -| [andromeda-primitive](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/data-storage/andromeda-primitive) | data-storage | Contract that stores any type of data that can be referenced by other ADOs. |[Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/data-storage/primitive) | -| [andromeda-vault](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/ecosystem/andromeda-vault)|ecosystem| Contract that can receive and store funds. Acts as a central bank for projects. | [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/ecosystem/vault) | +| [andromeda-app-contract](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/app/andromeda-app-contract)| app | Contract used to create Andromeda Apps. | [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/andromeda-apps/app)| | [andromeda-rate-limiting-withdrawals](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/finance/andromeda-rate-limiting-withdrawals) | finance | Contract that puts restrictions on the withdrawal of funds by users. | [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/finance/rate-limiting-withdrawals)| | [andromeda-splitter](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/finance/andromeda-splitter) | finance| Contract used to split any sent funds amongst defined addresses. | [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/finance/andromeda-splitter)| -| [andromeda-timelock](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/finance/andromeda-timelock) | finance| Contract used to store funds until a condition has been satisfied before being released, similar to Escrow.|[Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/finance/timelock)| -| [andromeda-vesting](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/finance/andromeda-vesting) |finance | Contract used to custom vest tokens for a single recipient.| [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/finance/vesting-ado)| -| [andromeda-weighted-distribution-splitter](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/finance/andromeda-weighted-distribution-splitter) | finance | Contract used to split any sent funds amongst defined addresses. Similar to the splitter but uses weights instead of percentages.| [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/finance/weighted-splitter)| -| [andromeda-cw20](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/app/andromeda-factory) | fungible tokens |Contract to create standard cw-20 tokens. | [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/fungible-tokens/cw20-token) -| [andromeda-cw20-staking](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/fungible-tokens/andromeda-cw20-staking) | fungible tokens | Contract that allows the staking of cw-20 tokens for rewards. | [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/fungible-tokens/cw20-staking)| +| [andromeda-timelock](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/finance/andromeda-timelock) | finance| Contract used to store funds until a condition has been satisfied before being released, similar to Escrow.|[Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/finance/timelock)| +| [andromeda-cw20](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/fungible-tokens/andromeda-cw20) | fungible tokens |Contract to create standard CW20 tokens. | [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/fungible-tokens/cw20-token) +| [andromeda-cw20-staking](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/fungible-tokens/andromeda-cw20-staking) | fungible tokens | Contract that allows the staking of CW20 tokens for rewards. | [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/fungible-tokens/cw20-staking)| +| [andromeda-cw20-exchange](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/fungible-tokens/andromeda-cw20-exchange) | fungible tokens | Contract that allows the exchanging native tokens for a specified CW20 | [Gitbook](https://docs.andromedaprotocol.io/andromeda/andromeda-digital-objects/cw20-exchange)| | [andromeda-lockdrop](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/fungible-tokens/andromeda-lockdrop) | fungible tokens| Contract that allows users to deposit a netive token in exchange for the project's cw-20 token |[Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/fungible-tokens/lockdrop)| | [andromeda-merkle-airdrop](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/fungible-tokens/andromeda-merkle-airdrop) | fungible tokens| Contract used to perform a merkle airdrop on cw20-tokens| [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/fungible-tokens/merkle-airdrop)| | [andromeda-auction](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/non-fungible-tokens/andromeda-auction)|non-fungible-tokens| Contract that can receive an NFT and run an auction on it.| [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/non-fungible-tokens/auction)| +| [andromeda-marketplace](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/non-fungible-tokens/andromeda-marketplace)|non-fungible-tokens| Contract that can receive an NFT and run an a sale on it.| [Gitbook](https://docs.andromedaprotocol.io/andromeda/andromeda-digital-objects/marketplace)| | [andromeda-crowdfund](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/non-fungible-tokens/andromeda-crowdfund)|non-fungible-tokens| Contracts used to perform a crowdfund by selling NFTs.|[Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/non-fungible-tokens/crowdfund)| -| [andromeda-cw721](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/non-fungible-tokens/andromeda-cw721)| non-fungible-tokens| Contract used to create cw-721 standard NFTs. Has a custom message that allows selling the NFTs.| [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/non-fungible-tokens/andromeda-digital-object)| -| [andromeda-cw721-staking](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/non-fungible-tokens/andromeda-cw721-staking)|non-fungible-tokens| Contract that allows custom staking of NFTs.|[Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/non-fungible-tokens/cw721-staking)| -| [andromeda-gumball](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/non-fungible-tokens/andromeda-gumball)|non-fungible-tokens| Contract that allows users to pay a price to get a random NFT.| [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/non-fungible-tokens/gumball)| -| [andromeda-nft-timelock](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/non-fungible-tokens/andromeda-nft-timelock)|non-fungible-tokens| Contract that locks an NFT for a certain period of time.| [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/non-fungible-tokens/nft-timelock)| -| [andromeda-wrapped-cw721](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/non-fungible-tokens/andromeda-wrapped-cw721)| non-fungible-tokens| Contract that wraps an NFT and mints an Andromeda NFT that can leverage our custom messages and modules instead. The token can be unwrapped.| [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/non-fungible-tokens/wrapped-cw721)| - -## Modules +| [andromeda-cw721](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/non-fungible-tokens/andromeda-cw721)| non-fungible-tokens| Contract used to create CW721 standard NFTs. Has a custom message that allows selling the NFTs.| [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/non-fungible-tokens/andromeda-digital-object)| +| [andromeda-adodb](https://github.com/andromedaprotocol/andromeda-core/tree/1.0.rc-1/contracts/os/andromeda-adodb)| os| The ADO database responsible for publishing new ADOs into the aOS| [Gitbook](https://docs.andromedaprotocol.io/andromeda/platform-and-framework/andromeda-messaging-protocol/andromeda-factory)| +| [andromeda-economics](https://github.com/andromedaprotocol/andromeda-core/tree/1.0.rc-1/contracts/os/andromeda-economics)| os | The contract responsible for handling ADO fees| [Gitbook](https://docs.andromedaprotocol.io/andromeda/platform-and-framework/andromeda-messaging-protocol/economics-engine)| +| [andromeda-kernel](https://github.com/andromedaprotocol/andromeda-core/tree/1.0.rc-1/contracts/os/andromeda-kernel)| os | The contract responsible for handling communication between ADOs| [Gitbook](https://docs.andromedaprotocol.io/andromeda/platform-and-framework/andromeda-messaging-protocol/kernel)| +| [andromeda-vfs](https://github.com/andromedaprotocol/andromeda-core/tree/1.0.rc-1/contracts/os/andromeda-vfs)| os| The contract responsible for managing the usernames and paths of ADOs and users in the aOs | [Gitbook](https://docs.andromedaprotocol.io/andromeda/platform-and-framework/andromeda-messaging-protocol/virtual-file-system)| -Modules are smart contracts that can be added to other ADOs on instantiation to extend their functionality. The communication between ADOs and our modules is achieved using our custom [Hooks](https://docs.andromedaprotocol.io/andromeda/andromeda-hooks/hooks). We currently have 4 modules: - -|Module| Description| Documentation| -|-------------------------------|---------------------------|-----------------------------| -| [address-list](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/modules/andromeda-address-list)| A module used to whitelist/blacklist a list of addresses to interact with the ADO.|[Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/modules/address-list)| -| [rates](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/modules/andromeda-rates)| A module used to add rates (taxes/royalties) on fund transfers| [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/modules/rates)| -| [cw721-bids](https://github.com/andromedaprotocol/andromeda-core/tree/development/contracts/non-fungible-tokens/andromeda-cw721-bids)|Module that can be attached to the cw721 ADO as another way to buy and sell NFTs.|[Gitbook](https://docs.andromedaprotocol.io/andromeda/andromeda-digital-objects/cw721-bids)| -| [receipts](https://docs.andromedaprotocol.io/andromeda/smart-contracts/modules/receipt-contract)| A module that can be attached to ADOs that saves the events of messages.| [Gitbook](https://docs.andromedaprotocol.io/andromeda/smart-contracts/modules/receipt-contract)| +**Note**: Other ADOs can be found in our repo, but they have not gone through the auditing process yet. ## Packages @@ -70,6 +132,14 @@ The packages also includes the [ado_base](https://github.com/andromedaprotocol/a ## Development +### Andromeda Template and Crate + +A starting template for ADO development can be found [here](https://github.com/andromedaprotocol/andr-cw-template). +The andromeda-std crate can be found [here](https://crates.io/crates/andromeda-std). + +### Integration Tests +Check out our cw-multi-test based testing [library](https://github.com/andromedaprotocol/andromeda-core/tree/1.0.rc-1/packages/andromeda-testing) to setup custom ADO integration tests. + ### Testing All tests can be run using: @@ -136,6 +206,9 @@ cargo clippy --all --all-targets -- -D warnings Andromeda is deployed on many of the Cosmos chains. Usually this will require you to set up an environment for each chain. Luckily, Andromeda has built the Andromeda CLI, an all in one tool to build, interact, and manage ADOs and wallets for any of the chains. The CLI documentation can be found [here](https://docs.andromedaprotocol.io/andromeda/andromeda-cli/introduction). +### Andromeda JS +[Andromeda.js](https://github.com/andromedaprotocol/andromeda.js) is a JavaScript SDK for writing applications that interact with ADOs on any of the blockchains that Andromeda is deployed on. More on the AndromedaJS can be found [here](https://docs.andromedaprotocol.io/andromeda.js/). + ## Licensing [Terms and Conditions](https://github.com/andromedaprotocol/andromeda-core/blob/development/LICENSE/LICENSE.md) diff --git a/asset/Andromeda-IBC.png b/asset/Andromeda-IBC.png new file mode 100644 index 0000000000000000000000000000000000000000..35b1e971bc30f1bf5c1105214ffbe288c0e6eb43 GIT binary patch literal 221962 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

E5!l)sC7FE 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 literal 0 HcmV?d00001 diff --git a/contracts/app/andromeda-app-contract/Cargo.toml b/contracts/app/andromeda-app-contract/Cargo.toml index aa3d8b47b..8c3ce2f5f 100644 --- a/contracts/app/andromeda-app-contract/Cargo.toml +++ b/contracts/app/andromeda-app-contract/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "andromeda-app-contract" -version = "1.0.0" +version = "1.0.1" edition = "2021" rust-version = "1.75.0" diff --git a/contracts/app/andromeda-app-contract/README.md b/contracts/app/andromeda-app-contract/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/contracts/data-storage/andromeda-primitive/Cargo.toml b/contracts/data-storage/andromeda-primitive/Cargo.toml index 11e0a97d6..d880df244 100644 --- a/contracts/data-storage/andromeda-primitive/Cargo.toml +++ b/contracts/data-storage/andromeda-primitive/Cargo.toml @@ -40,4 +40,4 @@ andromeda-data-storage = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] cw-multi-test = { workspace = true, optional = true } -andromeda-testing = { workspace = true, optional = true } \ No newline at end of file +andromeda-testing = { workspace = true, optional = true } diff --git a/contracts/finance/andromeda-rate-limiting-withdrawals/Cargo.toml b/contracts/finance/andromeda-rate-limiting-withdrawals/Cargo.toml index c96d8afc2..ac68f1064 100644 --- a/contracts/finance/andromeda-rate-limiting-withdrawals/Cargo.toml +++ b/contracts/finance/andromeda-rate-limiting-withdrawals/Cargo.toml @@ -23,7 +23,7 @@ cw-utils = { workspace = true } cw20 = { workspace = true } -andromeda-std = { workspace = true} +andromeda-std = { workspace = true } andromeda-finance = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] diff --git a/contracts/fungible-tokens/andromeda-cw20-staking/Cargo.toml b/contracts/fungible-tokens/andromeda-cw20-staking/Cargo.toml index e59f43612..e6b700652 100644 --- a/contracts/fungible-tokens/andromeda-cw20-staking/Cargo.toml +++ b/contracts/fungible-tokens/andromeda-cw20-staking/Cargo.toml @@ -24,7 +24,7 @@ cw20 = { workspace = true } cw20-base = { workspace = true } cw-asset = { workspace = true } -andromeda-std = { workspace = true} +andromeda-std = { workspace = true } andromeda-fungible-tokens = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] diff --git a/contracts/fungible-tokens/andromeda-cw20-staking/src/contract.rs b/contracts/fungible-tokens/andromeda-cw20-staking/src/contract.rs index ebb22f4d3..8041ccd4b 100644 --- a/contracts/fungible-tokens/andromeda-cw20-staking/src/contract.rs +++ b/contracts/fungible-tokens/andromeda-cw20-staking/src/contract.rs @@ -13,7 +13,6 @@ use cosmwasm_std::{ ensure, from_json, Addr, Binary, CosmosMsg, Deps, DepsMut, Env, MessageInfo, Response, Storage, Uint128, }; - use cw20::Cw20ReceiveMsg; use cw_asset::{Asset, AssetInfo, AssetInfoUnchecked}; @@ -131,7 +130,6 @@ pub fn handle_execute(mut ctx: ExecuteContext, msg: ExecuteMsg) -> Result receive_cw20(ctx, msg), ExecuteMsg::AddRewardToken { reward_token } => execute_add_reward_token(ctx, reward_token), diff --git a/contracts/fungible-tokens/andromeda-cw20/Cargo.toml b/contracts/fungible-tokens/andromeda-cw20/Cargo.toml index 9021583c7..73ecab072 100644 --- a/contracts/fungible-tokens/andromeda-cw20/Cargo.toml +++ b/contracts/fungible-tokens/andromeda-cw20/Cargo.toml @@ -23,7 +23,7 @@ cw-utils = { workspace = true } cw20 = { workspace = true } cw20-base = { workspace = true } -andromeda-std = { workspace = true, features = ["rates"]} +andromeda-std = { workspace = true, features = ["rates"] } andromeda-fungible-tokens = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] diff --git a/contracts/fungible-tokens/andromeda-lockdrop/Cargo.toml b/contracts/fungible-tokens/andromeda-lockdrop/Cargo.toml index ac73c42cb..9ac461398 100644 --- a/contracts/fungible-tokens/andromeda-lockdrop/Cargo.toml +++ b/contracts/fungible-tokens/andromeda-lockdrop/Cargo.toml @@ -24,7 +24,7 @@ cw-asset = { workspace = true } cw20 = { workspace = true } -andromeda-std = { workspace = true} +andromeda-std = { workspace = true } andromeda-fungible-tokens = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] diff --git a/contracts/non-fungible-tokens/andromeda-auction/Cargo.toml b/contracts/non-fungible-tokens/andromeda-auction/Cargo.toml index c1338a5d7..bae0ad262 100644 --- a/contracts/non-fungible-tokens/andromeda-auction/Cargo.toml +++ b/contracts/non-fungible-tokens/andromeda-auction/Cargo.toml @@ -24,7 +24,7 @@ cw721 = { workspace = true } cw20 = { workspace = true } -andromeda-std = { workspace = true, features = ["rates"]} +andromeda-std = { workspace = true, features = ["rates"] } andromeda-non-fungible-tokens = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] diff --git a/contracts/non-fungible-tokens/andromeda-auction/src/contract.rs b/contracts/non-fungible-tokens/andromeda-auction/src/contract.rs index c00b5ebf0..3719d4fc1 100644 --- a/contracts/non-fungible-tokens/andromeda-auction/src/contract.rs +++ b/contracts/non-fungible-tokens/andromeda-auction/src/contract.rs @@ -15,7 +15,7 @@ use andromeda_std::{ common::{ actions::call_action, call_action::get_action_name, - denom::{Asset, SEND_CW20_ACTION}, + denom::{validate_denom, Asset, SEND_CW20_ACTION}, encode_binary, expiration::{expiration_from_milliseconds, get_and_validate_start_time, Expiry}, Funds, Milliseconds, OrderBy, @@ -359,6 +359,24 @@ fn execute_update_auction( nonpayable(&info)?; let (coin_denom, uses_cw20) = coin_denom.get_verified_asset(deps.branch(), env.clone())?; + if uses_cw20 { + let valid_cw20_auction = ADOContract::default() + .is_permissioned( + deps.branch(), + env.clone(), + SEND_CW20_ACTION, + coin_denom.clone(), + ) + .is_ok(); + ensure!( + valid_cw20_auction, + ContractError::InvalidFunds { + msg: "Non-permissioned CW20 asset sent".to_string() + } + ); + } else { + validate_denom(deps.as_ref(), coin_denom.clone())?; + } let mut token_auction_state = get_existing_token_auction_state(deps.storage, &token_id, &token_address)?; ensure!( @@ -369,6 +387,7 @@ fn execute_update_auction( !token_auction_state.start_time.is_expired(&env.block), ContractError::AuctionAlreadyStarted {} ); + ensure!( !end_time.get_time(&env.block).is_zero(), ContractError::InvalidExpiration {} diff --git a/contracts/non-fungible-tokens/andromeda-auction/src/testing/tests.rs b/contracts/non-fungible-tokens/andromeda-auction/src/testing/tests.rs index 2ab1b9532..dd8c5df1d 100644 --- a/contracts/non-fungible-tokens/andromeda-auction/src/testing/tests.rs +++ b/contracts/non-fungible-tokens/andromeda-auction/src/testing/tests.rs @@ -5,6 +5,7 @@ use crate::{ mock_dependencies_custom, MOCK_TOKEN_ADDR, MOCK_TOKEN_OWNER, MOCK_UNCLAIMED_TOKEN, }, }; + use andromeda_non_fungible_tokens::{ auction::{ AuctionInfo, AuctionStateResponse, Cw20HookMsg, Cw721HookMsg, ExecuteMsg, InstantiateMsg, diff --git a/contracts/non-fungible-tokens/andromeda-crowdfund/Cargo.toml b/contracts/non-fungible-tokens/andromeda-crowdfund/Cargo.toml index 3acaadb69..cb27694e5 100644 --- a/contracts/non-fungible-tokens/andromeda-crowdfund/Cargo.toml +++ b/contracts/non-fungible-tokens/andromeda-crowdfund/Cargo.toml @@ -23,7 +23,7 @@ cw-utils = { workspace = true } cw721 = { workspace = true } cw20 = { workspace = true } -andromeda-std = { workspace = true, features = ["rates"]} +andromeda-std = { workspace = true, features = ["rates"] } andromeda-non-fungible-tokens = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] diff --git a/contracts/non-fungible-tokens/andromeda-marketplace/src/testing/tests.rs b/contracts/non-fungible-tokens/andromeda-marketplace/src/testing/tests.rs index 9dc1902f5..a3884e7d1 100644 --- a/contracts/non-fungible-tokens/andromeda-marketplace/src/testing/tests.rs +++ b/contracts/non-fungible-tokens/andromeda-marketplace/src/testing/tests.rs @@ -473,7 +473,10 @@ fn test_execute_buy_works() { let mut deps = mock_dependencies_custom(&[]); let mut env = mock_env(); - let _res = init(deps.as_mut(), None); + let _res = init( + deps.as_mut(), + Some(AndrAddr::from_string(MOCK_CW20_CONTRACT)), + ); start_sale(deps.as_mut(), Asset::NativeToken("uusd".to_string())); assert_sale_created(deps.as_ref(), env.clone(), "uusd".to_string(), false); diff --git a/contracts/os/andromeda-adodb/README.md b/contracts/os/andromeda-adodb/README.md deleted file mode 100644 index a88378517..000000000 --- a/contracts/os/andromeda-adodb/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Andromeda Factory - -A repository containing the NFT contract for Andromeda Protocol on Terra. This contract's primary purpose is to initialise and register ADO collections. Registration is done by a mapping between the ADO collection's symbol and the contract address for the given ADO collection. Documentation can be found [here](https://app.gitbook.com/@andromedaprotocol/s/andromeda/contracts/andromeda-factory). diff --git a/contracts/os/andromeda-vfs/Cargo.toml b/contracts/os/andromeda-vfs/Cargo.toml index da230b638..b698da3b0 100644 --- a/contracts/os/andromeda-vfs/Cargo.toml +++ b/contracts/os/andromeda-vfs/Cargo.toml @@ -27,7 +27,7 @@ cosmwasm-schema = { workspace = true } cw-storage-plus = { workspace = true } serde = { version = "1.0.127", default-features = false, features = ["derive"] } -andromeda-std = { workspace = true} +andromeda-std = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] cw-multi-test = { workspace = true, optional = true } diff --git a/git-conventional-commits.yaml b/git-conventional-commits.yaml index 073aae3ed..79c0613c6 100644 --- a/git-conventional-commits.yaml +++ b/git-conventional-commits.yaml @@ -1,4 +1,3 @@ ---- convention: commitTypes: - feat diff --git a/localrelayer b/localrelayer deleted file mode 160000 index 43072c6e6..000000000 --- a/localrelayer +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 43072c6e61ea14991906cf67c5e33d4cbc4996c2 diff --git a/packages/andromeda-app/src/app.rs b/packages/andromeda-app/src/app.rs index 53ff063b8..9ee9372e3 100644 --- a/packages/andromeda-app/src/app.rs +++ b/packages/andromeda-app/src/app.rs @@ -142,6 +142,19 @@ impl AppComponent { let creator = api.addr_canonicalize(parent_addr.as_str())?; let new_addr = instantiate2_address(&checksum, &creator, &salt).unwrap(); + // Instantiate 2 impl uses default cannonical address of 32 bytes (SHA 256). But as mentioned here - + // https://github.com/cosmos/cosmos-sdk/blob/v0.45.8/docs/architecture/adr-028-public-key-addresses.md + // chains can use different length for cannonical address, eg, injective uses 20 (eth based). + // Instead of having fallback for each chain we can use parent address, which itself is a contract. + // Slice the default 32 bytes canonical address to size of parent cannonical address + + let cannonical_parent_addr = api.addr_canonicalize(parent_addr.as_str())?; + let new_addr = new_addr + .as_slice() + .split_at(cannonical_parent_addr.len()) + .0 + .into(); + Ok(Some(api.addr_humanize(&new_addr)?)) } diff --git a/packages/andromeda-data-storage/Cargo.toml b/packages/andromeda-data-storage/Cargo.toml index e9b748c74..0b19ac2f7 100644 --- a/packages/andromeda-data-storage/Cargo.toml +++ b/packages/andromeda-data-storage/Cargo.toml @@ -19,5 +19,4 @@ cosmwasm-schema = { workspace = true } serde = { version = "1.0.127", default-features = false, features = ["derive"] } cw-utils = { workspace = true } -andromeda-std = { workspace = true, features=[] } - +andromeda-std = { workspace = true, features = [] } diff --git a/packages/std/src/ado_contract/execute.rs b/packages/std/src/ado_contract/execute.rs index b8d44c174..5a56b0724 100644 --- a/packages/std/src/ado_contract/execute.rs +++ b/packages/std/src/ado_contract/execute.rs @@ -220,17 +220,17 @@ impl<'a> ADOContract<'a> { /// Handles receiving and verifies an AMPPkt from the Kernel before executing the appropriate messages. /// /// Calls the provided handler with the AMP packet attached within the context. - pub fn execute_amp_receive( + pub fn execute_amp_receive( &self, ctx: ExecuteContext, mut packet: AMPPkt, - handler: ExecuteContextFunction, + handler: ExecuteContextFunction, ) -> Result { packet.verify_origin(&ctx.info, &ctx.deps.as_ref())?; let ctx = ctx.with_ctx(packet.clone()); let msg_opt = packet.messages.pop(); if let Some(msg_opt) = msg_opt { - let msg: E = from_json(msg_opt.message)?; + let msg: M = from_json(msg_opt.message)?; let response = handler(ctx, msg)?; Ok(response) } else {