Skip to content

Commit

Permalink
V0.1.1
Browse files Browse the repository at this point in the history
- Fixed W5 extension and internal messaging issues
- Added examples for W5 extension and internal transactions
  • Loading branch information
mrtnetwork committed Sep 18, 2024
1 parent 7c86d14 commit 6372219
Show file tree
Hide file tree
Showing 84 changed files with 989 additions and 599 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
## 0.1.1

- Fixed W5 extension and internal messaging issues
- Added examples for W5 extension and internal transactions

## 0.1.0

- Breaking Changes: Updated APIs for NFT, Jetton, and versioned contracts. All related methods have been modified.
Expand Down
18 changes: 9 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,39 +58,39 @@ To leverage Ton Dart's capabilities optimally, familiarity with TonApi and TonCe
params:
VersionedV5TransferParams.external(signer: wallet.signer, messages: [
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination2.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination3.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination4.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination5.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination6.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination7.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination8.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination9.address,
amount: TonHelper.toNano("0.01"))),
]),
Expand Down
4 changes: 2 additions & 2 deletions example/lib/examples/wallet/highload/v3.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ void main() async {
signer: wallet.signer,
messages: [
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination.address,
amount: TonHelper.toNano("0.1"))),
]),
Expand All @@ -24,7 +24,7 @@ void main() async {
assert(publicKey == wallet.signer.toPublicKey().toHex());
final state = await wallet.wallet.readState(wallet.rpc);
assert(BytesUtils.bytesEqual(
state.publicKey, wallet.signer.toPublicKey().toBytes()));
state.publicKey.toBytes(), wallet.signer.toPublicKey().toBytes()));
assert(state.subWalletId == wallet.wallet.state!.subWalletId);
await HighloadWalletV3.fromAddress(address: wallet.address, rpc: wallet.rpc);
}
18 changes: 9 additions & 9 deletions example/lib/examples/wallet/highload/v3_mutiple_destination.dart
Original file line number Diff line number Diff line change
Expand Up @@ -20,39 +20,39 @@ void main() async {
signer: wallet.signer,
messages: [
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination2.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination3.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination4.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination5.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination6.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination7.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination8.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination9.address,
amount: TonHelper.toNano("0.01"))),
]),
Expand Down
4 changes: 2 additions & 2 deletions example/lib/examples/wallet/multi_owner/r2.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,12 @@ void main() async {
amount: TonHelper.toNano("0.5"),
messages: [
OutActionMultiSigSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination:
destination1.address.copyWith(bounceable: false),
amount: TonHelper.toNano("0.01"))),
OutActionMultiSigSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination:
destination2.address.copyWith(bounceable: false),
amount: TonHelper.toNano("0.01"))),
Expand Down
4 changes: 2 additions & 2 deletions example/lib/examples/wallet/versioned_wallet/v1/r1.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ void main() async {
await wallet.wallet.sendTransfer(
params: VersionedTransferParams(privateKey: wallet.signer, messages: [
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination.address,
amount: TonHelper.toNano("4.5")))
]),
Expand All @@ -18,7 +18,7 @@ void main() async {
assert(publicKey == wallet.signer.toPublicKey().toHex());
final state = await wallet.wallet.readState(wallet.rpc);
assert(BytesUtils.bytesEqual(
state.publicKey, wallet.signer.toPublicKey().toBytes()));
state.publicKey.toBytes(), wallet.signer.toPublicKey().toBytes()));
await WalletV1R1.fromAddress(address: wallet.address, rpc: wallet.rpc);

/// https://testnet.tonscan.org/address/kf9serWJThPWFoZqR5ad3GSjWsGmY8I_8d3IQuKOyIlODJlh
Expand Down
4 changes: 2 additions & 2 deletions example/lib/examples/wallet/versioned_wallet/v1/r2.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ void main() async {
await wallet.wallet.sendTransfer(
params: VersionedTransferParams(privateKey: wallet.signer, messages: [
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination.address,
amount: TonHelper.toNano("4.3")))
]),
Expand All @@ -17,7 +17,7 @@ void main() async {
assert(publicKey == wallet.signer.toPublicKey().toHex());
final state = await wallet.wallet.readState(wallet.rpc);
assert(BytesUtils.bytesEqual(
state.publicKey, wallet.signer.toPublicKey().toBytes()));
state.publicKey.toBytes(), wallet.signer.toPublicKey().toBytes()));
await WalletV1R2.fromAddress(address: wallet.address, rpc: wallet.rpc);

