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
8 changes: 2 additions & 6 deletions packages/testing/demo_usd/sources/demo_usd.move
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ use pas::templates::Templates;
use pas::transfer_funds::TransferFunds;
use ptb::ptb;
use std::type_name;
use sui::accumulator::AccumulatorRoot;
use sui::balance::Balance;
use sui::clock::Clock;
use sui::coin::TreasuryCap;
Expand Down Expand Up @@ -105,7 +104,7 @@ public fun use_v2(rule: &mut Rule<DEMO_USD>, templates: &mut Templates, faucet:
type_name::with_defining_ids<DEMO_USD>().address_string().to_string(),
"demo_usd",
"approve_transfer_v2",
vector[ptb::ext_input("pas:request"), ptb::object_by_id(@0xacc.to_id())],
vector[ptb::ext_input("pas:request"), ptb::object_by_id(object::id(faucet))],
vector[],
);

Expand All @@ -125,10 +124,7 @@ public fun approve_transfer<T>(request: &mut Request<TransferFunds<T>>, _clock:
}

/// V2 function allows all transfers, besides transferring to 0x2.
public fun approve_transfer_v2(
request: &mut Request<TransferFunds<DEMO_USD>>,
_acc: &AccumulatorRoot,
) {
public fun approve_transfer_v2(request: &mut Request<TransferFunds<DEMO_USD>>, _faucet: &Faucet) {
assert!(request.data().recipient() != @0x2, ENotAllowedRecipient);
request.approve(TransferApprovalV2());
}
2 changes: 1 addition & 1 deletion sdk/example-app/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
"@mysten/sui": "workspace:^"
},
"devDependencies": {
"@mysten/sui": "^2.0.1",
"@mysten/sui": "^2.4.0",
"@types/node": "^25.0.8",
"tsx": "^4.19.2",
"typescript": "^5.9.3"
Expand Down
9 changes: 5 additions & 4 deletions sdk/example-app/src/extension-example.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
* Example demonstrating PAS SDK usage with the SDK v2.0 $extend pattern
*/

const assetType = '0xf4874d6d4854f92019a2b3914d3838522a72f3c02658893488417ac90c00189b::demo_usd::DEMO_USD';
const demoAssetFaucet = '0x6e48b7accee3e69f3b2ac3d86b9496dac059bd5b7ee3e8869a70ceb1f78ee20b'
const assetType = '0xbcd1cffae40317c7870e55c65af7fc20a8c46ce0ed1a1b24b1edf576480e2fa8::demo_usd::DEMO_USD';
const demoAssetFaucet = '0x9d1fb399a8748a6afdd687a93c4c9303e6f7787c860d5e705136f7b979a3b4d7'

import { SuiGrpcClient } from '@mysten/sui/grpc';
import { decodeSuiPrivateKey, Signer } from '@mysten/sui/cryptography';
Expand All @@ -26,6 +26,7 @@ async function main(): Promise<void> {
baseUrl: 'https://fullnode.devnet.sui.io:443',
}).$extend(pas());

// await finalizeTestAssetSetup(client);
// console.log(await getBalancesForAddress(client, sender));

// await createVaultForAddress(client, sender);
Expand Down Expand Up @@ -87,15 +88,15 @@ async function finalizeTestAssetSetup(client: PasClientType) {

tx.moveCall({
target: assetType.split('::')[0] + '::demo_usd::setup',
arguments: [tx.object(client.pas.getPackageConfig().namespaceId)]
arguments: [tx.object(client.pas.getPackageConfig().namespaceId), tx.object(client.pas.deriveTemplateRegistryAddress()), tx.object(demoAssetFaucet)]
});

await signAndExecute(client, tx);
}

async function createVaultForAddress(client: PasClientType, address: string) {
const tx = new Transaction();
tx.add(client.pas.call.createAndShareVault(address));
tx.add(client.pas.tx.vaultForAddress(address));
return signAndExecute(client, tx);
}

Expand Down
8 changes: 4 additions & 4 deletions sdk/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
"author": "Mysten Labs",
"license": "Apache-2.0",
"devDependencies": {
"@mysten/sui": "^2.0.1",
"@mysten/bcs": "^2.0.1",
"@mysten/sui": "^2.4.0",
"@mysten/bcs": "^2.0.2",
"@mysten/codegen": "^0.6.0"
},
"peerDependencies": {
"@mysten/sui": "^2.0.0",
"@mysten/bcs": "^2.0.0"
"@mysten/sui": "^2.4.0",
"@mysten/bcs": "^2.0.2"
}
}
4 changes: 2 additions & 2 deletions sdk/pas/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,8 @@
"devDependencies": {
"@ianvs/prettier-plugin-sort-imports": "^4.7.0",
"@mysten/codegen": "^0.6.0",
"@mysten/sui": "^2.0.1",
"@mysten/bcs": "^2.0.1",
"@mysten/sui": "^2.4.0",
"@mysten/bcs": "^2.0.2",
"@testcontainers/postgresql": "^11.11.0",
"@types/node": "^25.0.8",
"@types/ws": "^8.18.1",
Expand Down
20 changes: 0 additions & 20 deletions sdk/pas/src/bcs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,26 +2,6 @@ import { bcs, BcsType } from '@mysten/sui/bcs';

import { MoveStruct } from './contracts/utils/index.js';

/** An entry in the map */
export function Entry<K extends BcsType<any>, V extends BcsType<any>>(...typeParameters: [K, V]) {
return new MoveStruct({
name: `0x2::vec_map::Entry<${typeParameters[0].name as K['name']}, ${typeParameters[1].name as V['name']}>`,
fields: {
key: typeParameters[0],
value: typeParameters[1],
},
});
}
/* VecMap representation */
export function VecMap<K extends BcsType<any>, V extends BcsType<any>>(...typeParameters: [K, V]) {
return new MoveStruct({
name: `0x2::vec_map::VecMap<${typeParameters[0].name as K['name']}, ${typeParameters[1].name as V['name']}>`,
fields: {
contents: bcs.vector(Entry(typeParameters[0], typeParameters[1])),
},
});
}

/** dynamic Field representation */
export function Field<Name extends BcsType<any>, Value extends BcsType<any>>(
...typeParameters: [Name, Value]
Expand Down
Loading