浏览代码

Add other files

master
jbell 1年前
父节点
当前提交
788f37bc07
共有 100 个文件被更改,包括 3462 次插入0 次删除
  1. +1
    -0
      .gitignore
  2. +8
    -0
      .idea/.gitignore
  3. +8
    -0
      .idea/modules.xml
  4. +12
    -0
      .idea/puffpastry.iml
  5. +6
    -0
      .idea/vcs.xml
  6. +1506
    -0
      Cargo.lock
  7. +1498
    -0
      contracts/puff_pastry/Cargo.lock
  8. +341
    -0
      contracts/puff_pastry/src/lib.rs
  9. +1
    -0
      contracts/puff_pastry/target/.rustc_info.json
  10. +3
    -0
      contracts/puff_pastry/target/CACHEDIR.TAG
  11. +0
    -0
      contracts/puff_pastry/target/debug/.cargo-lock
  12. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/addr2line-9634c97fe340cd67/invoked.timestamp
  13. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/addr2line-9634c97fe340cd67/lib-addr2line
  14. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/addr2line-9634c97fe340cd67/lib-addr2line.json
  15. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/adler2-212b60c325f29598/invoked.timestamp
  16. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/adler2-212b60c325f29598/lib-adler2
  17. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/adler2-212b60c325f29598/lib-adler2.json
  18. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/arbitrary-e3e53bce8c0e291d/invoked.timestamp
  19. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/arbitrary-e3e53bce8c0e291d/lib-arbitrary
  20. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/arbitrary-e3e53bce8c0e291d/lib-arbitrary.json
  21. 二进制
      contracts/puff_pastry/target/debug/.fingerprint/autocfg-13d83dc773314ba4/dep-lib-autocfg
  22. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/autocfg-13d83dc773314ba4/invoked.timestamp
  23. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/autocfg-13d83dc773314ba4/lib-autocfg
  24. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/autocfg-13d83dc773314ba4/lib-autocfg.json
  25. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/backtrace-1bcca8693cb34767/invoked.timestamp
  26. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/backtrace-1bcca8693cb34767/lib-backtrace
  27. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/backtrace-1bcca8693cb34767/lib-backtrace.json
  28. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/base16ct-8786bd4bed9b82be/invoked.timestamp
  29. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/base16ct-8786bd4bed9b82be/lib-base16ct
  30. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/base16ct-8786bd4bed9b82be/lib-base16ct.json
  31. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/base32-16eb3106fe34fd2a/invoked.timestamp
  32. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/base32-16eb3106fe34fd2a/lib-base32
  33. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/base32-16eb3106fe34fd2a/lib-base32.json
  34. 二进制
      contracts/puff_pastry/target/debug/.fingerprint/base32-ab0ac89e00044a42/dep-lib-base32
  35. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/base32-ab0ac89e00044a42/invoked.timestamp
  36. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/base32-ab0ac89e00044a42/lib-base32
  37. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/base32-ab0ac89e00044a42/lib-base32.json
  38. 二进制
      contracts/puff_pastry/target/debug/.fingerprint/base64-4606537903f55d6a/dep-lib-base64
  39. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/base64-4606537903f55d6a/invoked.timestamp
  40. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/base64-4606537903f55d6a/lib-base64
  41. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/base64-4606537903f55d6a/lib-base64.json
  42. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/base64-b4d559541f3af1cb/invoked.timestamp
  43. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/base64-b4d559541f3af1cb/lib-base64
  44. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/base64-b4d559541f3af1cb/lib-base64.json
  45. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/block-buffer-69b9fbec03f58a39/invoked.timestamp
  46. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/block-buffer-69b9fbec03f58a39/lib-block_buffer
  47. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/block-buffer-69b9fbec03f58a39/lib-block_buffer.json
  48. 二进制
      contracts/puff_pastry/target/debug/.fingerprint/block-buffer-856fe54f5cf5dda5/dep-lib-block_buffer
  49. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/block-buffer-856fe54f5cf5dda5/invoked.timestamp
  50. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/block-buffer-856fe54f5cf5dda5/lib-block_buffer
  51. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/block-buffer-856fe54f5cf5dda5/lib-block_buffer.json
  52. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/byteorder-40c8321b0f952630/invoked.timestamp
  53. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/byteorder-40c8321b0f952630/lib-byteorder
  54. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/byteorder-40c8321b0f952630/lib-byteorder.json
  55. 二进制
      contracts/puff_pastry/target/debug/.fingerprint/bytes-lit-bece66d14dba2ddc/dep-lib-bytes_lit
  56. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/bytes-lit-bece66d14dba2ddc/invoked.timestamp
  57. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/bytes-lit-bece66d14dba2ddc/lib-bytes_lit
  58. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/bytes-lit-bece66d14dba2ddc/lib-bytes_lit.json
  59. 二进制
      contracts/puff_pastry/target/debug/.fingerprint/cfg-if-2aae469d37c18d62/dep-lib-cfg_if
  60. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/cfg-if-2aae469d37c18d62/invoked.timestamp
  61. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/cfg-if-2aae469d37c18d62/lib-cfg_if
  62. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/cfg-if-2aae469d37c18d62/lib-cfg_if.json
  63. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/cfg-if-f2f6162ae1f63ffe/invoked.timestamp
  64. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/cfg-if-f2f6162ae1f63ffe/lib-cfg_if
  65. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/cfg-if-f2f6162ae1f63ffe/lib-cfg_if.json
  66. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/const-oid-6cee000305ce998b/invoked.timestamp
  67. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/const-oid-6cee000305ce998b/lib-const_oid
  68. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/const-oid-6cee000305ce998b/lib-const_oid.json
  69. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/cpufeatures-10933cdd524462e5/invoked.timestamp
  70. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/cpufeatures-10933cdd524462e5/lib-cpufeatures
  71. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/cpufeatures-10933cdd524462e5/lib-cpufeatures.json
  72. 二进制
      contracts/puff_pastry/target/debug/.fingerprint/cpufeatures-65ce30723372a448/dep-lib-cpufeatures
  73. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/cpufeatures-65ce30723372a448/invoked.timestamp
  74. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/cpufeatures-65ce30723372a448/lib-cpufeatures
  75. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/cpufeatures-65ce30723372a448/lib-cpufeatures.json
  76. 二进制
      contracts/puff_pastry/target/debug/.fingerprint/crate-git-revision-2de834f1ee280e79/dep-lib-crate_git_revision
  77. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/crate-git-revision-2de834f1ee280e79/invoked.timestamp
  78. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/crate-git-revision-2de834f1ee280e79/lib-crate_git_revision
  79. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/crate-git-revision-2de834f1ee280e79/lib-crate_git_revision.json
  80. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/crypto-bigint-e410b180adf325c5/invoked.timestamp
  81. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/crypto-bigint-e410b180adf325c5/lib-crypto_bigint
  82. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/crypto-bigint-e410b180adf325c5/lib-crypto_bigint.json
  83. 二进制
      contracts/puff_pastry/target/debug/.fingerprint/crypto-common-7f33b2452fa6eef3/dep-lib-crypto_common
  84. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/crypto-common-7f33b2452fa6eef3/invoked.timestamp
  85. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/crypto-common-7f33b2452fa6eef3/lib-crypto_common
  86. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/crypto-common-7f33b2452fa6eef3/lib-crypto_common.json
  87. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/crypto-common-b385d178d0e00b04/invoked.timestamp
  88. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/crypto-common-b385d178d0e00b04/lib-crypto_common
  89. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/crypto-common-b385d178d0e00b04/lib-crypto_common.json
  90. 二进制
      contracts/puff_pastry/target/debug/.fingerprint/ctor-d261e77d3b0efb49/dep-lib-ctor
  91. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/ctor-d261e77d3b0efb49/invoked.timestamp
  92. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/ctor-d261e77d3b0efb49/lib-ctor
  93. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/ctor-d261e77d3b0efb49/lib-ctor.json
  94. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/curve25519-dalek-0423ec565c6fac5c/invoked.timestamp
  95. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/curve25519-dalek-0423ec565c6fac5c/lib-curve25519_dalek
  96. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/curve25519-dalek-0423ec565c6fac5c/lib-curve25519_dalek.json
  97. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/curve25519-dalek-0ac1fdad30516bf0/build-script-build-script-build
  98. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/curve25519-dalek-0ac1fdad30516bf0/build-script-build-script-build.json
  99. 二进制
      contracts/puff_pastry/target/debug/.fingerprint/curve25519-dalek-0ac1fdad30516bf0/dep-build-script-build-script-build
  100. +1
    -0
      contracts/puff_pastry/target/debug/.fingerprint/curve25519-dalek-0ac1fdad30516bf0/invoked.timestamp

