Add support for built-in contracts

This commit is contained in:
Michael Vines
2018-09-18 12:46:59 -07:00
parent 7dad281f69
commit a96ab72e8e
6 changed files with 445 additions and 35 deletions

View File

@ -0,0 +1,39 @@
// @flow
import {Account} from '../src/account';
import {BudgetContract} from '../src/budget-contract';
test('pay', () => {
const from = new Account();
const contract = new Account();
const to = new Account();
let transaction;
transaction = BudgetContract.pay(
from.publicKey,
contract.publicKey,
to.publicKey,
123,
);
console.log('Pay:', transaction);
transaction = BudgetContract.pay(
from.publicKey,
contract.publicKey,
to.publicKey,
123,
BudgetContract.signatureCondition(from.publicKey),
);
console.log('After:', transaction);
transaction = BudgetContract.pay(
from.publicKey,
contract.publicKey,
to.publicKey,
123,
BudgetContract.signatureCondition(from.publicKey),
BudgetContract.timestampCondition(from.publicKey, new Date()),
);
console.log('Or:', transaction);
});

View File

@ -2,7 +2,7 @@
import {Account} from '../src/account';
import {Connection} from '../src/connection';
import {TransferTokensTransaction} from '../src/transaction';
import {SystemContract} from '../src/system-contract';
import {mockRpc} from './__mocks__/node-fetch';
const url = 'http://testnet.solana.com:8899';
@ -274,7 +274,7 @@ test('transaction', async () => {
]
);
const transaction = new TransferTokensTransaction(
const transaction = SystemContract.move(
accountFrom.publicKey,
accountTo.publicKey,
10