Skip to content

Commit

Permalink
Merge pull request #25 from MoonSHRD/feat/getters
Browse files Browse the repository at this point in the history
Feat/getters
  • Loading branch information
JackBekket authored Oct 18, 2022
2 parents e1f344a + 9da8f01 commit f19c9bd
Show file tree
Hide file tree
Showing 14 changed files with 7,546 additions and 5,939 deletions.
11 changes: 6 additions & 5 deletions addresses.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@

Goerli:
TGPassport deployed to: 0x34BCAC93be263c8c1a56f651a8bE7FEEb69A56BA
Union deployed to: 0xd7C27fDe9Fa580D5a8057ecC1E2809e7D801b675
Sample erc20 deployed to: 0x4d517A19916C447E68da22d68eE9A595438acA13
TGPassport deployed to: 0xd081785648b1db05caCe22e6fd6CCE365897b0f2
Union deployed to: 0x1f1A681BcDc63A457f3e581E2D15C79a5fF24A61
Sample erc20 deployed to: 0x45eD3609A173B5d09c8543AF7b10b93E20c1c73A
owner address: 0x16d97A46030C5D3D705bca45439e48529997D8b2
passport fee: BigNumber { value: "1000" }
applierd user wallet : 0x16d97A46030C5D3D705bca45439e48529997D8b2
approved user wallet : 0x16d97A46030C5D3D705bca45439e48529997D8b2
apllied dao address: 0x4d517A19916C447E68da22d68eE9A595438acA13
approved dao address: 0x4d517A19916C447E68da22d68eE9A595438acA13
apllied dao address: 0x45eD3609A173B5d09c8543AF7b10b93E20c1c73A
approved dao address: 0x45eD3609A173B5d09c8543AF7b10b93E20c1c73A




