Skip to content

Commit

Permalink
fix: updated dip721 spec with namespace; set operator to None on tran…
Browse files Browse the repository at this point in the history
…sfer/burn
  • Loading branch information
veeso committed Apr 16, 2024
1 parent daf1c6b commit 99882fa
Show file tree
Hide file tree
Showing 14 changed files with 369 additions and 431 deletions.
4 changes: 2 additions & 2 deletions Cargo.lock

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

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ version = "0.1.0"
[workspace.dependencies]
async-trait = "0.1"
candid = "0.10"
dip721-rs = "0.1"
dip721-rs = "0.2"
getrandom = { version = "0.2", features = ["custom"] }
ic-cdk = "0.12"
ic-cdk-macros = "0.8"
Expand Down
87 changes: 56 additions & 31 deletions integration-tests/src/client/dip721.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,21 +21,31 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"metadata",
"dip721_metadata",
Encode!(&()).unwrap(),
)
.expect("query failed")
}

pub fn stats(&self) -> Stats {
self.env
.query(self.env.dip721_id, alice(), "stats", Encode!(&()).unwrap())
.query(
self.env.dip721_id,
alice(),
"dip721_stats",
Encode!(&()).unwrap(),
)
.expect("query failed")
}

pub fn logo(&self) -> Option<String> {
self.env
.query(self.env.dip721_id, alice(), "logo", Encode!(&()).unwrap())
.query(
self.env.dip721_id,
alice(),
"dip721_logo",
Encode!(&()).unwrap(),
)
.expect("query failed")
}

Expand All @@ -44,15 +54,20 @@ impl<'a> Dip721Client<'a> {
.update(
self.env.dip721_id,
caller,
"set_logo",
"dip721_set_logo",
Encode!(&logo).unwrap(),
)
.expect("update failed")
}

pub fn name(&self) -> Option<String> {
self.env
.query(self.env.dip721_id, alice(), "name", Encode!(&()).unwrap())
.query(
self.env.dip721_id,
alice(),
"dip721_name",
Encode!(&()).unwrap(),
)
.expect("query failed")
}

Expand All @@ -61,15 +76,20 @@ impl<'a> Dip721Client<'a> {
.update(
self.env.dip721_id,
caller,
"set_name",
"dip721_set_name",
Encode!(&name).unwrap(),
)
.expect("update failed")
}

pub fn symbol(&self) -> Option<String> {
self.env
.query(self.env.dip721_id, alice(), "symbol", Encode!(&()).unwrap())
.query(
self.env.dip721_id,
alice(),
"dip721_symbol",
Encode!(&()).unwrap(),
)
.expect("query failed")
}

Expand All @@ -78,7 +98,7 @@ impl<'a> Dip721Client<'a> {
.update(
self.env.dip721_id,
caller,
"set_symbol",
"dip721_set_symbol",
Encode!(&symbol).unwrap(),
)
.expect("update failed")
Expand All @@ -89,7 +109,7 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"custodians",
"dip721_custodians",
Encode!(&()).unwrap(),
)
.expect("query failed")
Expand All @@ -100,15 +120,20 @@ impl<'a> Dip721Client<'a> {
.update(
self.env.dip721_id,
caller,
"set_custodians",
"dip721_set_custodians",
Encode!(&(custodians,)).unwrap(),
)
.expect("update failed")
}

pub fn cycles(&self) -> Nat {
self.env
.query(self.env.dip721_id, alice(), "cycles", Encode!(&()).unwrap())
.query(
self.env.dip721_id,
alice(),
"dip721_cycles",
Encode!(&()).unwrap(),
)
.expect("query failed")
}