+ 1
- 0
.gitignore 查看文件

@@ -0,0 +1 @@
/target

+ 8
- 0
.idea/.gitignore 查看文件

@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

+ 8
- 0
.idea/modules.xml 查看文件

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/puffpastry.iml" filepath="$PROJECT_DIR$/.idea/puffpastry.iml" />
</modules>
</component>
</project>

+ 12
- 0
.idea/puffpastry.iml 查看文件

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="EMPTY_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/contracts/puff_pastry/src" isTestSource="false" />
<excludeFolder url="file://$MODULE_DIR$/contracts/puff_pastry/target" />
<excludeFolder url="file://$MODULE_DIR$/target" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
</module>

+ 6
- 0
.idea/vcs.xml 查看文件

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>

+ 1506
- 0
Cargo.lock
文件差异内容过多而无法显示
查看文件


+ 1498
- 0
contracts/puff_pastry/Cargo.lock
文件差异内容过多而无法显示
查看文件


+ 341
- 0
contracts/puff_pastry/src/lib.rs 查看文件

@@ -0,0 +1,341 @@
#![no_std]

mod test;

use core::cmp::PartialEq;
use soroban_sdk::{contract, contracttype, contractimpl, Env, String, Vec, BytesN, Map};

macro_rules! if_let_some {
($opt:expr, $body:block) => {
if let Some(_) = $opt {
$body
}
};
($opt:expr, mut $var:ident, $body:block) => {
if let Some(mut $var) = $opt {
$body
}
};
($opt:expr, $var:ident, $body:block) => {
if let Some($var) = $opt {
$body
}
};
($opt:expr, mut $var:ident, $some_case:block, $none_case:block) => {
if let Some(mut $var) = $opt {
$some_case
} else {
$none_case
}
};
($opt:expr, $var:ident, $some_case:block, $none_case:block) => {
if let Some($var) = $opt {
$some_case
} else {
$none_case
}
};
}