/// https://testnet.tonscan.org/address/kf9PppquOLEHxw89z20d_aRKhRuVN3po1FnNmxoTwpI6TjNo
Expand Down
4 changes: 2 additions & 2 deletions example/lib/examples/wallet/versioned_wallet/v1/r3.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ void main() async {
await wallet.wallet.sendTransfer(
params: VersionedTransferParams(privateKey: wallet.signer, messages: [
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination.address,
amount: TonHelper.toNano("4.1")))
]),
Expand All @@ -18,6 +18,6 @@ void main() async {
assert(publicKey == wallet.signer.toPublicKey().toHex());
final state = await wallet.wallet.readState(wallet.rpc);
assert(BytesUtils.bytesEqual(
state.publicKey, wallet.signer.toPublicKey().toBytes()));
state.publicKey.toBytes(), wallet.signer.toPublicKey().toBytes()));
await WalletV1R3.fromAddress(address: wallet.address, rpc: wallet.rpc);
}
4 changes: 2 additions & 2 deletions example/lib/examples/wallet/versioned_wallet/v2/r1.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ void main() async {
await wallet.wallet.sendTransfer(
params: VersionedTransferParams(privateKey: wallet.signer, messages: [
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination.address,
amount: TonHelper.toNano("3.9")))
]),
Expand All @@ -18,7 +18,7 @@ void main() async {
assert(publicKey == wallet.signer.toPublicKey().toHex());
final state = await wallet.wallet.readState(wallet.rpc);
assert(BytesUtils.bytesEqual(
state.publicKey, wallet.signer.toPublicKey().toBytes()));
state.publicKey.toBytes(), wallet.signer.toPublicKey().toBytes()));
await WalletV2R1.fromAddress(address: wallet.address, rpc: wallet.rpc);

