Crate near_sdk

source ·

Re-exports§

Modules§

  • Collections that offer an alternative to standard containers from std::collections::* by utilizing the underlying blockchain trie storage more efficiently.
  • Blockchain-specific methods available to the smart contract. This is a wrapper around a low-level BlockchainInterface. Unless you know what you are doing prefer using env::* whenever possible. In case of cross-contract calls prefer using even higher-level API available through callback_args, callback_args_vec, ext_contract, Promise, and PromiseOrValue.
  • Helper types for JSON serialization.
  • Collections and types used when interacting with storage.
  • Helper methods that often used in smart contracts.

Macros§

  • Helper macro to log a message through env::log_str. This macro can be used similar to the std::format macro in most cases.
  • Helper macro to create assertions that will panic through the runtime host functions.
  • setup_allocDeprecated
    Deprecated helper function which used to generate code to initialize the GlobalAllocator. This is now initialized by default. Disable wee_alloc feature to configure manually.

Structs§

  • A simple type used in conjunction with FunctionError representing that the function should abort without a custom message.
  • NEAR Account Identifier.
  • Account identifier. This is the human readable UTF-8 string which is used internally to index accounts on the network and their respective state.
  • Weight of unused gas to use with promise_batch_action_function_call_weight.
  • A structure representing a result of the scheduled execution on another contract.
  • Promise index that is computed only once.
  • Public key in a binary format with base58 string serialization with human-readable curve. The key types currently supported are secp256k1 and ed25519.

Enums§

  • Allow an access key to spend either an unlimited or limited amount of gas
  • PublicKey curve
  • All error variants which can occur with promise results.
  • When the method can return either a promise or a value, it can be called with PromiseOrValue::Promise or PromiseOrValue::Value to specify which one should be returned.
  • When there is a callback attached to one or more contract calls the execution results of these calls are available to the contract invoked through the callback.

Traits§

  • Enables contract runtime to panic with the given type. Any error type used in conjunction with #[handle_result] has to implement this trait.
  • Converts Self into a Vec<u8> that is used for a storage key through into_storage_key.

Type Aliases§

  • Height of the block.
  • Block height delta that measures the difference between BlockHeights.
  • Raw type for 32 bytes of the hash.
  • Raw type for duration in nanoseconds
  • Height of the epoch.
  • GCCountDeprecated
  • IteratorIndexDeprecated
  • NonceDeprecated
    Nonce for transactions.
  • NumBlocksDeprecated
    Number of blocks in current group.
  • NumSeatsDeprecated
    Number of seats of validators (block producer or hidden ones) in current group (settlement).
  • NumShardsDeprecated
    Number of shards in current group.
  • PromiseIdDeprecated
  • ProtocolVersionDeprecated
  • ReceiptIndexDeprecated
    An index of Receipt to append an action
  • ShardIdDeprecated
    Shard index, from 0 to NUM_SHARDS - 1.
  • StorageUsage is used to count the amount of storage used by a contract.
  • StorageUsageChange is used to count the storage usage within a single contract call.
  • Raw type for timestamp in nanoseconds
  • ValidatorIdDeprecated
    Validator identifier in current group.
  • ValidatorMaskDeprecated
    Mask which validators participated in multi sign.

Attribute Macros§

  • ext_contract takes a Rust Trait and converts it to a module with static methods. Each of these static methods takes positional arguments defined by the Trait, then the receiver_id, the attached deposit and the amount of gas and returns a new Promise.
  • This attribute macro is used to enhance the near_bindgen macro. It is used to add Borsh and Serde derives for serialization and deserialization. It also adds BorshSchema and JsonSchema if needed
  • This attribute macro is used on a struct and its implementations to generate the necessary code to expose pub methods from the contract as well as generating the glue code to be a valid NEAR contract.

Derive Macros§

  • BorshStorageKey generates implementation for BorshIntoStorageKey trait. It allows the type to be passed as a unique prefix for persistent collections. The type should also implement or derive BorshSerialize trait.
  • NOTE: This is an internal implementation for #[near_bindgen(events(standard = ...))] attribute.
  • FunctionError generates implementation for near_sdk::FunctionError trait. It allows contract runtime to panic with the type using its ToString implementation as the message.
  • PanicOnDefault generates implementation for Default trait that panics with the following message The contract is not initialized when default() is called. This is a helpful macro in case the contract is required to be initialized with either init or init(ignore_state).