#[contracttype]
pub enum DataKey {
IssueRecord,
CommentRecord,
ParagraphRecord(BytesN<16>, u32),
PositiveVoteRecord,
NegativeVoteRecord,
}

pub enum Error {
NoIssuesFound,
NoCommentsFound,
}

#[contract]
pub struct PuffPastry;

#[contracttype]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct IssuePost {
id: BytesN<16>,
title: String,
summary: String,
paragraph_count: u32,
positive_votes: u64,
negative_votes: u64,
telegram_handle: String,
created_at: u64,
}

#[contracttype]
#[derive(Clone, Debug, Eq, PartialEq)]
pub struct Comment {
id: BytesN<16>,
issue_id: BytesN<16>,
text: String,
positive_votes: u64,
negative_votes: u64,
created_at: u64,
}

impl IssuePost {
pub fn default(env: &Env) -> Self {
Self {
id: BytesN::from_array(env, &[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
title: String::from_str(env, ""),
summary: String::from_str(&env, ""),
paragraph_count: 0,
positive_votes: 0,
negative_votes: 0,
telegram_handle: String::from_str(env, ""),
created_at: 0
}
}
}

#[contractimpl]
impl PuffPastry {
pub fn add_issue(env: Env, id: BytesN<16>, title: String, paragraphs: Vec<String>, telegram_handle: String) {
let metadata = IssuePost {
id: id.clone(),
title,
summary: String::from_str(&env, ""),
paragraph_count: paragraphs.len(),
positive_votes: 0,
negative_votes: 0,
telegram_handle,
created_at: env.ledger().timestamp(),
};

let mut issues = Self::get_issues(&env);
issues.push_back(metadata);
env.storage().persistent().set(&DataKey::IssueRecord, &issues);

for (i, paragraph) in paragraphs.iter().enumerate() {
env.storage().persistent().set(&DataKey::ParagraphRecord(id.clone(), i as u32), &paragraph);
}
}

pub fn add_comment(env: Env, id: BytesN<16>, issue_id: BytesN<16>, text: String) -> bool {
let comment = Comment {
id,
issue_id: issue_id.clone(),
text,
positive_votes: 0,
negative_votes: 0,
created_at: env.ledger().timestamp(),
};

if_let_some!(
Self::get_issue(env.clone(), issue_id),
{
let mut comments = Self::get_comments(&env);
comments.push_back(comment);
env.storage().persistent().set(&DataKey::CommentRecord, &comments);
return true
}
);
false
}

pub fn get_comments_for_issue(env: &Env, issue_id: BytesN<16>) -> Vec<Comment> {
let comments = Self::get_comments(&env);
let mut issue_comments = Vec::new(env);

for comment in comments.iter().filter(|c| c.issue_id == issue_id) {
issue_comments.push_back(comment);
}

issue_comments
}

pub fn increase_positive_comment_vote(env: &Env, comment_id: BytesN<16>) {
let mut comments = Self::get_comments(&env);

if_let_some!(
comments.iter().position(|c| c.id == comment_id),
index,
{
let mut comment = comments.get(index as u32).unwrap().clone();
comment.positive_votes = comment.positive_votes.checked_add(1).unwrap_or_else(|| 0);
comments.set(index as u32, comment.clone());

env.storage().persistent().set(&DataKey::CommentRecord, &comments);
}
);
}

pub fn increase_negative_comment_vote(env: &Env, comment_id: BytesN<16>) {
let mut comments = Self::get_comments(&env);

if_let_some!(
comments.iter().position(|c| c.id == comment_id),
index,
{
let mut comment = comments.get(index as u32).unwrap().clone();
comment.negative_votes = comment.negative_votes.checked_add(1).unwrap_or_else(|| 0);
comments.set(index as u32, comment.clone());

env.storage().persistent().set(&DataKey::CommentRecord, &comments);
}
);
}

pub fn increase_positive_vote(env: &Env, user_id: u64, issue_id: BytesN<16>) -> bool {
let mut issues = Self::get_issues(env);

if_let_some!(
issues.iter().position(|i| i.id == issue_id),
index,
{
let mut issue = issues.get(index as u32).unwrap().clone();
issue.positive_votes = issue.positive_votes.checked_add(1).unwrap_or_else(|| 0);
issues.set(index as u32, issue.clone());

let votes = Self::record_user_positive_vote(&env, user_id, issue_id);
env.storage().persistent().set(&DataKey::PositiveVoteRecord, &votes);

env.storage().persistent().set(&DataKey::IssueRecord, &issues);
return true
}
);
false
}

pub fn increase_negative_vote(env: &Env, user_id: u64, issue_id: BytesN<16>) -> bool {
let mut issues = Self::get_issues(env);

if_let_some!(
issues.iter().position(|i| i.id == issue_id),
index,
{
let mut issue = issues.get(index as u32).unwrap().clone();
issue.positive_votes = issue.negative_votes.checked_add(1).unwrap_or_else(|| 0);
issues.set(index as u32, issue.clone());

let votes = Self::record_user_negative_vote(&env, user_id, issue_id);
env.storage().persistent().set(&DataKey::NegativeVoteRecord, &votes);

env.storage().persistent().set(&DataKey::IssueRecord, &issues);
return true
}
);
false
}

pub fn get_positive_votes_for_user(env: &Env, user_id: u64) -> Option<Vec<BytesN<16>>> {
let votes = Self::get_positive_votes(&env);
votes.get(user_id)
}

pub fn get_negative_votes_for_user(env: &Env, user_id: u64) -> Option<Vec<BytesN<16>>> {
let votes = Self::get_negative_votes(&env);
votes.get(user_id)
}

pub fn get_issue(env: Env, id: BytesN<16>) -> Option<IssuePost> {
let issues = Self::get_issues(&env);
issues.into_iter().find(|i| i.id == id).or_else(|| None)
}

pub fn get_paragraphs_for_issue(env: &Env, id: BytesN<16>) -> Option<Vec<String>> {
// This method is here to allow for "chunking", so that we don't store values that exceed the maximum size in Soroban
let mut content = Vec::new(&env);
if_let_some!(
Self::get_issue(env.clone(), id.clone()),
metadata,
{
for i in 0..metadata.paragraph_count {
let paragraph: String = env.storage().persistent().get(&DataKey::ParagraphRecord(id.clone(), i)).expect("Paragraph not found");
content.push_back(paragraph);
}
return Some(content)
}
);
None
}

pub fn list_issues(env: &Env) -> Vec<IssuePost> {
let original_issues = Self::get_issues(env);
let mut updated_issues = Vec::new(env);

for issue in original_issues.iter() {
if_let_some!(
Self::get_paragraphs_for_issue(env, issue.id.clone()),
paragraphs,
{
let summary = paragraphs.first()
.map(|i| i.clone())
.unwrap_or_else(|| String::from_str(env, "Unknown summary"));

let updated_issue = IssuePost {
id: issue.id.clone(),
title: issue.title.clone(),
summary,
paragraph_count: issue.paragraph_count,
positive_votes: issue.positive_votes,
negative_votes: issue.negative_votes,
telegram_handle: issue.telegram_handle,
created_at: issue.created_at,
};

updated_issues.push_back(updated_issue);
}
);
}

updated_issues
}

fn get_issues(env: &Env) -> Vec<IssuePost> {
env.storage().persistent().get(&DataKey::IssueRecord).unwrap_or_else(|| Vec::new(&env))
}

fn get_comments(env: &Env) -> Vec<Comment> {
env.storage().persistent().get(&DataKey::CommentRecord).unwrap_or_else(|| Vec::new(&env))
}

fn get_positive_votes(env: &Env) -> Map<u64, Vec<BytesN<16>>> {
env.storage().persistent().get(&DataKey::PositiveVoteRecord).unwrap_or_else(|| Map::new(&env))
}

fn get_negative_votes(env: &Env) -> Map<u64, Vec<BytesN<16>>> {
env.storage().persistent().get(&DataKey::NegativeVoteRecord).unwrap_or_else(|| Map::new(&env))
}

fn record_user_positive_vote(env: &&Env, user_id: u64, issue_id: BytesN<16>) -> Map<u64, Vec<BytesN<16>>> {
let mut votes = Self::get_positive_votes(env);
if_let_some!(
votes.get(user_id),
mut user_positive_votes,
{
if !user_positive_votes.contains(&issue_id) {
user_positive_votes.push_back(issue_id);
votes.set(user_id, user_positive_votes);
}
},
{
votes.set(user_id, Vec::from_array(&env, [issue_id]));
}
);
votes
}

fn record_user_negative_vote(env: &&Env, user_id: u64, issue_id: BytesN<16>) -> Map<u64, Vec<BytesN<16>>> {
let mut votes = Self::get_negative_votes(env);
if_let_some!(
votes.get(user_id),
mut user_negative_votes,
{
if !user_negative_votes.contains(&issue_id) {
user_negative_votes.push_back(issue_id);
votes.set(user_id, user_negative_votes);
}
},
{
votes.set(user_id, Vec::from_array(&env, [issue_id]));
}
);
votes
}
}

+ 1
- 0
contracts/puff_pastry/target/.rustc_info.json 查看文件

@@ -0,0 +1 @@
{"rustc_fingerprint":7889000317272466684,"outputs":{"10552990543848836495":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n","stderr":""},"3679538933539500598":{"success":true,"status":"","code":0,"stdout":"___\nlib___.rlib\nlib___.so\nlib___.so\nlib___.a\nlib___.so\n/home/jbell/.rustup/toolchains/stable-x86_64-unknown-linux-gnu\noff\npacked\nunpacked\n___\ndebug_assertions\npanic=\"unwind\"\nproc_macro\ntarget_abi=\"\"\ntarget_arch=\"x86_64\"\ntarget_endian=\"little\"\ntarget_env=\"gnu\"\ntarget_family=\"unix\"\ntarget_feature=\"fxsr\"\ntarget_feature=\"sse\"\ntarget_feature=\"sse2\"\ntarget_has_atomic=\"16\"\ntarget_has_atomic=\"32\"\ntarget_has_atomic=\"64\"\ntarget_has_atomic=\"8\"\ntarget_has_atomic=\"ptr\"\ntarget_os=\"linux\"\ntarget_pointer_width=\"64\"\ntarget_vendor=\"unknown\"\nunix\n","stderr":""},"8202426292966275347":{"success":true,"status":"","code":0,"stdout":"rustc 1.81.0 (eeb90cda1 2024-09-04)\nbinary: rustc\ncommit-hash: eeb90cda1969383f56a2637cbd3037bdf598841c\ncommit-date: 2024-09-04\nhost: x86_64-unknown-linux-gnu\nrelease: 1.81.0\nLLVM version: 18.1.7\n","stderr":""}},"successes":{}}

+ 3
- 0
contracts/puff_pastry/target/CACHEDIR.TAG 查看文件

@@ -0,0 +1,3 @@
Signature: 8a477f597d28d172789f06886806bc55
# This file is a cache directory tag created by cargo.
# For information about cache directory tags see https://bford.info/cachedir/

+ 0
- 0
contracts/puff_pastry/target/debug/.cargo-lock 查看文件


+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/addr2line-9634c97fe340cd67/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/addr2line-9634c97fe340cd67/lib-addr2line 查看文件

@@ -0,0 +1 @@
28ff898a0c750df5

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/addr2line-9634c97fe340cd67/lib-addr2line.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[\"all\", \"alloc\", \"bin\", \"cargo-all\", \"compiler_builtins\", \"core\", \"cpp_demangle\", \"default\", \"fallible-iterator\", \"loader\", \"rustc-demangle\", \"rustc-dep-of-std\", \"smallvec\", \"std\"]","target":10505470760859093195,"profile":1740343547499479105,"path":17104086663459362602,"deps":[[16813927077172972436,"gimli",false,12307843916094808634]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/addr2line-9634c97fe340cd67/dep-lib-addr2line"}}],"rustflags":[],"metadata":12740932805375460336,"config":2202906307356721367,"compile_kind":0}

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/adler2-212b60c325f29598/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/adler2-212b60c325f29598/lib-adler2 查看文件

@@ -0,0 +1 @@
3a86a212d910829d

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/adler2-212b60c325f29598/lib-adler2.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[\"compiler_builtins\", \"core\", \"default\", \"rustc-dep-of-std\", \"std\"]","target":4668500152293724077,"profile":1740343547499479105,"path":11933565369693097819,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/adler2-212b60c325f29598/dep-lib-adler2"}}],"rustflags":[],"metadata":367041603583530658,"config":2202906307356721367,"compile_kind":0}

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/arbitrary-e3e53bce8c0e291d/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/arbitrary-e3e53bce8c0e291d/lib-arbitrary 查看文件

@@ -0,0 +1 @@
290a90d92146c472

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/arbitrary-e3e53bce8c0e291d/lib-arbitrary.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[\"derive\", \"derive_arbitrary\"]","declared_features":"[\"derive\", \"derive_arbitrary\"]","target":5409355720630506004,"profile":1740343547499479105,"path":15144846889097276839,"deps":[[12860459271133685417,"derive_arbitrary",false,12747033961289240706]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/arbitrary-e3e53bce8c0e291d/dep-lib-arbitrary"}}],"rustflags":[],"metadata":7055458761624090909,"config":2202906307356721367,"compile_kind":0}

二进制
contracts/puff_pastry/target/debug/.fingerprint/autocfg-13d83dc773314ba4/dep-lib-autocfg 查看文件


+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/autocfg-13d83dc773314ba4/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/autocfg-13d83dc773314ba4/lib-autocfg 查看文件

@@ -0,0 +1 @@
4b53447a99b01940

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/autocfg-13d83dc773314ba4/lib-autocfg.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[]","target":9761386671650792958,"profile":8861558584828204938,"path":11458436244172043923,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/autocfg-13d83dc773314ba4/dep-lib-autocfg"}}],"rustflags":[],"metadata":13102859075309379048,"config":2202906307356721367,"compile_kind":0}

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/backtrace-1bcca8693cb34767/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/backtrace-1bcca8693cb34767/lib-backtrace 查看文件

@@ -0,0 +1 @@
d403f34d43589cf9

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/backtrace-1bcca8693cb34767/lib-backtrace.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[\"default\", \"std\"]","declared_features":"[\"coresymbolication\", \"cpp_demangle\", \"dbghelp\", \"default\", \"dl_iterate_phdr\", \"dladdr\", \"kernel32\", \"libunwind\", \"serde\", \"serialize-serde\", \"std\", \"unix-backtrace\"]","target":14464830852131965333,"profile":716520699635045308,"path":10198587057003873498,"deps":[[1685035860721096161,"libc",false,6955317195910014746],[2452538001284770427,"cfg_if",false,12108690742212929266],[7619288050917532441,"object",false,13955769759435851952],[7994186224469834884,"miniz_oxide",false,14620891014595603441],[8335482645193393408,"addr2line",false,17657898410713939752],[10942401671841256414,"rustc_demangle",false,7122910279399892087]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/backtrace-1bcca8693cb34767/dep-lib-backtrace"}}],"rustflags":[],"metadata":7223263141473362705,"config":2202906307356721367,"compile_kind":0}

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/base16ct-8786bd4bed9b82be/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/base16ct-8786bd4bed9b82be/lib-base16ct 查看文件

@@ -0,0 +1 @@
a686c5cc8ef8e782

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/base16ct-8786bd4bed9b82be/lib-base16ct.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[\"alloc\", \"std\"]","target":11287470013386676115,"profile":1740343547499479105,"path":13132300463954085836,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/base16ct-8786bd4bed9b82be/dep-lib-base16ct"}}],"rustflags":[],"metadata":3777405961809298246,"config":2202906307356721367,"compile_kind":0}

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/base32-16eb3106fe34fd2a/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/base32-16eb3106fe34fd2a/lib-base32 查看文件

@@ -0,0 +1 @@
f7f543a47fd1bfa2

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/base32-16eb3106fe34fd2a/lib-base32.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[]","target":412856117706426537,"profile":1740343547499479105,"path":4048896379039519037,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/base32-16eb3106fe34fd2a/dep-lib-base32"}}],"rustflags":[],"metadata":2732921451248632070,"config":2202906307356721367,"compile_kind":0}

二进制
contracts/puff_pastry/target/debug/.fingerprint/base32-ab0ac89e00044a42/dep-lib-base32 查看文件


+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/base32-ab0ac89e00044a42/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/base32-ab0ac89e00044a42/lib-base32 查看文件

@@ -0,0 +1 @@
d7d02201f78dd92f

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/base32-ab0ac89e00044a42/lib-base32.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[]","target":412856117706426537,"profile":8861558584828204938,"path":4048896379039519037,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/base32-ab0ac89e00044a42/dep-lib-base32"}}],"rustflags":[],"metadata":2732921451248632070,"config":2202906307356721367,"compile_kind":0}

