Skip to content

Commit 2f2eaca

Browse files
committed
update readme and deploy script
1 parent 0ed97d4 commit 2f2eaca

File tree

4 files changed

+24
-20
lines changed

4 files changed

+24
-20
lines changed

README.md

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,22 @@
1-
# 🔥W5: wallet v5 standard
1+
# W5: wallet smart contract v5
22

3-
This is an extensible wallet specification aimed at replacing V4 and allowing arbitrary extensions.
3+
New version of wallet smart contract, the previous one was [v4r2](https://github.com/ton-blockchain/wallet-contract).
44

5-
W5 has **25% lower fees**, supports **gasless transactions** (via third party relayers) and implements a **flexible extension mechanism**.
5+
The entire concept is proposed by the [Tonkeeper team](https://tonkeeper.com/).
6+
7+
New Features:
8+
9+
- Send up to 255 messages at once;
10+
11+
- Signed actions can be sent not only by external message, but also by internal messages (can be used for gasless transactions);
12+
13+
- Unlimited extensions;
14+
15+
- Extension can prohibit signed actions in the wallet (can be used for 2fa or key recovery);
16+
17+
- Optimizations to reduce network fees;
18+
19+
- Better foolproofing safety - reply-protection for external messages, wallet id rethinking;
620

721
## Project structure
822

@@ -13,25 +27,17 @@ W5 has **25% lower fees**, supports **gasless transactions** (via third party re
1327
- `scripts` - scripts used by the project, mainly the deployment scripts, additionally contains utilities for gas optimisation.
1428
- `fift` - contains standard Fift v0.4.4 library including the assembler and disassembler for gas optimisation utilities.
1529

16-
### Additional documentation
17-
18-
- [Gas improvements](Improvements.rst) - a log of improvements, detailed by primary code paths, global gas counters per commit.
19-
- [Contest](Contest.md) - a note showing some information about interesting improvements during the optimisation contest.
20-
2130
## How to use
2231

2332
### Build
2433

25-
`npm run build:v5`
34+
`npm run build`
2635

2736
### Test
2837

2938
`npm run test`
3039

3140
### Deployment
32-
1. Deploy library: `npm run deploy-library`
33-
2. Deploy wallet: `npm run deploy-wallet`
3441

35-
### Get wallet compiled code
42+
Deploy wallet: `npm run deploy-wallet`
3643

37-
`npm run print-wallet-code`

Specification.md

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,6 @@ This is an extensible wallet specification aimed at replacing V4 and allowing ar
77
* [Features](#features)
88
* [Overview](#overview)
99
* [Discussion](#discussion)
10-
* [Wallet ID](#wallet-id)
11-
* [Packed address](#packed-address)
1210
* [TL-B definitions](#tl-b-definitions)
1311
* [Source code](#source-code)
1412

@@ -30,7 +28,7 @@ Thanks to [Skydev](https://github.com/Skydev0h) for optimization and preparing t
3028
* Extensions can perform the same operations as the signer: emit arbitrary messages on behalf of the owner, add and remove extensions.
3129
* Signed requests can be delivered via internal message to allow 3rd party pay for gas.
3230
* For consistency and ease of indexing, external messages also receive a 32-bit opcode.
33-
* To lay foundation for support of scenarios like 2FA or access recovery it is possible to disable signature authentication.
31+
* To lay foundation for support of scenarios like 2FA or access recovery it is possible to disable signature authentication by extension.
3432

3533
## Overview
3634

scripts/deployLibrary.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { toNano } from 'ton-core';
2-
import { compile, NetworkProvider } from '@ton-community/blueprint';
2+
import { compile, NetworkProvider } from '@ton/blueprint';
33
import 'dotenv/config';
44
import { LibraryDeployer } from '../wrappers/library-deployer';
55

scripts/deployWalletV5.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { Dictionary, toNano } from 'ton-core';
22
import { WalletId, WalletV5 } from '../wrappers/wallet-v5';
3-
import { compile, NetworkProvider } from '@ton-community/blueprint';
3+
import { compile, NetworkProvider } from '@ton/blueprint';
44
import { LibraryDeployer } from '../wrappers/library-deployer';
55
import { getSecureRandomBytes, keyPairFromSeed } from 'ton-crypto';
66

@@ -15,11 +15,11 @@ export async function run(provider: NetworkProvider) {
1515
const walletV5 = provider.open(
1616
WalletV5.createFromConfig(
1717
{
18-
signature_auth_disabled: false,
18+
signatureAllowed: true,
1919
seqno: 0,
2020
walletId: new WalletId({ networkGlobalId: -3 }).serialized, // testnet
2121
publicKey: keypair.publicKey,
22-
extensions: Dictionary.empty()
22+
extensions: Dictionary.empty() as any
2323
},
2424
LibraryDeployer.exportLibCode(await compile('wallet_v5'))
2525
)

0 commit comments

Comments
 (0)