Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

feat(nft): enable eth with non fungible tokens #2049

Merged
merged 48 commits into from
Mar 1, 2024
Merged
Show file tree
Hide file tree
Changes from 34 commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
a2b3075
WIP
laruh Dec 31, 2023
750ab10
WIP enable_global_non_fungible_token func in Ops
laruh Jan 3, 2024
5e949c1
impl `global_nft_from_platform_coin`, use Json ref in `enable_platfor…
laruh Jan 7, 2024
9a90130
fix tests
laruh Jan 7, 2024
d865452
impl get_nft_activation_result and use url in global_nft_from_platfor…
laruh Jan 8, 2024
ca89aa6
impl re_enable_passive_platform_coin_with_nfts
laruh Jan 9, 2024
f8138d6
clone some fields from platform to global nft
laruh Jan 9, 2024
498c015
add `EthCoinType::Nft`
laruh Jan 9, 2024
c8a0246
fix lint
laruh Jan 9, 2024
87ab779
add NFT in CoinsContext, impl fn update_nft_global_in_coins_ctx
laruh Jan 11, 2024
87d5944
add construct_moralis_uri_for_nft
laruh Jan 17, 2024
be71278
more doc comms, move `ParseContractTypeError` to nft_errors.rs
laruh Jan 17, 2024
711651d
remove unnecessary drop_mutability
laruh Jan 19, 2024
52b353a
added `process_transfer_list`, `process_nft_list_for_activation` func…
laruh Jan 19, 2024
7df590f
doc coms for Chain methods, simplify matching in Chain
laruh Jan 19, 2024
a9b50de
revert **self
laruh Jan 19, 2024
ec2dfb3
doc comm for `non_fungible_tokens_infos` field
laruh Jan 20, 2024
7023761
use `nfts_infos` name
laruh Feb 6, 2024
9acf8cb
rename function to `enable_global_nft`
laruh Feb 6, 2024
f6ddd62
delete `enable_eth_with_non_fungible_tokens` RPC, move nft activation…
laruh Feb 6, 2024
39673cb
use enum types in `enable_token` for `EthCoin`
laruh Feb 7, 2024
d631564
use `Nft { platform }` for ticker
laruh Feb 14, 2024
24f954d
Merge remote-tracking branch 'origin/dev' into enable-eth-non-fungibl…
laruh Feb 14, 2024
2fb318f
fix merge conflicts
laruh Feb 14, 2024
84f944f
remove doc-comments for the functions arguments
laruh Feb 14, 2024
90d02c4
use optional `global_nft` param in `add_platform_with_tokens`
laruh Feb 15, 2024
0ac2dfd
use `load` to create the same `AtomicU64` for required_confirmations
laruh Feb 15, 2024
59170c6
return `EthTokenActivationError` in `global_nft_from_platform_coin`
laruh Feb 15, 2024
9517082
link Global NFT `abortable_system` to platform coin
laruh Feb 15, 2024
5177505
add NFT support in `coin_conf_with_protocol` function
laruh Feb 15, 2024
0334772
Dont register Nft in platform coin
laruh Feb 15, 2024
9009802
support NFT match type for the enable_token function
laruh Feb 16, 2024
b1a6b38
rename mod `erc20_token_activation` to `eth_tokens_activation`
laruh Feb 16, 2024
407a79f
remove unused `get_nft_activation_result` fn and `get_nfts_infos` fn
laruh Feb 16, 2024
9b96e5f
change match errors
laruh Feb 16, 2024
81af437
provide more info about global nft in doc com, match Transport err wi…
laruh Feb 18, 2024
8e6537a
use new idb cursor methods, add more err variants in nft wasm storage
laruh Feb 19, 2024
5379350
provide doc com and note for `update_nft_infos` fnc
laruh Feb 20, 2024
af5c356
Merge remote-tracking branch 'origin/dev' into enable-eth-non-fungibl…
laruh Feb 21, 2024
11284b9
more doc comms, simplify `ParseChainTypeError`
laruh Feb 22, 2024
c8dff90
move `nfts_map` creation from the beginning of `get_activation_result…
laruh Feb 22, 2024
429cbe2
use `untagged` for `EthTokenInitResult`, add match protocol_conf
laruh Feb 25, 2024
1fee1cf
use `untagged` for `EthTokenActivationParams` and change types order …
laruh Feb 25, 2024
6dd8f31
return Ok(None) in enable_global_nft, remove unused error, use "not s…
laruh Feb 27, 2024
7e98ae1
rollback name changing of erc20_token_activation module
laruh Feb 27, 2024
4d8fc17
Merge remote-tracking branch 'origin/dev' into enable-eth-non-fungibl…
laruh Feb 27, 2024
0769f03
fix merge conflicts
laruh Feb 27, 2024
8fc8d08
refactor NftActivationRequest struct, add NftProviderEnum, match Coin…
laruh Feb 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions mm2src/coins/coin_errors.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,8 @@ pub enum ValidatePaymentError {
WatcherRewardError(String),
/// Input payment timelock overflows the type used by specific coin.
TimelockOverflow(TryFromIntError),
#[display(fmt = "Nft Protocol is not supported")]
NftProtocolNotSupported,
}

impl From<rlp::DecoderError> for ValidatePaymentError {
Expand Down Expand Up @@ -77,6 +79,7 @@ impl From<Web3RpcError> for ValidatePaymentError {
Web3RpcError::Internal(internal) | Web3RpcError::Timeout(internal) => {
ValidatePaymentError::InternalError(internal)
},
Web3RpcError::NftProtocolNotSupported => ValidatePaymentError::NftProtocolNotSupported,
}
}
}
Expand Down
Loading
Loading