Expand Down

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion artifacts/contracts/TGPassport.sol/TGPassport.dbg.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../build-info/0cdbd203b0a6142f575069f040bbaa6e.json"
"buildInfo": "../../build-info/4137fdfc19a30b685b9648a18827c4e8.json"
}
98 changes: 92 additions & 6 deletions artifacts/contracts/TGPassport.sol/TGPassport.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion artifacts/contracts/Union.sol/Union.dbg.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"_format": "hh-sol-dbg-1",
"buildInfo": "../../build-info/0cdbd203b0a6142f575069f040bbaa6e.json"
"buildInfo": "../../build-info/4137fdfc19a30b685b9648a18827c4e8.json"
}
4 changes: 2 additions & 2 deletions artifacts/contracts/Union.sol/Union.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion build/TGPassport.abi
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int64","name":"applyerTg","type":"int64"},{"indexed":false,"internalType":"address","name":"wallet_address","type":"address"}],"name":"passportApplied","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"int64","name":"applyerTg","type":"int64"},{"indexed":false,"internalType":"address","name":"wallet_address","type":"address"}],"name":"passportAppliedIndexed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int256","name":"applyerTg","type":"int256"},{"indexed":false,"internalType":"address","name":"wallet_address","type":"address"},{"indexed":false,"internalType":"address","name":"issuer","type":"address"}],"name":"passportApproved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int256","name":"applyerTg","type":"int256"},{"indexed":false,"internalType":"address","name":"wallet","type":"address"}],"name":"passportDenied","type":"event"},{"inputs":[{"internalType":"int64","name":"applyerTg","type":"int64"},{"internalType":"string","name":"user_name_","type":"string"}],"name":"ApplyForPassport","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"passportToApprove","type":"address"}],"name":"ApprovePassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"passportToDecline","type":"address"}],"name":"DeclinePassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"passportToDecline","type":"address"}],"name":"DeletePassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"GetOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user_wallet","type":"address"}],"name":"GetPassportByAddress","outputs":[{"components":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"int64","name":"tgId","type":"int64"},{"internalType":"bool","name":"valid","type":"bool"},{"internalType":"address","name":"validatorAddress","type":"address"},{"internalType":"string","name":"userName","type":"string"}],"internalType":"struct TGPassport.Passport","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"user_name_","type":"string"}],"name":"GetPassportByNickName","outputs":[{"components":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"int64","name":"tgId","type":"int64"},{"internalType":"bool","name":"valid","type":"bool"},{"internalType":"address","name":"validatorAddress","type":"address"},{"internalType":"string","name":"userName","type":"string"}],"internalType":"struct TGPassport.Passport","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GetPassportFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int64","name":"tgId_","type":"int64"}],"name":"GetPassportWalletByID","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user_wallet","type":"address"}],"name":"GetTgIdByAddress","outputs":[{"internalType":"int64","name":"tgid","type":"int64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"user_name_","type":"string"}],"name":"GetWalletByNickName","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"enemy_address","type":"address"}],"name":"INOTTrustAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"my_username","type":"string"},{"internalType":"string","name":"enemy_name","type":"string"}],"name":"INOTTrustUsername","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"friend_address","type":"address"}],"name":"ITrustAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"my_username","type":"string"},{"internalType":"string","name":"friend_name","type":"string"}],"name":"ITrustUsername","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"passportFee_","type":"uint256"}],"name":"SetPassportFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"new_user_name_","type":"string"}],"name":"UpdateUserName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"passports","outputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"int64","name":"tgId","type":"int64"},{"internalType":"bool","name":"valid","type":"bool"},{"internalType":"address","name":"validatorAddress","type":"address"},{"internalType":"string","name":"userName","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int64","name":"","type":"int64"}],"name":"tgIdToAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int64","name":"","type":"int64"},{"internalType":"int64","name":"","type":"int64"}],"name":"trust_global","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"username_wallets","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int64","name":"applyerTg","type":"int64"},{"indexed":false,"internalType":"address","name":"wallet_address","type":"address"}],"name":"passportApplied","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"int64","name":"applyerTg","type":"int64"},{"indexed":false,"internalType":"address","name":"wallet_address","type":"address"}],"name":"passportAppliedIndexed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int64","name":"applyerTg","type":"int64"},{"indexed":false,"internalType":"address","name":"wallet_address","type":"address"},{"indexed":false,"internalType":"address","name":"issuer","type":"address"}],"name":"passportApproved","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int64","name":"applyerTg","type":"int64"},{"indexed":false,"internalType":"address","name":"wallet","type":"address"}],"name":"passportDenied","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int64","name":"from","type":"int64"},{"indexed":true,"internalType":"int64","name":"to","type":"int64"}],"name":"trustedIndexed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int64","name":"from","type":"int64"},{"indexed":true,"internalType":"int64","name":"to","type":"int64"}],"name":"untrustedIndexed","type":"event"},{"inputs":[{"internalType":"int64","name":"applyerTg","type":"int64"},{"internalType":"string","name":"user_name_","type":"string"}],"name":"ApplyForPassport","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"passportToApprove","type":"address"}],"name":"ApprovePassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"passportToDecline","type":"address"}],"name":"DeclinePassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"passportToDecline","type":"address"}],"name":"DeletePassport","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"GetOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user_wallet","type":"address"}],"name":"GetPassportByAddress","outputs":[{"components":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"int64","name":"tgId","type":"int64"},{"internalType":"bool","name":"valid","type":"bool"},{"internalType":"address","name":"validatorAddress","type":"address"},{"internalType":"string","name":"userName","type":"string"}],"internalType":"struct TGPassport.Passport","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"user_name_","type":"string"}],"name":"GetPassportByNickName","outputs":[{"components":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"int64","name":"tgId","type":"int64"},{"internalType":"bool","name":"valid","type":"bool"},{"internalType":"address","name":"validatorAddress","type":"address"},{"internalType":"string","name":"userName","type":"string"}],"internalType":"struct TGPassport.Passport","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GetPassportFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int64","name":"tgId_","type":"int64"}],"name":"GetPassportWalletByID","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user_wallet","type":"address"}],"name":"GetTgIdByAddress","outputs":[{"internalType":"int64","name":"tgid","type":"int64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int64","name":"from","type":"int64"},{"internalType":"int64","name":"to","type":"int64"}],"name":"GetTrust","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"user_name_","type":"string"}],"name":"GetWalletByNickName","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"enemy_address","type":"address"}],"name":"INOTTrustAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"my_username","type":"string"},{"internalType":"string","name":"enemy_name","type":"string"}],"name":"INOTTrustUsername","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"friend_address","type":"address"}],"name":"ITrustAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"my_username","type":"string"},{"internalType":"string","name":"friend_name","type":"string"}],"name":"ITrustUsername","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"passportFee_","type":"uint256"}],"name":"SetPassportFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"new_user_name_","type":"string"}],"name":"UpdateUserName","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int64","name":"","type":"int64"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"opinion_changed","outputs":[{"internalType":"int64","name":"","type":"int64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"passports","outputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"int64","name":"tgId","type":"int64"},{"internalType":"bool","name":"valid","type":"bool"},{"internalType":"address","name":"validatorAddress","type":"address"},{"internalType":"string","name":"userName","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int64","name":"","type":"int64"}],"name":"tgIdToAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int64","name":"","type":"int64"},{"internalType":"int64","name":"","type":"int64"}],"name":"trust_global","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"username_wallets","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
2 changes: 1 addition & 1 deletion build/TGPassport.bin

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion build/Union.bin