二进制
contracts/puff_pastry/target/debug/.fingerprint/base64-4606537903f55d6a/dep-lib-base64 查看文件


+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/base64-4606537903f55d6a/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/base64-4606537903f55d6a/lib-base64 查看文件

@@ -0,0 +1 @@
31e812d64280b8c7

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/base64-4606537903f55d6a/lib-base64.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[\"default\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"std\"]","target":15613143633061253375,"profile":8861558584828204938,"path":5532896709358947311,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/base64-4606537903f55d6a/dep-lib-base64"}}],"rustflags":[],"metadata":13936919950537592407,"config":2202906307356721367,"compile_kind":0}

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/base64-b4d559541f3af1cb/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/base64-b4d559541f3af1cb/lib-base64 查看文件

@@ -0,0 +1 @@
0284aa88df61a857

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/base64-b4d559541f3af1cb/lib-base64.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[\"default\", \"std\"]","declared_features":"[\"alloc\", \"default\", \"std\"]","target":15613143633061253375,"profile":1740343547499479105,"path":5532896709358947311,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/base64-b4d559541f3af1cb/dep-lib-base64"}}],"rustflags":[],"metadata":13936919950537592407,"config":2202906307356721367,"compile_kind":0}

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/block-buffer-69b9fbec03f58a39/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/block-buffer-69b9fbec03f58a39/lib-block_buffer 查看文件

@@ -0,0 +1 @@
2860eadab7724fb9

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/block-buffer-69b9fbec03f58a39/lib-block_buffer.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[]","target":12346826633121798899,"profile":1740343547499479105,"path":8168197899993008824,"deps":[[9665562089965330559,"generic_array",false,7066068947202887412]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/block-buffer-69b9fbec03f58a39/dep-lib-block_buffer"}}],"rustflags":[],"metadata":5573904726092117450,"config":2202906307356721367,"compile_kind":0}

