You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs(multisig): the previous wallet is gone from the page entirely
The page now documents one contract. Every trace of the earlier
`UpdateCustodianMultisigWallet` is removed rather than contrasted with the
current one: the paragraph telling readers the two differ, the 0.79.3 links,
and the artifact names in all eleven commands, which still read
`UpdateCustodianMultisigWallet.abi.json` / `.tvc` / `.keys.json` while the
files a reader downloads are named `_v2`.
Two names for two contracts on one page is how someone ends up signing with
the wrong artifact and reading the resulting error as a network problem.
Keeping a warning about the old wallet has the same cost as keeping the old
wallet: it is one more thing to hold in mind while spending money.
One of the removed links was also broken in the same way as the download
links: raw.githubusercontent.com with `/blob/`, measured 404.
docs(multisig): the download links point at v2, and they resolve
Both artifact links on this page were 404. They were raw.githubusercontent.com
URLs carrying `/blob/`, which is a github.com path segment the raw host does
not serve -- measured: the documented URL returns 404, the same path without
`/blob/` returns 200. So a reader following this page could not obtain the
contract at all.
They also pointed at `0.79.3_compiled/updatecustodianmultisigwallet`, the
earlier wallet. The current one is `UpdateCustodianMultisigWallet_v2` in
`0.81.0_compiled`, and it is not a newer build of the same thing: its
constructor takes different arguments, so a deploy command written for one
fails on the other. That is now said explicitly rather than left for the
reader to discover from an error.
Added a verification step before any money moves: `tvm-cli decode stateinit`
prints the code hash, and the expected value is stated
(`cfcaac10...c1f1`, 10943 bytes). The address a reader is about to fund is a
function of this exact code, so checking it is cheap and the failure it
prevents is not.
Downloaded and compared: the upstream .tvc is byte-identical to the artifact
shipped in a production client that deploys this wallet.
Copy file name to clipboardExpand all lines: docs/how-to-deploy-a-multisig-wallet.md
+31-14Lines changed: 31 additions & 14 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,10 +18,27 @@ mkdir wallet
18
18
cd wallet
19
19
```
20
20
21
-
Download the [UpdateCustodianMultisigWallet.abi.json](https://raw.githubusercontent.com/ackinacki/ackinacki/blob/main/contracts/0.79.3_compiled/updatecustodianmultisigwallet/UpdateCustodianMultisigWallet.abi.json) and [UpdateCustodianMultisigWallet.tvc](https://raw.githubusercontent.com/ackinacki/ackinacki/blob/main/contracts/0.79.3_compiled/updatecustodianmultisigwallet/UpdateCustodianMultisigWallet.tvc) files for your wallet from the `updatecustodianmultisigwallet`[repository](https://github.com/ackinacki/ackinacki/tree/main/contracts/0.79.3_compiled/updatecustodianmultisigwallet) and place them in this folder.
21
+
Download the two files of the current wallet, `UpdateCustodianMultisigWallet_v2`, from the
22
+
[`0.81.0_compiled/updatecustodianmultisigwallet_v2`](https://github.com/ackinacki/ackinacki/tree/main/contracts/0.81.0_compiled/updatecustodianmultisigwallet_v2) directory and place them in this folder:
The `code_hash` field must read `cfcaac10d43c8dc062298cb48df097be67cddec52b9cfd558309a7549f01c1f1`,
37
+
and the file must be 10943 bytes.
22
38
23
39
{% hint style="info" %}
24
-
The contract code can be downloaded from [here](https://github.com/ackinacki/ackinacki/blob/main/contracts/updatecustodianmultisigwallet/UpdateCustodianMultisigWallet.sol)
40
+
The Solidity source of this contract is [here](https://github.com/ackinacki/ackinacki/blob/main/contracts/updatecustodianmultisigwallet_v2/UpdateCustodianMultisigWallet_v2.sol).
41
+
25
42
{% endhint %}
26
43
27
44
## Configure CLI tool
@@ -41,7 +58,7 @@ You can generate everything with one command:
* ABI file: [`UpdateCustodianMultisigWallet.abi.json`](https://raw.githubusercontent.com/ackinacki/ackinacki/blob/main/contracts/0.79.3_compiled/updatecustodianmultisigwallet/UpdateCustodianMultisigWallet.abi.json)
134
-
* Signer keys (one of the custodians): `UpdateCustodianMultisigWallet.keys.json` , generated in the [previous step](how-to-deploy-a-multisig-wallet.md#generate-seed-phrase-keys-and-address)
150
+
* ABI file: [`UpdateCustodianMultisigWallet_v2.abi.json`](https://raw.githubusercontent.com/ackinacki/ackinacki/main/contracts/0.81.0_compiled/updatecustodianmultisigwallet_v2/UpdateCustodianMultisigWallet_v2.abi.json)
151
+
* Signer keys (one of the custodians): `UpdateCustodianMultisigWallet_v2.keys.json` , generated in the [previous step](how-to-deploy-a-multisig-wallet.md#generate-seed-phrase-keys-and-address)
135
152
136
153
{% hint style="info" %}
137
154
The transaction **expiration time** is **1 hour**.
0 commit comments