/// https://testnet.tonscan.org/address/kf9PppquOLEHxw89z20d_aRKhRuVN3po1FnNmxoTwpI6TjNo
Expand Down
8 changes: 4 additions & 4 deletions example/lib/examples/wallet/versioned_wallet/v2/r2.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ void main() async {
await wallet.wallet.sendTransfer(
params: VersionedTransferParams(privateKey: wallet.signer, messages: [
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination.address,
amount: TonHelper.toNano("3.6"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination1.address,
amount: TonHelper.toNano("0.001"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination2.address,
amount: TonHelper.toNano("0.001")))
]),
Expand All @@ -29,6 +29,6 @@ void main() async {
assert(publicKey == wallet.signer.toPublicKey().toHex());
final state = await wallet.wallet.readState(wallet.rpc);
assert(BytesUtils.bytesEqual(
state.publicKey, wallet.signer.toPublicKey().toBytes()));
state.publicKey.toBytes(), wallet.signer.toPublicKey().toBytes()));
await WalletV2R2.fromAddress(address: wallet.address, rpc: wallet.rpc);
}
8 changes: 4 additions & 4 deletions example/lib/examples/wallet/versioned_wallet/v3/r1.dart
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@ void main() async {
await wallet.wallet.sendTransfer(
params: VersionedTransferParams(privateKey: wallet.signer, messages: [
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination.address,
amount: TonHelper.toNano("3.3"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination1.address,
amount: TonHelper.toNano("0.001"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination2.address,
amount: TonHelper.toNano("0.001")))
]),
Expand All @@ -28,7 +28,7 @@ void main() async {
assert(publicKey == wallet.signer.toPublicKey().toHex());
final state = await wallet.wallet.readState(wallet.rpc);
assert(BytesUtils.bytesEqual(
state.publicKey, wallet.signer.toPublicKey().toBytes()));
state.publicKey.toBytes(), wallet.signer.toPublicKey().toBytes()));
assert(state.subwallet == wallet.wallet.state!.subwallet);
await WalletV3R1.fromAddress(address: wallet.address, rpc: wallet.rpc);
}
6 changes: 3 additions & 3 deletions example/lib/examples/wallet/versioned_wallet/v3/r2.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@ void main() async {
await wallet.wallet.sendTransfer(
params: VersionedTransferParams(privateKey: wallet.signer, messages: [
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination.address,
amount: TonHelper.toNano("0.5"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination2.address,
amount: TonHelper.toNano("0.4")))
]),
Expand All @@ -23,7 +23,7 @@ void main() async {
assert(publicKey == wallet.signer.toPublicKey().toHex());
final state = await wallet.wallet.readState(wallet.rpc);
assert(BytesUtils.bytesEqual(
state.publicKey, wallet.signer.toPublicKey().toBytes()));
state.publicKey.toBytes(), wallet.signer.toPublicKey().toBytes()));
assert(state.subwallet == wallet.wallet.state!.subwallet);
await WalletV3R2.fromAddress(address: wallet.address, rpc: wallet.rpc);
}
4 changes: 2 additions & 2 deletions example/lib/examples/wallet/versioned_wallet/v4/v4.dart
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ void main() async {
await wallet.wallet.sendTransfer(
params: VersionedTransferParams(privateKey: wallet.signer, messages: [
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination2.address,
amount: TonHelper.toNano("0.03")))
]),
Expand All @@ -19,7 +19,7 @@ void main() async {
assert(publicKey == wallet.signer.toPublicKey().toHex());
final state = await wallet.wallet.readState(wallet.rpc);
assert(BytesUtils.bytesEqual(
state.publicKey, wallet.signer.toPublicKey().toBytes()));
state.publicKey.toBytes(), wallet.signer.toPublicKey().toBytes()));
assert(state.subwallet == wallet.wallet.state!.subwallet);
await WalletV4.fromAddress(address: wallet.address, rpc: wallet.rpc);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
import 'package:example/examples/wallet/test_wallet.dart';
import 'package:ton_dart/ton_dart.dart';

void main() async {
final extensionWallet = TestWallet<WalletV5R1>(version: WalletVersion.v5R1);

final TestWallet<WalletV5R1> wallet =
TestWallet(version: WalletVersion.v5R1, index: 96);

await extensionWallet.wallet.sendTransfer(
params:
VersionedV5TransferParams.external(signer: extensionWallet.signer),
messages: [
TonHelper.internal(
destination: wallet.address,
amount: TonHelper.toNano("0.1"),
body: wallet.wallet.createExtensionMessage(
actions: [const OutActionSetIsPublicKeyEnabled(false)])),
],
rpc: extensionWallet.rpc);
}
20 changes: 10 additions & 10 deletions example/lib/examples/wallet/versioned_wallet/v5/r1.dart
Original file line number Diff line number Diff line change
Expand Up @@ -19,39 +19,39 @@ void main() async {
params:
VersionedV5TransferParams.external(signer: wallet.signer, messages: [
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination2.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination3.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination4.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination5.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination6.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination7.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination8.address,
amount: TonHelper.toNano("0.01"))),
OutActionSendMsg(
outMessage: TransactioUtils.internal(
outMessage: TonHelper.internal(
destination: destination9.address,
amount: TonHelper.toNano("0.01"))),
]),
Expand All @@ -61,7 +61,7 @@ void main() async {
assert(publicKey == wallet.signer.toPublicKey().toHex());
final state = await wallet.wallet.readState(wallet.rpc);
assert(BytesUtils.bytesEqual(
state.publicKey, wallet.signer.toPublicKey().toBytes()));
state.publicKey.toBytes(), wallet.signer.toPublicKey().toBytes()));
assert(state.context == wallet.wallet.state!.context);
await WalletV5R1.fromAddress(address: wallet.address, rpc: wallet.rpc);
}
Loading

0 comments on commit 6372219

Please sign in to comment.