Skip to content

Commit 884dda3

Browse files
committed
recipient_code_hash tests
1 parent cf84382 commit 884dda3

File tree

2 files changed

+46
-29
lines changed

2 files changed

+46
-29
lines changed

tests/example-receiver/src/contract.rs

Lines changed: 1 addition & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -126,34 +126,18 @@ pub fn try_receive<S: Storage, A: Api, Q: Querier>(
126126
));
127127
}
128128

129-
let state = config_read(&deps.storage).load()?;
130-
if !state.known_snip_20.contains(&env.message.sender) {
131-
return Err(StdError::generic_err(format!(
132-
"{} is not a known SNIP-20 coin that this contract registered to",
133-
env.message.sender
134-
)));
135-
}
136-
137129
/* use sender & amount */
138130
handle(deps, env, msg)
139131
}
140132

141133
fn try_redeem<S: Storage, A: Api, Q: Querier>(
142-
deps: &mut Extern<S, A, Q>,
134+
_deps: &Extern<S, A, Q>,
143135
env: Env,
144136
addr: HumanAddr,
145137
hash: String,
146138
to: HumanAddr,
147139
amount: Uint128,
148140
) -> StdResult<HandleResponse> {
149-
let state = config_read(&deps.storage).load()?;
150-
if !state.known_snip_20.contains(&addr) {
151-
return Err(StdError::generic_err(format!(
152-
"{} is not a known SNIP-20 coin that this contract registered to",
153-
addr
154-
)));
155-
}
156-
157141
let msg = to_binary(&Snip20Msg::redeem(amount))?;
158142
let secret_redeem = CosmosMsg::Wasm(WasmMsg::Execute {
159143
contract_addr: addr,

tests/integration.sh

Lines changed: 45 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -949,13 +949,16 @@ function register_receiver() {
949949
function test_send() {
950950
set -e
951951
local contract_addr="$1"
952+
local skip_register_receiver="$2"
952953

953954
log_test_header
954955

955-
local receiver_addr
956-
receiver_addr="$(create_receiver_contract)"
957-
# receiver_addr='secret17k8qt6aqd7eee3fawmtvy4vu6teqx8d7mdm49x'
958-
register_receiver "$receiver_addr" "$contract_addr"
956+
local receiver_addr="$(create_receiver_contract)"
957+
local receiver_hash="$(secretcli q compute contract-hash $receiver_addr | sed 's/^0x//')"
958+
959+
if [ "$skip_register_receiver" != "true" ]; then
960+
register_receiver "$receiver_addr" "$contract_addr"
961+
fi
959962

960963
local tx_hash
961964

@@ -998,8 +1001,15 @@ function test_send() {
9981001
log 'sending funds from "a" to the Receiver, with message to the Receiver'
9991002
local receiver_msg='{"increment":{}}'
10001003
receiver_msg="$(base64 <<<"$receiver_msg")"
1001-
local send_message='{"send":{"recipient":"'"$receiver_addr"'","amount":"400000","msg":"'$receiver_msg'"}}'
1004+
1005+
if [ "$skip_register_receiver" = "true" ]; then
1006+
send_message='{"send":{"recipient":"'"$receiver_addr"'","recipient_code_hash":"'"$receiver_hash"'","amount":"400000","msg":"'$receiver_msg'"}}'
1007+
else
1008+
send_message='{"send":{"recipient":"'"$receiver_addr"'","amount":"400000","msg":"'$receiver_msg'"}}'
1009+
fi
1010+
10021011
local send_response
1012+
10031013
tx_hash="$(compute_execute "$contract_addr" "$send_message" ${FROM[a]} --gas 300000)"
10041014
send_response="$(wait_for_compute_tx "$tx_hash" 'waiting for send from "a" to the Receiver to process')"
10051015
assert_eq \
@@ -1040,7 +1050,13 @@ function test_send() {
10401050
log 'sending funds from "a" to the Receiver, with a "Fail" message to the Receiver'
10411051
receiver_msg='{"fail":{}}'
10421052
receiver_msg="$(base64 <<<"$receiver_msg")"
1043-
send_message='{"send":{"recipient":"'"$receiver_addr"'","amount":"400000","msg":"'$receiver_msg'"}}'
1053+
1054+
if [ "$skip_register_receiver" = "true" ]; then
1055+
send_message='{"send":{"recipient":"'"$receiver_addr"'","recipient_code_hash":"'"$receiver_hash"'","amount":"400000","msg":"'$receiver_msg'"}}'
1056+
else
1057+
send_message='{"send":{"recipient":"'"$receiver_addr"'","amount":"400000","msg":"'$receiver_msg'"}}'
1058+
fi
1059+
10441060
tx_hash="$(compute_execute "$contract_addr" "$send_message" ${FROM[a]} --gas 300000)"
10451061
# Notice the `!` before the command - it is EXPECTED to fail.
10461062
! send_response="$(wait_for_compute_tx "$tx_hash" 'waiting for send from "a" to the Receiver to process')"
@@ -1265,13 +1281,16 @@ function test_transfer_from() {
12651281
function test_send_from() {
12661282
set -e
12671283
local contract_addr="$1"
1284+
local skip_register_receiver="$2"
12681285

12691286
log_test_header
12701287

1271-
local receiver_addr
1272-
receiver_addr="$(create_receiver_contract)"
1273-
# receiver_addr='secret17k8qt6aqd7eee3fawmtvy4vu6teqx8d7mdm49x'
1274-
register_receiver "$receiver_addr" "$contract_addr"
1288+
local receiver_addr="$(create_receiver_contract)"
1289+
local receiver_hash="$(secretcli q compute contract-hash $receiver_addr | sed 's/^0x//')"
1290+
1291+
if [ "$skip_register_receiver" != "true" ]; then
1292+
register_receiver "$receiver_addr" "$contract_addr"
1293+
fi
12751294

12761295
local tx_hash
12771296

@@ -1322,7 +1341,13 @@ function test_send_from() {
13221341
log 'sending funds from "a", using "b", to the Receiver, with message to the Receiver'
13231342
local receiver_msg='{"increment":{}}'
13241343
receiver_msg="$(base64 <<<"$receiver_msg")"
1325-
local send_message='{"send_from":{"owner":"'"${ADDRESS[a]}"'","recipient":"'"$receiver_addr"'","amount":"400000","msg":"'$receiver_msg'"}}'
1344+
1345+
if [ "$skip_register_receiver" = "true" ]; then
1346+
send_message='{"send_from":{"owner":"'"${ADDRESS[a]}"'","recipient":"'"$receiver_addr"'","recipient_code_hash":"'"$receiver_hash"'","amount":"400000","msg":"'$receiver_msg'"}}'
1347+
else
1348+
send_message='{"send_from":{"owner":"'"${ADDRESS[a]}"'","recipient":"'"$receiver_addr"'","amount":"400000","msg":"'$receiver_msg'"}}'
1349+
fi
1350+
13261351
local send_response
13271352
tx_hash="$(compute_execute "$contract_addr" "$send_message" ${FROM[b]} --gas 302000)"
13281353
send_response="$(wait_for_compute_tx "$tx_hash" 'waiting for send from "a" to the Receiver to process')"
@@ -1377,7 +1402,13 @@ function test_send_from() {
13771402
log 'sending funds from "a", using "b", to the Receiver, with a "Fail" message to the Receiver'
13781403
receiver_msg='{"fail":{}}'
13791404
receiver_msg="$(base64 <<<"$receiver_msg")"
1380-
send_message='{"send_from":{"owner":"'"${ADDRESS[a]}"'", "recipient":"'"$receiver_addr"'","amount":"400000","msg":"'$receiver_msg'"}}'
1405+
1406+
if [ "$skip_register_receiver" = "true" ]; then
1407+
send_message='{"send_from":{"owner":"'"${ADDRESS[a]}"'","recipient":"'"$receiver_addr"'","recipient_code_hash":"'"$receiver_hash"'","amount":"400000","msg":"'$receiver_msg'"}}'
1408+
else
1409+
send_message='{"send_from":{"owner":"'"${ADDRESS[a]}"'","recipient":"'"$receiver_addr"'","amount":"400000","msg":"'$receiver_msg'"}}'
1410+
fi
1411+
13811412
tx_hash="$(compute_execute "$contract_addr" "$send_message" ${FROM[b]} --gas 300000)"
13821413
# Notice the `!` before the command - it is EXPECTED to fail.
13831414
! send_response="$(wait_for_compute_tx "$tx_hash" 'waiting for send from "a" to the Receiver to process')"
@@ -1421,9 +1452,11 @@ function main() {
14211452
test_deposit "$contract_addr"
14221453
test_transfer "$contract_addr"
14231454
test_send "$contract_addr"
1455+
test_send "$contract_addr" true
14241456
test_burn "$contract_addr"
14251457
test_transfer_from "$contract_addr"
14261458
test_send_from "$contract_addr"
1459+
test_send_from "$contract_addr" true
14271460

14281461
log 'Tests completed successfully'
14291462

0 commit comments

Comments
 (0)