二进制
contracts/puff_pastry/target/debug/.fingerprint/block-buffer-856fe54f5cf5dda5/dep-lib-block_buffer 查看文件


+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/block-buffer-856fe54f5cf5dda5/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/block-buffer-856fe54f5cf5dda5/lib-block_buffer 查看文件

@@ -0,0 +1 @@
4668fa821795b2a1

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/block-buffer-856fe54f5cf5dda5/lib-block_buffer.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[]","target":12346826633121798899,"profile":8861558584828204938,"path":8168197899993008824,"deps":[[9665562089965330559,"generic_array",false,3197662467650231586]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/block-buffer-856fe54f5cf5dda5/dep-lib-block_buffer"}}],"rustflags":[],"metadata":5573904726092117450,"config":2202906307356721367,"compile_kind":0}

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/byteorder-40c8321b0f952630/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/byteorder-40c8321b0f952630/lib-byteorder 查看文件

@@ -0,0 +1 @@
9012534156133076

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/byteorder-40c8321b0f952630/lib-byteorder.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[\"default\", \"i128\", \"std\"]","target":16903832911151110546,"profile":1740343547499479105,"path":14707569198730365971,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/byteorder-40c8321b0f952630/dep-lib-byteorder"}}],"rustflags":[],"metadata":5398730104718078656,"config":2202906307356721367,"compile_kind":0}

二进制
contracts/puff_pastry/target/debug/.fingerprint/bytes-lit-bece66d14dba2ddc/dep-lib-bytes_lit 查看文件


+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/bytes-lit-bece66d14dba2ddc/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/bytes-lit-bece66d14dba2ddc/lib-bytes_lit 查看文件

@@ -0,0 +1 @@
8de36d924a65de2d

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/bytes-lit-bece66d14dba2ddc/lib-bytes_lit.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[]","target":13133250446939907353,"profile":8861558584828204938,"path":5020614288685929310,"deps":[[569776120653670373,"syn",false,8471984290493660310],[1364752078607954195,"num_bigint",false,5069275219957012329],[5247968963080504553,"proc_macro2",false,12253571013167664004],[16925618668213040772,"quote",false,18395463879324020330]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/bytes-lit-bece66d14dba2ddc/dep-lib-bytes_lit"}}],"rustflags":[],"metadata":1243268708741053222,"config":2202906307356721367,"compile_kind":0}

