Delete programs/native/move_funds

This commit is contained in:
Michael Vines 2018-10-25 11:17:52 -07:00 committed by Grimes
parent 9447537d8c
commit 113b002095
3 changed files with 0 additions and 66 deletions

View File

@ -109,7 +109,6 @@ sys-info = "0.5.6"
tokio = "0.1"
tokio-codec = "0.1"
untrusted = "0.6.2"
move_funds = { path = "programs/native/move_funds" }
noop = { path = "programs/native/noop" }
bpf_loader = { path = "programs/native/bpf_loader" }
lua_loader = { path = "programs/native/lua_loader" }
@ -137,7 +136,6 @@ name = "chacha"
members = [
".",
"common",
"programs/native/move_funds",
"programs/native/noop",
"programs/native/bpf_loader",
"programs/native/lua_loader",

View File

@ -1,14 +0,0 @@
[package]
name = "move_funds"
version = "0.10.0"
authors = ["Solana Maintainers <maintainers@solana.com>"]
[dependencies]
bincode = "1.0.0"
generic-array = { version = "0.12.0", default-features = false, features = ["serde"] }
solana_program_interface = { path = "../../../common", version = "0.10.0" }
[lib]
name = "move_funds"
crate-type = ["cdylib"]

View File

@ -1,50 +0,0 @@
extern crate bincode;
extern crate solana_program_interface;
use bincode::deserialize;
use solana_program_interface::account::KeyedAccount;
#[no_mangle]
pub extern "C" fn process(keyed_accounts: &mut Vec<KeyedAccount>, data: &[u8]) -> bool {
let tokens: i64 = deserialize(data).unwrap();
if keyed_accounts[0].account.tokens >= tokens {
keyed_accounts[0].account.tokens -= tokens;
keyed_accounts[1].account.tokens += tokens;
true
} else {
println!(
"Insufficient funds, asked {}, only had {}",
tokens, keyed_accounts[0].account.tokens
);
false
}
}
#[cfg(test)]
mod tests {
use super::*;
use bincode::serialize;
use solana_program_interface::account::Account;
use solana_program_interface::pubkey::Pubkey;
#[test]
fn test_move_funds() {
let tokens: i64 = 100;
let data: Vec<u8> = serialize(&tokens).unwrap();
let keys = vec![Pubkey::default(); 2];
let mut accounts = vec![Account::default(), Account::default()];
accounts[0].tokens = 100;
accounts[1].tokens = 1;
{
let mut keyed_accounts: Vec<KeyedAccount> = Vec::new();
for (key, account) in keys.iter().zip(&mut accounts).collect::<Vec<_>>() {
infos.push(KeyedAccount { key, account });
}
process(&mut keyed_accounts, &data);
}
assert_eq!(0, accounts[0].tokens);
assert_eq!(101, accounts[1].tokens);
}
}