1use serde::{Deserialize, Serialize};
2
3pub use near_primitives_core::types::*;
4
5pub type PublicKey = Vec<u8>;
6pub type PromiseIndex = u64;
7pub type ReceiptIndex = u64;
8pub type IteratorIndex = u64;
9
10#[derive(Debug, PartialEq, Serialize, Deserialize, Clone)]
11pub enum ReturnData {
12 #[serde(with = "crate::serde_with::bytes_as_str")]
14 Value(Vec<u8>),
15
16 ReceiptIndex(ReceiptIndex),
19
20 None,
22}
23
24impl ReturnData {
25 pub fn as_value(self) -> Option<Vec<u8>> {
27 match self {
28 ReturnData::Value(value) => Some(value),
29 _ => None,
30 }
31 }
32}
33
34#[derive(Debug, PartialEq, Serialize, Deserialize)]
37pub enum PromiseResult {
38 NotReady,
40 #[serde(with = "crate::serde_with::bytes_as_str")]
41 Successful(Vec<u8>),
42 Failed,
43}