Skip to content

Commit

Permalink
Merge pull request #63 from nearprotocol/update-hello-contract
Browse files Browse the repository at this point in the history
Update hello contract to latest version
  • Loading branch information
bowenwang1996 authored Aug 30, 2019
2 parents c4f05f5 + 33a6399 commit f8c8736
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 38 deletions.
62 changes: 28 additions & 34 deletions tests/near-bindgen/assembly/hello/main.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
// @nearfile out
// tslint:disable as-variables
//@nearfile out
import { context, storage, ContractPromise, near, logging } from "near-runtime-ts";

import { PromiseArgs, InputPromiseArgs, MyCallbackResult, MyContractPromiseResult } from "./model";
import { u128 } from 'bignum';

import { u128 } from "bignum";

export function hello(name: string): string {

Expand Down Expand Up @@ -146,48 +145,43 @@ export function callPromise(args: PromiseArgs): void {
let promise = ContractPromise.create(
args.receiver,
args.methodName,
//@ts-ignore
// tslint:disable-next-line: no-unsafe-any
inputArgs.serialize(),
inputArgs.encode().serialize(),
args.gas,
new u128(args.balance));
if (args.callback) {
inputArgs.args = args.callbackArgs;
let callbackBalance = new u128(args.callbackBalance as u64);
let callbackBalance = args.callbackBalance as u64;

promise = promise.then(
context.contractName,
args.callback,
"Method name", //TODO
//@ts-ignore
// tslint:disable-next-line: no-unsafe-any
inputArgs.serialize(),
//@ts-ignore
// tslint:disable-next-line: no-unsafe-any
callbackBalance
inputArgs.encode().serialize(),
args.callbackGas,
new u128(callbackBalance)
);
}
promise.returnAsResult();
}

// export function callbackWithName(args: PromiseArgs): MyCallbackResult {
// let contractResults = ContractPromise.getResults();
// let allRes = Array.create<MyContractPromiseResult>(contractResults.length);
// for (let i = 0; i < contractResults.length; ++i) {
// let res = contractResults[i];
// allRes[i] = new MyContractPromiseResult();
// allRes[i].ok = res.success;
// if (allRes[i].ok && res.buffer != null && res.buffer.length > 0) {
// allRes[i].r = decode<MyCallbackResult>(res.buffer);
// }
// }
// let result: MyCallbackResult = {
// rs: allRes,
// n: context.contractName,
// };
// let bytes = result.serialize();
// storage.setBytes("lastResult", bytes);
// return result;
// }
export function callbackWithName(args: PromiseArgs): MyCallbackResult {
let contractResults = ContractPromise.getResults();
let allRes = Array.create<MyContractPromiseResult>(contractResults.length);
for (let i = 0; i < contractResults.length; ++i) {
allRes[i] = new MyContractPromiseResult();
allRes[i].ok = (contractResults[i].status == 1);
if (allRes[i].ok && contractResults[i].buffer != null && contractResults[i].buffer.length > 0) {
allRes[i].r = MyCallbackResult.decode(contractResults[i].buffer);
}
}
let result: MyCallbackResult = {
rs: allRes,
n: context.contractName,
};
let bytes = result.encode().serialize();
storage.setBytes("lastResult", bytes);
return result;
}

export function getLastResult(): MyCallbackResult {
return MyCallbackResult.decode(storage.getBytes("lastResult"));
}

7 changes: 3 additions & 4 deletions tests/near-bindgen/assembly/hello/model.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
// @nearfile out

//@nearfile out
export class PromiseArgs {
receiver: string;
methodName: string;
args: PromiseArgs;
gas: i32;
balance: i32;
callback: string;
callbackArgs: PromiseArgs;
callbackBalance: i32;
isbool: bool;
str: string;
callbackGas: i32;
}

export class InputPromiseArgs {
Expand Down

0 comments on commit f8c8736

Please sign in to comment.