二进制
contracts/puff_pastry/target/debug/.fingerprint/cfg-if-2aae469d37c18d62/dep-lib-cfg_if 查看文件


+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/cfg-if-2aae469d37c18d62/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/cfg-if-2aae469d37c18d62/lib-cfg_if 查看文件

@@ -0,0 +1 @@
48d2b61cc601a328

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/cfg-if-2aae469d37c18d62/lib-cfg_if.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[\"compiler_builtins\", \"core\", \"rustc-dep-of-std\"]","target":11601024444410784892,"profile":8861558584828204938,"path":8411148382328700617,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/cfg-if-2aae469d37c18d62/dep-lib-cfg_if"}}],"rustflags":[],"metadata":8462187951337715540,"config":2202906307356721367,"compile_kind":0}

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/cfg-if-f2f6162ae1f63ffe/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/cfg-if-f2f6162ae1f63ffe/lib-cfg_if 查看文件

@@ -0,0 +1 @@
f2a6a95013b60aa8

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/cfg-if-f2f6162ae1f63ffe/lib-cfg_if.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[\"compiler_builtins\", \"core\", \"rustc-dep-of-std\"]","target":11601024444410784892,"profile":1740343547499479105,"path":8411148382328700617,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/cfg-if-f2f6162ae1f63ffe/dep-lib-cfg_if"}}],"rustflags":[],"metadata":8462187951337715540,"config":2202906307356721367,"compile_kind":0}

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/const-oid-6cee000305ce998b/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/const-oid-6cee000305ce998b/lib-const_oid 查看文件

@@ -0,0 +1 @@
1a15d144c92027e7

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/const-oid-6cee000305ce998b/lib-const_oid.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[\"arbitrary\", \"db\", \"std\"]","target":2598731838515434595,"profile":1740343547499479105,"path":3107134682317152807,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/const-oid-6cee000305ce998b/dep-lib-const_oid"}}],"rustflags":[],"metadata":2151388754808530472,"config":2202906307356721367,"compile_kind":0}

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/cpufeatures-10933cdd524462e5/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/cpufeatures-10933cdd524462e5/lib-cpufeatures 查看文件

@@ -0,0 +1 @@
fdee950c1f714d99

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/cpufeatures-10933cdd524462e5/lib-cpufeatures.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[]","target":4587716324269090872,"profile":1740343547499479105,"path":13737604347458503149,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/cpufeatures-10933cdd524462e5/dep-lib-cpufeatures"}}],"rustflags":[],"metadata":6650989611501850964,"config":2202906307356721367,"compile_kind":0}