Large diffs are not rendered by default.

46 changes: 34 additions & 12 deletions contracts/TGPassport.sol
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,25 @@ contract TGPassport is Ownable {
mapping(address => Passport) public passports;
mapping(string => address) public username_wallets; // usernames can be changed, do not trust it, use as utility

mapping (int64 => mapping(int64 => bool)) public trust_global;
mapping (int64 => mapping(int64 => bool)) public trust_global; // user id => [] user ids => trust

/**
*
* 1. by defult user TRUST N0 0NE.
* 2. we can get int64[] opinion_changed, so we get array of user who express trust/untrust to specific user
* 3. then we can call GetTrust(user_from,user_to) for each of result from opinion_changed, and get arrays of trusters/untrusters attached to specific user
* ..... possibly there is a better way to do it
*/
mapping (int64 => int64[]) public opinion_changed;

// EVENTS
//
event passportApplied(int64 applyerTg, address wallet_address);
event passportAppliedIndexed(int64 indexed applyerTg, address wallet_address);
event passportApproved(int applyerTg, address wallet_address, address issuer);
event passportDenied(int applyerTg, address wallet);
event passportApproved(int64 applyerTg, address wallet_address, address issuer);
event passportDenied(int64 applyerTg, address wallet);
event trustedIndexed(int64 from, int64 indexed to);
event untrustedIndexed(int64 from, int64 indexed to);


constructor() Ownable() {
Expand Down Expand Up @@ -124,7 +135,7 @@ contract TGPassport is Ownable {
* @param from tgid user who trust
* @param to tgid user who trusted by
*/
function _ITrustTo(int64 from, int64 to) internal {
function _iTrustTo(int64 from, int64 to) internal {
trust_global[from][to] = true;
}

Expand All @@ -134,7 +145,7 @@ contract TGPassport is Ownable {
* @param from tgid user who DONT TRUST
* @param to tgid user who looks suspiciouse
*/
function _INotTrust(int64 from, int64 to) internal {
function _iNotTrust(int64 from, int64 to) internal {
trust_global[from][to] = false;
}

Expand All @@ -157,7 +168,9 @@ contract TGPassport is Ownable {
int64 friend_id = to_p.tgId;
require(tgIdToAddress[friend_id] == friend_address, "friend username/id missmatch with correspodning address, possible hack");
int64 to_id = friend_id;
_ITrustTo(my_id,to_id);
_iTrustTo(my_id,to_id);
opinion_changed[my_id].push(to_id);
emit trustedIndexed(my_id,to_id);
}


Expand All @@ -178,8 +191,9 @@ contract TGPassport is Ownable {
int64 enemy_id = to_p.tgId;
require(tgIdToAddress[enemy_id] == enemy_address, "enemy_name username/id missmatch with correspodning address, possible hack");
int64 to_id = enemy_id;
_INotTrust(my_id,to_id);

_iNotTrust(my_id,to_id);
opinion_changed[my_id].push(to_id);
emit untrustedIndexed(my_id,to_id);
}


Expand All @@ -195,7 +209,9 @@ contract TGPassport is Ownable {
int64 my_id = my_p.tgId;
Passport memory to_p = GetPassportByAddress(friend_address);
int64 to_id = to_p.tgId;
_ITrustTo(my_id,to_id);
_iTrustTo(my_id,to_id);
opinion_changed[my_id].push(to_id);
emit trustedIndexed(my_id,to_id);
}


Expand All @@ -211,10 +227,17 @@ contract TGPassport is Ownable {
int64 my_id = my_p.tgId;
Passport memory to_p = GetPassportByAddress(enemy_address);
int64 to_id = to_p.tgId;
_INotTrust(my_id,to_id);
_iNotTrust(my_id,to_id);
opinion_changed[my_id].push(to_id);
emit untrustedIndexed(my_id,to_id);
}


/**
* @notice get to know if tgid from trust tgid to
*/
function GetTrust(int64 from, int64 to) public view returns (bool) {
return trust_global[from][to];
}


/**
Expand All @@ -231,7 +254,6 @@ contract TGPassport is Ownable {
return _passportFee;
}



function GetPassportWalletByID(int64 tgId_) public view returns(address){
return tgIdToAddress[tgId_];
Expand Down
Loading

1 comment on commit f19c9bd

@vercel
Copy link

@vercel vercel bot commented on f19c9bd Oct 18, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Successfully deployed to the following URLs:

ikytest – ./

ikytest-git-master-s0lidarnost.vercel.app
ikytest.vercel.app
ikytest-s0lidarnost.vercel.app

Please sign in to comment.