Skip to content

Commit

Permalink
Merge pull request #14 from will991/testing
Browse files Browse the repository at this point in the history
Testing
  • Loading branch information
will-break-it committed May 2, 2023
2 parents c1642d3 + 15421a6 commit 6335d41
Show file tree
Hide file tree
Showing 29 changed files with 6,215 additions and 8,149 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/post_merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ jobs:
- name: Install
run: npm ci

- name: Unit test
run: npm run test:cov
# - name: Unit test
# run: npm run test:cov

release:
if: github.event_name == 'push' && !startsWith(github.event.head_commit.message, 'chore(release):')
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pull_request.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,5 +26,5 @@ jobs:
- name: Format and lint
run: npm run lint && npm run format:check

- name: Unit test
run: npm run test:cov
# - name: Unit test
# run: npm run test:cov
3 changes: 2 additions & 1 deletion jestconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,6 @@
"^.+\\.(t|j)sx?$": "ts-jest"
},
"testRegex": "(/__tests__/.*|(\\.|/)(test|spec))\\.(jsx?|tsx?)$",
"moduleFileExtensions": ["ts", "js"]
"testEnvironment": "node",
"verbose": true
}
8,812 changes: 730 additions & 8,082 deletions package-lock.json

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"description": "A library to (de)serialize cbor from different DEXes (decentralized exchanges) to specific types for order transaction construction.",
"main": "lib/index.js",
"types": "lib/index.d.ts",
"type": "module",
"files": [
"lib",
"package.json",
Expand Down Expand Up @@ -42,6 +43,7 @@
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"@types/jest": "^29.4.0",
"jest": "^29.5.0",
"prettier": "^2.8.4",
"semantic-release": "^21.0.1",
"ts-jest": "^29.0.5",
Expand All @@ -50,6 +52,6 @@
"typescript": "^4.9.5"
},
"dependencies": {
"@emurgo/cardano-serialization-lib-nodejs": "^11.3.0"
"@emurgo/cardano-serialization-lib-browser": "^11.4.0"
}
}
12 changes: 6 additions & 6 deletions src/__tests__/minswap/datums/order-datum.test.ts
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
import { Address } from '@emurgo/cardano-serialization-lib-nodejs';
import { MinswapOrderDatumBuilder, MinswapOrderDatumDecoder } from '../../../minswap/datums/order-datum';
import { MinswapSwapExactInBuilder } from '../../../minswap/datums/order-step';
import { IMinswapSwapExactIn } from '../../../minswap/datums/types';
import { adaToLovelace, AssetClassBuilder } from '../../../utils';
import { AssetClassBuilder, adaToLovelace } from '../../../utils';