二进制
contracts/puff_pastry/target/debug/.fingerprint/cpufeatures-65ce30723372a448/dep-lib-cpufeatures 查看文件


+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/cpufeatures-65ce30723372a448/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/cpufeatures-65ce30723372a448/lib-cpufeatures 查看文件

@@ -0,0 +1 @@
64f59ed051644a80

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/cpufeatures-65ce30723372a448/lib-cpufeatures.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[]","target":4587716324269090872,"profile":8861558584828204938,"path":13737604347458503149,"deps":[],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/cpufeatures-65ce30723372a448/dep-lib-cpufeatures"}}],"rustflags":[],"metadata":6650989611501850964,"config":2202906307356721367,"compile_kind":0}

二进制
contracts/puff_pastry/target/debug/.fingerprint/crate-git-revision-2de834f1ee280e79/dep-lib-crate_git_revision 查看文件


+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/crate-git-revision-2de834f1ee280e79/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/crate-git-revision-2de834f1ee280e79/lib-crate_git_revision 查看文件

@@ -0,0 +1 @@
2b966da453109014

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/crate-git-revision-2de834f1ee280e79/lib-crate_git_revision.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[]","target":1102773347624789433,"profile":8861558584828204938,"path":5777642885068345000,"deps":[[4128066061950117715,"serde_derive",false,9432962890020978807],[11677120751313591458,"serde_json",false,14735807690681466637],[18140546147230100768,"serde",false,6817901129955240647]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/crate-git-revision-2de834f1ee280e79/dep-lib-crate_git_revision"}}],"rustflags":[],"metadata":6991835457251977447,"config":2202906307356721367,"compile_kind":0}

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/crypto-bigint-e410b180adf325c5/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/crypto-bigint-e410b180adf325c5/lib-crypto_bigint 查看文件