Expand All @@ -117,7 +142,7 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"total_unique_holders",
"dip721_total_unique_holders",
Encode!(&()).unwrap(),
)
.expect("query failed")
Expand All @@ -131,7 +156,7 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"token_metadata",
"dip721_token_metadata",
Encode!(&token_identifier).unwrap(),
)
.expect("query failed")
Expand All @@ -142,7 +167,7 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"balance_of",
"dip721_balance_of",
Encode!(&owner).unwrap(),
)
.expect("query failed")
Expand All @@ -156,7 +181,7 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"owner_of",
"dip721_owner_of",
Encode!(&token_identifier).unwrap(),
)
.expect("query failed")
Expand All @@ -170,7 +195,7 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"owner_token_identifiers",
"dip721_owner_token_identifiers",
Encode!(&owner).unwrap(),
)
.expect("query failed")
Expand All @@ -181,7 +206,7 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"owner_token_metadata",
"dip721_owner_token_metadata",
Encode!(&owner).unwrap(),
)
.expect("query failed")
Expand All @@ -192,7 +217,7 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"operator_of",
"dip721_operator_of",
Encode!(&owner).unwrap(),
)
.expect("query failed")
Expand All @@ -206,7 +231,7 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"operator_token_identifiers",
"dip721_operator_token_identifiers",
Encode!(&operator).unwrap(),
)
.expect("query failed")
Expand All @@ -220,7 +245,7 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"operator_token_metadata",
"dip721_operator_token_metadata",
Encode!(&operator).unwrap(),
)
.expect("query failed")
Expand All @@ -231,7 +256,7 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"supported_interfaces",
"dip721_supported_interfaces",
Encode!(&()).unwrap(),
)
.expect("query failed")
Expand All @@ -242,7 +267,7 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"total_supply",
"dip721_total_supply",
Encode!(&()).unwrap(),
)
.expect("query failed")
Expand All @@ -258,7 +283,7 @@ impl<'a> Dip721Client<'a> {
.update(
self.env.dip721_id,
caller,
"approve",
"dip721_approve",
Encode!(&operator, &token_identifier).unwrap(),
)
.expect("update failed")
Expand All @@ -274,7 +299,7 @@ impl<'a> Dip721Client<'a> {
.update(
self.env.dip721_id,
caller,
"set_approval_for_all",
"dip721_set_approval_for_all",
Encode!(&(operator, approved)).unwrap(),
)
.expect("query failed")
Expand All @@ -289,7 +314,7 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"is_approved_for_all",
"dip721_is_approved_for_all",
Encode!(&(owner, operator)).unwrap(),
)
.expect("query failed")
Expand All @@ -305,7 +330,7 @@ impl<'a> Dip721Client<'a> {
.update(
self.env.dip721_id,
caller,
"transfer",
"dip721_transfer",
Encode!(&to, &token_identifier).unwrap(),
)
.expect("query failed")
Expand All @@ -322,7 +347,7 @@ impl<'a> Dip721Client<'a> {
.update(
self.env.dip721_id,
caller,
"transfer_from",
"dip721_transfer_from",
Encode!(&owner, &to, &token_identifier).unwrap(),
)
.expect("query failed")
Expand All @@ -339,7 +364,7 @@ impl<'a> Dip721Client<'a> {
.update(
self.env.dip721_id,
caller,
"mint",
"dip721_mint",
Encode!(&to, &token_identifier, &properties).unwrap(),
)
.expect("query failed")
Expand All @@ -354,7 +379,7 @@ impl<'a> Dip721Client<'a> {
.update(
self.env.dip721_id,
caller,
"burn",
"dip721_burn",
Encode!(&token_identifier).unwrap(),
)
.expect("query failed")
Expand All @@ -365,7 +390,7 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"transaction",
"dip721_transaction",
Encode!(&tx_id).unwrap(),
)
.expect("query failed")
Expand All @@ -376,7 +401,7 @@ impl<'a> Dip721Client<'a> {
.query(
self.env.dip721_id,
alice(),
"total_transactions",
"dip721_total_transactions",
Encode!(&()).unwrap(),
)
.expect("query failed")
Expand Down
4 changes: 2 additions & 2 deletions integration-tests/tests/inspect.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ fn test_should_inspect_is_custodian() {
.update::<()>(
env.dip721_id,
admin(),
"set_name",
"dip721_set_name",
Encode!(&"test").unwrap()
)
.is_ok());
Expand All @@ -20,7 +20,7 @@ fn test_should_inspect_is_custodian() {
.update::<()>(
env.dip721_id,
alice(),
"set_name",
"dip721_set_name",
Encode!(&"test").unwrap()
)
.is_err());
Expand Down
Loading

0 comments on commit 99882fa

Please sign in to comment.