feat: initialize Kurdistan SDK - independent fork of Polkadot SDK
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
// SPDX-License-Identifier: MIT
|
||||
pragma solidity ^0.8.0;
|
||||
|
||||
address constant STORAGE_ADDR = 0x0000000000000000000000000000000000000901;
|
||||
|
||||
interface IStorage {
|
||||
/// Clear the value at the given key in the contract storage.
|
||||
///
|
||||
/// # Important
|
||||
///
|
||||
/// This function can only be called via a delegate call! For Solidity, the low level
|
||||
/// `delegatecall` function has to be used. For languages that use the FFI
|
||||
/// of `pallet-revive`, the [`crate::HostFn::delegate_call`] function can be used.
|
||||
///
|
||||
/// # Parameters
|
||||
///
|
||||
/// - `key`: The storage key.
|
||||
///
|
||||
/// # Return
|
||||
///
|
||||
/// If no entry existed for this key, `containedKey` is `false` and
|
||||
/// `valueLen` is `0`.
|
||||
function clearStorage(uint32 flags, bool isFixedKey, bytes memory key)
|
||||
external returns (bool containedKey, uint valueLen);
|
||||
|
||||
/// Checks whether there is a value stored under the given key.
|
||||
///
|
||||
/// The key length must not exceed the maximum defined by the contracts module parameter.
|
||||
///
|
||||
/// # Important
|
||||
///
|
||||
/// This function can only be called via a delegate call! For Solidity, the low level
|
||||
/// `delegatecall` function has to be used. For languages that use the FFI
|
||||
/// of `pallet-revive`, the [`crate::HostFn::delegate_call`] function can be used.
|
||||
///
|
||||
/// # Parameters
|
||||
///
|
||||
/// - `key`: The storage key.
|
||||
///
|
||||
/// # Return
|
||||
///
|
||||
/// Returns the size of the pre-existing value at the specified key.
|
||||
/// If no entry exists for this key `containedKey` is `false` and
|
||||
/// `valueLen` is `0`.
|
||||
function containsStorage(uint32 flags, bool isFixedKey, bytes memory key)
|
||||
external view returns (bool containedKey, uint valueLen);
|
||||
|
||||
/// Retrieve and remove the value under the given key from storage.
|
||||
///
|
||||
/// # Important
|
||||
///
|
||||
/// This function can only be called via a delegate call! For Solidity, the low level
|
||||
/// `delegatecall` function has to be used. For languages that use the FFI
|
||||
/// of `pallet-revive`, the [`crate::HostFn::delegate_call`] function can be used.
|
||||
///
|
||||
/// # Parameters
|
||||
///
|
||||
/// - `key`: The storage key.
|
||||
///
|
||||
/// # Errors
|
||||
///
|
||||
/// Returns empty bytes if no value was found under `key`.
|
||||
function takeStorage(uint32 flags, bool isFixedKey, bytes memory key)
|
||||
external returns (bytes memory);
|
||||
}
|
||||
Reference in New Issue
Block a user