Skip to content

Commit

Permalink
Merge pull request #76 from arkprotocol/incoming_proxy
Browse files Browse the repository at this point in the history
Incoming proxy
  • Loading branch information
taitruong authored Jan 3, 2024
2 parents 3daacae + 0b4fd68 commit f1dfefc
Show file tree
Hide file tree
Showing 58 changed files with 2,280 additions and 4,029 deletions.
378 changes: 250 additions & 128 deletions Cargo.lock

Large diffs are not rendered by default.

34 changes: 18 additions & 16 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,35 +7,37 @@ edition = "2021"

[workspace.dependencies]
# common libs
anyhow = "1.0"
anyhow = "^1.0"
bech32 = "^0.9"
cosmwasm-std = "1.2"
cosmwasm-schema = "1.2"
cosmwasm-storage = "1.2"
cw-ownable = "0.5.0"
cw-paginate-storage = { version = "2.2.0", git = "https://github.com/DA0-DA0/dao-contracts.git" }
cosmwasm-std = "^1.5"
cosmwasm-schema = "^1.5"
cosmwasm-storage = "^1.5"
cw-ownable = "^0.5"
cw-paginate-storage = { version = "^2.4", git = "https://github.com/DA0-DA0/dao-contracts.git" }
cw-storage-plus = "1.1"
cw2 = "1.1"
cw721 = "0.18"
cw721 = { git = "https://github.com/CosmWasm/cw-nfts", branch = "main"} # TODO switch to version 0.18.1/0.19.0, once released
cw721-016 = { version = "0.16.0", package = "cw721" }
cw721-base = "0.18"
cw721-base = { git = "https://github.com/CosmWasm/cw-nfts", branch = "main"} # TODO switch to version 0.18.1/0.19.0, once released
cw721-base-016 = { version = "0.16.0", package = "cw721-base" }
cw721-proxy-derive = { git = "https://github.com/arkprotocol/cw721-proxy.git", tag = "v0.0.7" }
cw721-rate-limited-proxy = { git = "https://github.com/arkprotocol/cw721-proxy.git", tag = "v0.0.7" }
cw-multi-test = { version = "0.18", features = ["cosmwasm_1_2"] }
cw-utils = "1.0"
cw-ics721-incoming-proxy = { git = "https://github.com/arkprotocol/cw-ics721-proxy.git", tag = "v0.1.0" }
cw-ics721-incoming-proxy-base = { git = "https://github.com/arkprotocol/cw-ics721-proxy.git", tag = "v0.1.0" }
cw-ics721-outgoing-proxy-rate-limit = { git = "https://github.com/arkprotocol/cw-ics721-proxy.git", tag = "v0.1.0" }
cw-multi-test = { version = "^0.20", features = ["cosmwasm_1_2"] }
cw-utils = "^1.0"
sha2 = "^0.10"
serde = "1.0"
thiserror = "1"
serde = "^1.0"
thiserror = "^1.0"
# Stargaze libs
sg-std = "^3.2"
sg-multi-test = "^3.1"
sg721 = "^3.1"
sg721-base = "^3.1"
sg721 = "^3.3"
sg721-base = "^3.3"
# packages and contracts
cw-cii = { path = "./packages/cw-cii" }
cw-pause-once = { path = "./packages/cw-pause-once" }
ics721 = { path = "./packages/ics721" }
ics721-types = { path = "./packages/ics721-types" }
zip-optional = { path = "./packages/zip-optional" }
ics721-base = { path = "./contracts/ics721-base"}
ics721-base-tester = { path = "./contracts/cw-ics721-base-tester"}
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Pause functionality is designed to allow for quick pauses by a trusted group, wi

After a pause, the ICS721 contract will remain paused until governance chooses to unpause it. During the unpause process governance may appoint a new subDAO or reappoint the existing one as pause manager. It is imagined that the admin of this contract will be a chain's community pool, and the pause manager will be a small, active subDAO. This process means that the subDAO may pause the contract in the event of a problem, but may not lock the contract, as in pausing the contract the subDAO burns its ability to do so again.

Filtering is enabled by an optional proxy that the ICS721 contract may be configured to use. If a proxy is configured, the ICS721 contract will only accept NFTs delivered by the proxy address. This proxy interface is very minimal and enables very flexible rate limiting and filtering. Currently, per-collection rate limiting is implemented. Users of this ICS721 contract are encouraged to implement their own filtering regimes and may add them to the [proxy repository](https://github.com/arkprotocol/cw721-proxy) so that others may use them.
Filtering is enabled by an optional proxy that the ICS721 contract may be configured to use. If a proxy is configured, the ICS721 contract will only accept NFTs delivered by the proxy address. This proxy interface is very minimal and enables very flexible rate limiting and filtering. Currently, per-collection rate limiting is implemented. Users of this ICS721 contract are encouraged to implement their own filtering regimes and may add them to the [proxy repository](https://github.com/arkprotocol/cw-ics721-proxy) so that others may use them.

## Failure handling errata

Expand Down
Loading

0 comments on commit f1dfefc

Please sign in to comment.