@@ -0,0 +1 @@
aade0009ac934369

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/crypto-bigint-e410b180adf325c5/lib-crypto_bigint.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[\"generic-array\", \"rand_core\", \"zeroize\"]","declared_features":"[\"alloc\", \"default\", \"der\", \"extra-sizes\", \"generic-array\", \"rand\", \"rand_core\", \"rlp\", \"serde\", \"zeroize\"]","target":15452204485374367596,"profile":1740343547499479105,"path":9325428576694085621,"deps":[[1486664334664968274,"subtle",false,7476317626786107296],[1565494060434293766,"rand_core",false,11110720424919576107],[9665562089965330559,"generic_array",false,7066068947202887412],[16255406213544131105,"zeroize",false,16562915771662924891]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/crypto-bigint-e410b180adf325c5/dep-lib-crypto_bigint"}}],"rustflags":[],"metadata":7610453085082160809,"config":2202906307356721367,"compile_kind":0}

二进制
contracts/puff_pastry/target/debug/.fingerprint/crypto-common-7f33b2452fa6eef3/dep-lib-crypto_common 查看文件


+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/crypto-common-7f33b2452fa6eef3/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/crypto-common-7f33b2452fa6eef3/lib-crypto_common 查看文件

@@ -0,0 +1 @@
e63bcb58cc5a7de0

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/crypto-common-7f33b2452fa6eef3/lib-crypto_common.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[\"std\"]","declared_features":"[\"getrandom\", \"rand_core\", \"std\"]","target":794007813995542984,"profile":8861558584828204938,"path":14514221961535602592,"deps":[[9665562089965330559,"generic_array",false,3197662467650231586],[14410322725430510490,"typenum",false,2485063479852754798]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/crypto-common-7f33b2452fa6eef3/dep-lib-crypto_common"}}],"rustflags":[],"metadata":3401955368041756111,"config":2202906307356721367,"compile_kind":0}

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/crypto-common-b385d178d0e00b04/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/crypto-common-b385d178d0e00b04/lib-crypto_common 查看文件

@@ -0,0 +1 @@
0f08f5259ebca2d8

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/crypto-common-b385d178d0e00b04/lib-crypto_common.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[\"std\"]","declared_features":"[\"getrandom\", \"rand_core\", \"std\"]","target":794007813995542984,"profile":1740343547499479105,"path":14514221961535602592,"deps":[[9665562089965330559,"generic_array",false,7066068947202887412],[14410322725430510490,"typenum",false,15370822399763775734]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/crypto-common-b385d178d0e00b04/dep-lib-crypto_common"}}],"rustflags":[],"metadata":3401955368041756111,"config":2202906307356721367,"compile_kind":0}

二进制
contracts/puff_pastry/target/debug/.fingerprint/ctor-d261e77d3b0efb49/dep-lib-ctor 查看文件


+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/ctor-d261e77d3b0efb49/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/ctor-d261e77d3b0efb49/lib-ctor 查看文件

@@ -0,0 +1 @@
20e73f4019990e94

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/ctor-d261e77d3b0efb49/lib-ctor.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[]","declared_features":"[\"used_linker\"]","target":9391623872878677341,"profile":8861558584828204938,"path":2238034053478406058,"deps":[[569776120653670373,"syn",false,8471984290493660310],[16925618668213040772,"quote",false,18395463879324020330]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/ctor-d261e77d3b0efb49/dep-lib-ctor"}}],"rustflags":[],"metadata":2278390040014739964,"config":2202906307356721367,"compile_kind":0}

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/curve25519-dalek-0423ec565c6fac5c/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/curve25519-dalek-0423ec565c6fac5c/lib-curve25519_dalek 查看文件

@@ -0,0 +1 @@
b6fc00a4ad70e9db

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/curve25519-dalek-0423ec565c6fac5c/lib-curve25519_dalek.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[\"alloc\", \"digest\", \"precomputed-tables\", \"zeroize\"]","declared_features":"[\"alloc\", \"default\", \"digest\", \"ff\", \"group\", \"group-bits\", \"legacy_compatibility\", \"precomputed-tables\", \"rand_core\", \"serde\", \"zeroize\"]","target":11952828684352249071,"profile":1740343547499479105,"path":1872908208384213231,"deps":[[1486664334664968274,"subtle",false,7476317626786107296],[2452538001284770427,"cfg_if",false,12108690742212929266],[2840283795372320106,"curve25519_dalek_derive",false,3955184496948630734],[3954774571818469099,"build_script_build",false,13515119300035087226],[8784844846616271080,"digest",false,4495397638367719790],[16073275586143480771,"cpufeatures",false,11046609839178772221],[16255406213544131105,"zeroize",false,16562915771662924891]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/curve25519-dalek-0423ec565c6fac5c/dep-lib-curve25519_dalek"}}],"rustflags":[],"metadata":9818170615546737705,"config":2202906307356721367,"compile_kind":0}

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/curve25519-dalek-0ac1fdad30516bf0/build-script-build-script-build 查看文件

@@ -0,0 +1 @@
7bee872eea389060

+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/curve25519-dalek-0ac1fdad30516bf0/build-script-build-script-build.json 查看文件

@@ -0,0 +1 @@
{"rustc":5620745326244611454,"features":"[\"alloc\", \"digest\", \"precomputed-tables\", \"zeroize\"]","declared_features":"[\"alloc\", \"default\", \"digest\", \"ff\", \"group\", \"group-bits\", \"legacy_compatibility\", \"precomputed-tables\", \"rand_core\", \"serde\", \"zeroize\"]","target":9652763411108993936,"profile":8861558584828204938,"path":8861724200920667981,"deps":[[12360998323528185464,"rustc_version",false,14971220346934801356]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/curve25519-dalek-0ac1fdad30516bf0/dep-build-script-build-script-build"}}],"rustflags":[],"metadata":9818170615546737705,"config":2202906307356721367,"compile_kind":0}

二进制
contracts/puff_pastry/target/debug/.fingerprint/curve25519-dalek-0ac1fdad30516bf0/dep-build-script-build-script-build 查看文件


+ 1
- 0
contracts/puff_pastry/target/debug/.fingerprint/curve25519-dalek-0ac1fdad30516bf0/invoked.timestamp 查看文件

@@ -0,0 +1 @@
This file has an mtime of when this was started.

部分文件因为文件数量过多而无法显示

正在加载...
取消
保存