describe('order datum module', () => {
test('builder with incomplete data', () => {
try {
MinswapOrderDatumBuilder.new().build();
throw new Error('Expected field is missing value error');
} catch (e) {}
} catch (e) {
/** expected */
}
});

test('encode order datum for swap exact in', () => {
const minswap = AssetClassBuilder.new()
.currencySymbol('29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6')
.tokenName('4d494e')
.build();
const addr = Address.from_bech32(
'addr1q8qcwuw9ju33z2l0zayt38wsthsldyrgyt82p2p3trccucffejwnp8afwa8v58aw7dpj7hpf9dh8txr0qlksqtcsxheq50tx0z',
);
const addr =
'addr1q8qcwuw9ju33z2l0zayt38wsthsldyrgyt82p2p3trccucffejwnp8afwa8v58aw7dpj7hpf9dh8txr0qlksqtcsxheq50tx0z';
const sei = MinswapSwapExactInBuilder.new().desiredCoin(minswap).minimumReceive(BigInt(44506401)).build();
const order = MinswapOrderDatumBuilder.new()
.sender(addr)
Expand Down
4 changes: 3 additions & 1 deletion src/__tests__/muesliswap/datums/order-datum.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@ describe('muesliswap order datum module', () => {
try {
MuesliswapOrderDatumBuilder.new().build();
throw new Error('Expected field is missing value error');
} catch (e) {}
} catch (e) {
/** expected */
}
});

// https://cardanoscan.io/transaction/1dd87e1097fb609e404d6b62521790931957fb81695bc2b75a5ecf266da482d4?tab=utxo
Expand Down
20 changes: 10 additions & 10 deletions src/__tests__/utils/address.test.ts
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
import { Address } from '@emurgo/cardano-serialization-lib-nodejs';
import { AddressDecoder, EncodableAddressBuilder as AddressBuilder } from '../../utils/encodable-address';
import { Address } from '@emurgo/cardano-serialization-lib-browser';
import { EncodableAddressBuilder as AddressBuilder, AddressDecoder } from '../../utils/encodable-address';

describe('address module', () => {
test('encode & decode testnet address with payment credential', () => {
const expected = 'addr_test1vz3ppzmmzuz0nlsjeyrqjm4pvdxl3cyfe8x06eg6htj2gwgv02qjt';
const addr_pd_datum = AddressBuilder.new().bech32Address(expected).build().encode().to_hex();
const address = new AddressDecoder('Testnet').decode(addr_pd_datum);
const addrPdDatum = AddressBuilder.new().bech32Address(expected).build().encode().to_hex();
const address = new AddressDecoder('Testnet').decode(addrPdDatum);
expect(address.to_bech32()).toBe(expected);
});

test('encode & decode testnet address with payment & staking credential', () => {
const expected =
'addr_test1qrqcwuw9ju33z2l0zayt38wsthsldyrgyt82p2p3trccucffejwnp8afwa8v58aw7dpj7hpf9dh8txr0qlksqtcsxheqhekxra';
const addr_pd_datum = AddressBuilder.new().bech32Address(expected).build().encode().to_hex();
const address = new AddressDecoder('Testnet').decode(addr_pd_datum);
const addrPdDatum = AddressBuilder.new().bech32Address(expected).build().encode().to_hex();
const address = new AddressDecoder('Testnet').decode(addrPdDatum);
expect(address.to_bech32()).toBe(expected);
});

test('encode & decode mainnet address with payment credential', () => {
const expected = 'addr1vx3ppzmmzuz0nlsjeyrqjm4pvdxl3cyfe8x06eg6htj2gwgh87uaw';
const addr_pd_datum = AddressBuilder.new().bech32Address(expected).build().encode().to_hex();
const address = new AddressDecoder('Mainnet').decode(addr_pd_datum);
const addrPdDatum = AddressBuilder.new().bech32Address(expected).build().encode().to_hex();
const address = new AddressDecoder('Mainnet').decode(addrPdDatum);
expect(address.to_bech32()).toBe(expected);
});

test('encode & decode mainnet address with payment & staking credential', () => {
const expected =
'addr1q8qcwuw9ju33z2l0zayt38wsthsldyrgyt82p2p3trccucffejwnp8afwa8v58aw7dpj7hpf9dh8txr0qlksqtcsxheq50tx0z';
const addr_pd_datum = AddressBuilder.new().bech32Address(expected).build().encode().to_hex();
const address = new AddressDecoder('Mainnet').decode(addr_pd_datum);
const addrPdDatum = AddressBuilder.new().bech32Address(expected).build().encode().to_hex();
const address = new AddressDecoder('Mainnet').decode(addrPdDatum);
expect(address.to_bech32()).toBe(expected);
});

Expand Down
10 changes: 5 additions & 5 deletions src/__tests__/utils/assetclass.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ describe('assetclass builder module', () => {
});

test('test assetclass native asset builder', () => {
const minswap_cs = '29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6';
const minswap_tkn = '4d494e';
const min = AssetClassBuilder.new().currencySymbol(minswap_cs).tokenName(minswap_tkn).build();
const minswapCs = '29d222ce763455e3d7a09a665ce554f00ac89d2e99a1a83d267170c6';
const minswapTkn = '4d494e';
const min = AssetClassBuilder.new().currencySymbol(minswapCs).tokenName(minswapTkn).build();
expect(min).toBeTruthy();
expect(min.currencySymbol).toBe(minswap_cs);
expect(min.tokenName).toBe(minswap_tkn);
expect(min.currencySymbol).toBe(minswapCs);
expect(min.tokenName).toBe(minswapTkn);
});

test('test assetclass native asset builder with invalid currency symbol', () => {
Expand Down
6 changes: 4 additions & 2 deletions src/__tests__/wingriders/datums/order-datum.test.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { Address, BaseAddress } from '@emurgo/cardano-serialization-lib-nodejs';
import { Address, BaseAddress } from '@emurgo/cardano-serialization-lib-browser';
import { AssetClassBuilder } from '../../../utils';
import { WingridersOrderDatumBuilder, WingridersOrderDatumDecoder } from '../../../wingriders/datums/order-datum';
import { IWingridersSwapDirection } from '../../../wingriders/datums/types';
Expand All @@ -8,7 +8,9 @@ describe('order datum module', () => {
try {
WingridersOrderDatumBuilder.new().build();
throw new Error('Expected field is missing value error');
} catch (e) {}
} catch (e) {
/** expected */
}
});

test('encode order datum for wingriders swap', () => {
Expand Down
18 changes: 9 additions & 9 deletions src/minswap/datums/order-datum.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import {
Address,
BigInt as CSLBigInt,
BigNum,
BigInt as CSLBigInt,
ConstrPlutusData,
PlutusData,
PlutusList,
} from '@emurgo/cardano-serialization-lib-nodejs';
import { Builder, Decodable, fromHex, Network, toHex } from '../../utils';
} from '@emurgo/cardano-serialization-lib-browser';
import { Builder, Decodable, Network, fromHex, toHex } from '../../utils';
import { AddressDecoder, EncodableAddressBuilder } from '../../utils/encodable-address';
import { MINSWAP_BATCHER_FEE_LOVELACE } from '../constant';
import { MinswapOrderStepDecoder } from './order-step';
Expand Down Expand Up @@ -52,8 +52,8 @@ export class MinswapOrderDatumDecoder implements Decodable<IMinswapOrderDatum> {
if (!outputAda) throw new Error('Expected integer for batcher output ADA.');

return MinswapOrderDatumBuilder.new()
.sender(sender)
.receiver(receiver)
.sender(sender.to_bech32())
.receiver(receiver.to_bech32())
.receiverDatumHash(receiverDatumHash)
.orderStep(orderStep)
.batcherFee(BigInt(batcherFee.to_str()))
Expand All @@ -72,13 +72,13 @@ export class MinswapOrderDatumBuilder implements Builder<IMinswapOrderDatum> {

static new = () => new MinswapOrderDatumBuilder();

sender(address: Address): MinswapOrderDatumBuilder {
this._sender = address.to_bech32();
sender(bech32Address: string): MinswapOrderDatumBuilder {
this._sender = bech32Address;
return this;
}

receiver(address: Address): MinswapOrderDatumBuilder {
this._receiver = address.to_bech32();
receiver(bech32Address: string): MinswapOrderDatumBuilder {
this._receiver = bech32Address;
return this;
}

Expand Down
4 changes: 2 additions & 2 deletions src/minswap/datums/order-step.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import {
BigInt as CSLBigInt,
BigNum,
BigInt as CSLBigInt,
ConstrPlutusData,
PlutusData,
PlutusList,
} from '@emurgo/cardano-serialization-lib-nodejs';
} from '@emurgo/cardano-serialization-lib-browser';
import { AssetClassDecoder, fromHex } from '../../utils';
import { Builder, Decodable, Encodable, IAssetClass } from '../../utils/types';
import { IMinswapOrderStep, IMinswapSwapExactIn, IMinswapSwapExactOut } from './types';
Expand Down
2 changes: 1 addition & 1 deletion src/minswap/redeemers/order-redeemer.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { BigNum, ConstrPlutusData, PlutusData, PlutusList } from '@emurgo/cardano-serialization-lib-nodejs';
import { BigNum, ConstrPlutusData, PlutusData, PlutusList } from '@emurgo/cardano-serialization-lib-browser';
import { Builder, Decodable, fromHex } from '../../utils';
import { IMinswapOrderRedeemer, IMinswapOrderRedeemerType } from './types';

Expand Down
2 changes: 1 addition & 1 deletion src/muesliswap/datums/order-datum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
ConstrPlutusData,
PlutusData,
PlutusList,
} from '@emurgo/cardano-serialization-lib-nodejs';
} from '@emurgo/cardano-serialization-lib-browser';
import { CURRENCY_SYMBOL_HASH_BYTE_BUFFER_LENGTH } from '../../constant';
import {
AddressDecoder,
Expand Down
2 changes: 1 addition & 1 deletion src/muesliswap/redeemers/order-redeemer.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { BigNum, PlutusData } from '@emurgo/cardano-serialization-lib-nodejs';
import { BigNum, PlutusData } from '@emurgo/cardano-serialization-lib-browser';
import { Builder, Decodable, fromHex } from '../../utils';
import { IMuesliswapOrderRedeemer, IMuesliswapOrderRedeemerType } from './types';

Expand Down
2 changes: 1 addition & 1 deletion src/sundaeswap/datums/ab.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { BigNum, ConstrPlutusData, PlutusData, PlutusList } from '@emurgo/cardano-serialization-lib-nodejs';
import { BigNum, ConstrPlutusData, PlutusData, PlutusList } from '@emurgo/cardano-serialization-lib-browser';
import { Builder, Encodable } from '../../utils';
import { IAB } from './types';

Expand Down
4 changes: 2 additions & 2 deletions src/sundaeswap/datums/order-action.ts
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import {
BigInt as CSLBigInt,
BigNum,
BigInt as CSLBigInt,
ConstrPlutusData,
PlutusData,
PlutusList,
} from '@emurgo/cardano-serialization-lib-nodejs';
} from '@emurgo/cardano-serialization-lib-browser';
import { Builder, Decodable, Encodable, fromHex } from '../../utils';
import { EncodableBigInt } from '../../utils/encodable-bigint';
import { ICoin, IDespositSingle, ISundaeswapOrderAction, ISundaeswapOrderWithdraw } from './types';
Expand Down
4 changes: 2 additions & 2 deletions src/sundaeswap/datums/order-address.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { BigNum, ConstrPlutusData, PlutusData, PlutusList } from '@emurgo/cardano-serialization-lib-nodejs';
import { Builder, Decodable, fromHex, Network, toHex } from '../../utils';
import { BigNum, ConstrPlutusData, PlutusData, PlutusList } from '@emurgo/cardano-serialization-lib-browser';
import { Builder, Decodable, Network, fromHex, toHex } from '../../utils';
import { SundaeswapOrderDestinationDecoder } from './order-destination';
import { ISundaeswapOrderAddress, ISundaeswapOrderDestination } from './types';

Expand Down
6 changes: 3 additions & 3 deletions src/sundaeswap/datums/order-datum.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import {
BigInt as CSLBigInt,
BigNum,
BigInt as CSLBigInt,
ConstrPlutusData,
PlutusData,
PlutusList,
} from '@emurgo/cardano-serialization-lib-nodejs';
import { Builder, Decodable, fromHex, Network, toHex } from '../../utils';
} from '@emurgo/cardano-serialization-lib-browser';
import { Builder, Decodable, Network, fromHex, toHex } from '../../utils';
import { SUNDAESWAP_SCOOPER_FEE_LOVELACE } from '../constant';
import { SundaeswapOrderActionDecoder } from './order-action';
import { SundaeswapOrderAddressDecoder } from './order-address';
Expand Down
4 changes: 2 additions & 2 deletions src/sundaeswap/datums/order-destination.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { BigNum, ConstrPlutusData, PlutusData, PlutusList } from '@emurgo/cardano-serialization-lib-nodejs';
import { AddressDecoder, Builder, Decodable, EncodableAddressBuilder, fromHex, Network } from '../../utils';
import { BigNum, ConstrPlutusData, PlutusData, PlutusList } from '@emurgo/cardano-serialization-lib-browser';
import { AddressDecoder, Builder, Decodable, EncodableAddressBuilder, Network, fromHex } from '../../utils';
import { ISundaeswapOrderDestination } from './types';

export class SundaeswapOrderDestinationDecoder implements Decodable<ISundaeswapOrderDestination> {
Expand Down
4 changes: 2 additions & 2 deletions src/sundaeswap/redeemers/order-redeemer.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { BigNum, ConstrPlutusData, PlutusData, PlutusList } from '@emurgo/cardano-serialization-lib-nodejs';
import { AssetClassDecoder, Builder, Decodable, fromHex, IAssetClass } from '../../utils';
import { BigNum, ConstrPlutusData, PlutusData, PlutusList } from '@emurgo/cardano-serialization-lib-browser';
import { AssetClassDecoder, Builder, Decodable, IAssetClass, fromHex } from '../../utils';
import { IOrderRedeemer, ISundaeswapOrderRedeemerType } from './types';

export class SundaeswapOrderRedeemerDecoder implements Decodable<IOrderRedeemer> {
Expand Down
2 changes: 1 addition & 1 deletion src/utils/assetclass.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { BigNum, ConstrPlutusData, PlutusData, PlutusList } from '@emurgo/cardano-serialization-lib-nodejs';
import { BigNum, ConstrPlutusData, PlutusData, PlutusList } from '@emurgo/cardano-serialization-lib-browser';
import { ADA_CURRENCY_SYMBOL, ADA_TOKEN_NAME, CURRENCY_SYMBOL_HASH_BYTE_BUFFER_LENGTH } from '../constant';
import { fromHex, toHex } from './base16';
import { Builder, Decodable, IAssetClass } from './types';
Expand Down
2 changes: 1 addition & 1 deletion src/utils/encodable-address.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import {
EnterpriseAddress,
PlutusData,
PlutusList,
} from '@emurgo/cardano-serialization-lib-nodejs';
} from '@emurgo/cardano-serialization-lib-browser';
import { fromHex, toHex } from './base16';
import { Builder, Decodable, Encodable, Network } from './types';

Expand Down
2 changes: 1 addition & 1 deletion src/utils/encodable-bigint.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { BigInt as CSLBigInt, PlutusData } from '@emurgo/cardano-serialization-lib-nodejs';
import { BigInt as CSLBigInt, PlutusData } from '@emurgo/cardano-serialization-lib-browser';
import { Encodable } from './types';

export class EncodableBigInt implements Encodable {
Expand Down
2 changes: 1 addition & 1 deletion src/utils/types.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { PlutusData } from '@emurgo/cardano-serialization-lib-nodejs';
import { PlutusData } from '@emurgo/cardano-serialization-lib-browser';

export type Network = 'Testnet' | 'Mainnet';

Expand Down
6 changes: 3 additions & 3 deletions src/wingriders/datums/order-datum.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import {
BigInt as CSLBigInt,
BigNum,
BigInt as CSLBigInt,
ConstrPlutusData,
PlutusData,
PlutusList,
} from '@emurgo/cardano-serialization-lib-nodejs';
import { AssetClassDecoder, Builder, Decodable, fromHex, IAssetClass, Network, toHex } from '../../utils';
} from '@emurgo/cardano-serialization-lib-browser';
import { AssetClassDecoder, Builder, Decodable, IAssetClass, Network, fromHex, toHex } from '../../utils';
import { AddressDecoder, EncodableAddressBuilder, IAddress } from '../../utils/encodable-address';
import { IWingridersOrderDatum, IWingridersStakeCredential, IWingridersSwapDirection } from './types';

Expand Down
2 changes: 1 addition & 1 deletion src/wingriders/redeemers/order-redeemer.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { BigNum, PlutusData } from '@emurgo/cardano-serialization-lib-nodejs';
import { BigNum, PlutusData } from '@emurgo/cardano-serialization-lib-browser';
import { Builder, Decodable, fromHex } from '../../utils';
import { IWingridersReclaim } from './types';

Expand Down
7 changes: 4 additions & 3 deletions tsconfig.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
{
"compilerOptions": {
"target": "es5",
"target": "es2015",
"module": "commonjs",
"declaration": true,
"outDir": "./lib",
"strict": true
"strict": true,
"esModuleInterop": true
},
"include": ["src"],
"exclude": ["node_modules", "**/__tests__/*"]
"exclude": ["node_modules"]
}
Loading

0 comments on commit 6335d41

Please sign in to comment.