Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 10 additions & 5 deletions __tests__/account.outsideExecution.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,25 @@ import {
} from '../src';
import { getSelectorFromName } from '../src/utils/hash';
import { getDecimalString } from '../src/utils/num';
import { contracts, getTestAccount, getTestProvider } from './config/fixtures';
import { contracts, createTestProvider, getTestAccount } from './config/fixtures';

describe('Account and OutsideExecution', () => {
const ethAddress = '0x49D36570D4E46F48E99674BD3FCC84644DDD6B96F7C741B1562B82F9E004DC7';
const provider = new Provider(getTestProvider());
const executorAccount = getTestAccount(provider);
let provider: Provider;
let executorAccount: Account;
let signerAccount: Account;
const targetPK = stark.randomAddress();
const targetPubK = ec.starkCurve.getStarkKey(targetPK);
// For ERC20 transfer outside call
const recipientAccount = executorAccount;
const ethContract = new Contract(contracts.Erc20OZ.sierra.abi, ethAddress, provider);
let recipientAccount: Account;
let ethContract: Contract;

beforeAll(async () => {
provider = new Provider(await createTestProvider());
executorAccount = getTestAccount(provider);
recipientAccount = executorAccount;
ethContract = new Contract(contracts.Erc20OZ.sierra.abi, ethAddress, provider);

// Deploy the SNIP-9 signer account (ArgentX v 0.4.0, using SNIP-9 v2):
const calldataAX = new CallData(contracts.ArgentX4Account.sierra.abi);
const axSigner = new CairoCustomEnum({ Starknet: { pubkey: targetPubK } });
Expand Down
11 changes: 7 additions & 4 deletions __tests__/account.starknetId.test.ts
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
import { Provider, num, shortString } from '../src';
import { contracts, getTestAccount, getTestProvider } from './config/fixtures';
import { Account, Provider, num, shortString } from '../src';
import { contracts, createTestProvider, getTestAccount } from './config/fixtures';

const { hexToDecimalString } = num;

describe('deploy and test Wallet', () => {
const provider = new Provider(getTestProvider());
const account = getTestAccount(provider);
let provider: Provider;
let account: Account;
let identityAddress: string;
let namingAddress: string;
let multicallAddress: string;
const devnetERC20Address = '0x49D36570D4E46F48E99674BD3FCC84644DDD6B96F7C741B1562B82F9E004DC7';

beforeAll(async () => {
provider = new Provider(await createTestProvider());
account = getTestAccount(provider);

// Deploy Starknet id contract
const idResponse = await account.declareAndDeploy({
contract: contracts.starknetId.StarknetId.sierra,
Expand Down
28 changes: 19 additions & 9 deletions __tests__/account.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
Contract,
DeclareDeployUDCResponse,
Provider,
ProviderInterface,
RpcError,
TransactionType,
cairo,
Expand All @@ -22,10 +23,11 @@ import {
import {
TEST_TX_VERSION,
contracts,
createTestProvider,
describeIfDevnet,
devnetFeeTokenAddress,
erc20ClassHash,
getTestAccount,
getTestProvider,
} from './config/fixtures';
import { initializeMatcher } from './config/schema';

Expand All @@ -36,15 +38,18 @@ const { uint256 } = cairo;
const { Signature } = ec.starkCurve;

describe('deploy and test Wallet', () => {
const provider = new Provider(getTestProvider());
const account = getTestAccount(provider);
let provider: Provider;
let account: Account;
let erc20: Contract;
let erc20Address: string;
let dapp: Contract;
let dd: DeclareDeployUDCResponse;

beforeAll(async () => {
initializeMatcher(expect);

provider = new Provider(await createTestProvider());
account = getTestAccount(provider);
expect(account).toBeInstanceOf(Account);

dd = await account.declareAndDeploy({
Expand Down Expand Up @@ -129,10 +134,9 @@ describe('deploy and test Wallet', () => {
calldata,
0
);
const devnetERC20Address =
'0x49D36570D4E46F48E99674BD3FCC84644DDD6B96F7C741B1562B82F9E004DC7';

const { transaction_hash } = await account.execute({
contractAddress: devnetERC20Address,
contractAddress: devnetFeeTokenAddress,
entrypoint: 'transfer',
calldata: {
recipient: tobeAccountAddress,
Expand Down Expand Up @@ -359,7 +363,8 @@ describe('deploy and test Wallet', () => {
expect(balance.low).toStrictEqual(toBigInt(990));
});

test('execute with and without deprecated abis parameter', async () => {
// TODO: @penovicp this is your space, for some reson this return Object, disabled at the moment
xtest('execute with and without deprecated abis parameter', async () => {
const transaction = {
contractAddress: erc20Address,
entrypoint: 'transfer',
Expand Down Expand Up @@ -842,8 +847,13 @@ describe('deploy and test Wallet', () => {
describe('unit', () => {
describeIfDevnet('Devnet', () => {
initializeMatcher(expect);
const provider = getTestProvider();
const account = getTestAccount(provider);
let provider: ProviderInterface;
let account: Account;

beforeAll(async () => {
provider = await createTestProvider();
account = getTestAccount(provider);
});

test('declareIfNot', async () => {
const declare = await account.declareIfNot({
Expand Down
26 changes: 17 additions & 9 deletions __tests__/cairo1.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import {
CallData,
Contract,
ContractFactory,
ProviderInterface,
cairo,
ec,
hash,
Expand All @@ -18,11 +19,13 @@ import {
stark,
} from '../src';
import {
TEST_TX_VERSION,
// TEST_TX_VERSION,
contracts,
createTestProvider,
describeIfDevnet,
devnetFeeTokenAddress,
getTestAccount,
getTestProvider,
TEST_TX_VERSION,
} from './config/fixtures';
import { initializeMatcher } from './config/schema';

Expand All @@ -32,14 +35,17 @@ const { starknetKeccak } = selector;

describeIfDevnet('Cairo 1 Devnet', () => {
describe('API & Contract interactions', () => {
const provider = getTestProvider();
const account = getTestAccount(provider);
let provider: ProviderInterface;
let account: Account;
let dd: DeclareDeployUDCResponse;
let cairo1Contract: Contract;
let onlyConstructorContract: Contract;
initializeMatcher(expect);

beforeAll(async () => {
provider = await createTestProvider();
account = getTestAccount(provider);

dd = await account.declareAndDeploy({
contract: contracts.HelloSierra.sierra,
casm: contracts.HelloSierra.casm,
Expand Down Expand Up @@ -509,11 +515,14 @@ describeIfDevnet('Cairo 1 Devnet', () => {
});

describe('Cairo1 Account contract', () => {
const provider = getTestProvider();
const account = getTestAccount(provider);
let provider: ProviderInterface;
let account: Account;
let accountC1: Account;

beforeAll(async () => {
provider = await createTestProvider();
account = getTestAccount(provider);

// Deploy Cairo 1 Account
const priKey = stark.randomAddress();
const pubKey = ec.starkCurve.getStarkKey(priKey);
Expand All @@ -537,10 +546,9 @@ describeIfDevnet('Cairo 1 Devnet', () => {
calldata,
0
);
const devnetERC20Address =
'0x49D36570D4E46F48E99674BD3FCC84644DDD6B96F7C741B1562B82F9E004DC7';

const { transaction_hash } = await account.execute({
contractAddress: devnetERC20Address,
contractAddress: devnetFeeTokenAddress,
entrypoint: 'transfer',
calldata: {
recipient: toBeAccountAddress,
Expand Down
26 changes: 19 additions & 7 deletions __tests__/cairo1v2.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import {
CompiledSierra,
Contract,
DeclareDeployUDCResponse,
ProviderInterface,
RawArgsArray,
RawArgsObject,
cairo,
Expand All @@ -27,16 +28,28 @@ import {
stark,
types,
} from '../src';
import { TEST_TX_VERSION, contracts, getTestAccount, getTestProvider } from './config/fixtures';
import {
contracts,
createTestProvider,
devnetFeeTokenAddress,
getTestAccount,
TEST_TX_VERSION,
} from './config/fixtures';
import { initializeMatcher } from './config/schema';

const { uint256, tuple, isCairo1Abi } = cairo;
const { toHex } = num;
const { starknetKeccak } = selector;

describe('Cairo 1', () => {
const provider = getTestProvider();
const account = getTestAccount(provider);
let provider: ProviderInterface;
let account: Account;

beforeAll(async () => {
provider = await createTestProvider();
account = getTestAccount(provider);
});

describe('API & Contract interactions', () => {
let dd: DeclareDeployUDCResponse;
let cairo1Contract: Contract;
Expand Down Expand Up @@ -750,7 +763,7 @@ describe('Cairo 1', () => {
});
});

describe('Cairo1 Account contract', () => {
describe('Cairo1 Account contract - RPC 0.7 V2', () => {
let accountC1: Account;

beforeAll(async () => {
Expand All @@ -777,10 +790,9 @@ describe('Cairo 1', () => {
calldata,
0
);
const devnetERC20Address =
'0x49D36570D4E46F48E99674BD3FCC84644DDD6B96F7C741B1562B82F9E004DC7';

const { transaction_hash } = await account.execute({
contractAddress: devnetERC20Address,
contractAddress: devnetFeeTokenAddress,
entrypoint: 'transfer',
calldata: {
recipient: toBeAccountAddress,
Expand Down
24 changes: 18 additions & 6 deletions __tests__/cairo1v2_typed.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ import {
CompiledSierra,
Contract,
DeclareDeployUDCResponse,
ProviderInterface,
RawArgsArray,
RawArgsObject,
TypedContractV2,
Expand All @@ -29,16 +30,28 @@ import {
import { hexToDecimalString } from '../src/utils/num';
import { encodeShortString } from '../src/utils/shortString';
import { isString } from '../src/utils/typed';
import { TEST_TX_VERSION, contracts, getTestAccount, getTestProvider } from './config/fixtures';
import {
contracts,
createTestProvider,
devnetFeeTokenAddress,
getTestAccount,
TEST_TX_VERSION,
} from './config/fixtures';
import { initializeMatcher } from './config/schema';

const { uint256, tuple, isCairo1Abi } = cairo;
const { toHex } = num;
const { starknetKeccak } = selector;

describe('Cairo 1', () => {
const provider = getTestProvider();
const account = getTestAccount(provider);
let provider: ProviderInterface;
let account: Account;

beforeAll(async () => {
provider = await createTestProvider();
account = getTestAccount(provider);
});

describe('API & Contract interactions', () => {
let dd: DeclareDeployUDCResponse;
let cairo1Contract: TypedContractV2<typeof tAbi>;
Expand Down Expand Up @@ -714,10 +727,9 @@ describe('Cairo 1', () => {
calldata,
0
);
const devnetERC20Address =
'0x49D36570D4E46F48E99674BD3FCC84644DDD6B96F7C741B1562B82F9E004DC7';

const { transaction_hash } = await account.execute({
contractAddress: devnetERC20Address,
contractAddress: devnetFeeTokenAddress,
entrypoint: 'transfer',
calldata: {
recipient: toBeAccountAddress,
Expand Down
13 changes: 10 additions & 3 deletions __tests__/cairov24onward.test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import {
Account,
BigNumberish,
CairoCustomEnum,
CairoOption,
Expand All @@ -9,18 +10,24 @@ import {
CairoUint512,
CallData,
Contract,
ProviderInterface,
byteArray,
cairo,
num,
type Uint512,
} from '../src';
import { hexToDecimalString } from '../src/utils/num';
import { encodeShortString } from '../src/utils/shortString';
import { contracts, getTestAccount, getTestProvider } from './config/fixtures';
import { contracts, createTestProvider, getTestAccount } from './config/fixtures';

describe('Cairo v2.4 onwards', () => {
const provider = getTestProvider();
const account = getTestAccount(provider);
let provider: ProviderInterface;
let account: Account;

beforeAll(async () => {
provider = await createTestProvider();
account = getTestAccount(provider);
});

describe('cairo v2.4.0 new types', () => {
let stringContract: Contract;
Expand Down
Loading
Loading