libid_contracts/bindings/
transfer.rs1#[allow(clippy::too_many_arguments, unused_attributes)]
13mod bank_inner {
14 use alloy::sol;
15
16 sol! {
17 #[sol(rpc)]
18 interface Bank {
19 struct NotaryTlsProof {
20 bytes notarySig;
21 bytes32 domainHash;
22 bytes32 clientRandom;
23 bytes32 serverRandom;
24 bytes serverEphemeralKey;
25 bytes32 transcriptRoot;
26 uint256 timestamp;
27 bytes32[] bodyMerklePath;
28 bytes32[] authorMerklePath;
29 bytes32[] domainMerklePath;
30 bytes32[] endpointMerklePath;
31 bytes32[] authorIdMerklePath;
32 bytes32[] receiverIdMerklePath;
33 bytes revealedReceiverId;
34 bytes32[] quotedRefMerklePath;
35 bytes revealedQuotedRef;
36 bytes32[] quotedAuthorMerklePath;
37 bytes revealedQuotedAuthorId;
38 }
39
40 struct ResourceInfo {
41 string platform; string resourceType;
43 string resourceId;
44 string requestPath;
45 }
46
47 struct SenderInfo {
48 string author;
49 bytes revealedAuthor;
50 bytes revealedAuthorId;
51 }
52
53 struct BackendSig {
54 bytes sig;
55 uint256 timestamp;
56 }
57
58 function webTransferV2(
62 ResourceInfo calldata resource,
63 SenderInfo calldata sender,
64 bytes calldata revealedSubsection,
65 NotaryTlsProof calldata notaryTlsProof,
66 BackendSig calldata backendSigData,
67 string calldata receiverHandle,
68 string calldata receiverUserId,
69 string calldata tokenName_,
70 string calldata amountStr,
71 uint256 amount,
72 string calldata sourceUrl
73 ) external;
74
75 function webTransferV2(
77 ResourceInfo calldata resource,
78 SenderInfo calldata sender,
79 bytes calldata revealedSubsection,
80 NotaryTlsProof calldata notaryTlsProof,
81 BackendSig calldata backendSigData,
82 string calldata receiverHandle,
83 string calldata receiverUserId,
84 address token,
85 string calldata amountStr,
86 uint256 amount,
87 string calldata sourceUrl
88 ) external;
89
90 function verifyProof(
92 ResourceInfo calldata resource,
93 SenderInfo calldata sender,
94 bytes calldata revealedSubsection,
95 NotaryTlsProof calldata notaryTlsProof,
96 BackendSig calldata backendSigData,
97 string calldata receiverUserId
98 ) external view returns (bool);
99
100 function transfer_within(
101 string calldata receiverPlatform,
102 string calldata receiverHandle,
103 string calldata receiverUserId,
104 address token,
105 uint256 amount
106 ) external;
107
108 function deposit(string calldata platform, string calldata handle, string calldata userId, address token, uint256 amount) external payable;
111 function withdraw(address recipient, address token, uint256 amount) external;
112 function balanceOf(address wallet, address token) external view returns (uint256);
113 function balanceOf(string calldata platform, string calldata handle, string calldata userId, address token) external view returns (uint256);
114 function balanceOfTotal(address wallet, address token) external view returns (uint256);
115 function balanceOfTotal(string calldata platform, string calldata handle, string calldata userId, address token) external view returns (uint256);
116 function registeredBalances(address wallet, address token) external view returns (uint256);
117 function unregisteredBalances(bytes32 key, address token) external view returns (uint256);
118 function identityHash(string calldata domain, string calldata username) external pure returns (bytes32);
119
120 function pause() external;
123 function unpause() external;
124 function setRegistry(address _registry) external;
125 function registerToken(string calldata name, address token) external;
126 function unregisterToken(string calldata name) external;
127 function resolveToken(string calldata name) external view returns (address);
128 function getRegisteredTokens() external view returns (address[] memory);
129 function tokenName(address token) external view returns (string memory);
130 function setPlatformTemplate(string calldata platform, string calldata newTemplate) external;
131 function clearPlatformTemplates(string calldata platform) external;
132 function platformTemplateCount(string calldata platform) external view returns (uint256);
133 function getPlatformTemplate(string calldata platform, uint256 index) external view returns (string memory);
134 function setResourceTypePrefix(string calldata resourceType, string calldata prefix) external;
135 function setPlatformWebPrefix(string calldata platform, string calldata prefix) external;
136 function getPlatformWebPrefix(string calldata platform) external view returns (string memory);
137 function registry() external view returns (address);
138 function paused() external view returns (bool);
139
140 event Deposited(address indexed wallet, bytes32 indexed handleKey, address indexed token, uint256 amount);
143 event Withdrawn(address indexed wallet, address indexed recipient, address indexed token, uint256 amount);
144 event TransferWithin(address indexed sender, string receiverPlatform, string receiverHandle, string receiverUserId, address indexed token, uint256 amount);
145 event WebTransferV3(address indexed senderWallet, address indexed receiverWallet, string receiverPlatform, string receiverHandle, string receiverUserId, address indexed token, uint256 amount, string sourceUrl);
146 event Paused(address account);
147 event Unpaused(address account);
148 event RegistrySet(address indexed oldRegistry, address indexed newRegistry);
149 event TokenRegistered(string name, address indexed token);
150 event TokenUnregistered(string name, address indexed token);
151 }
152 }
153}
154
155pub use bank_inner::Bank;
156
157#[allow(clippy::too_many_arguments, unused_attributes)]
159mod diamond_cut_inner {
160 use alloy::sol;
161
162 sol! {
163 #[sol(rpc)]
164 interface IDiamondCut {
165 struct FacetCut {
169 address facetAddress;
170 uint8 action;
171 bytes4[] functionSelectors;
172 }
173 function diamondCut(FacetCut[] _diamondCut, address _init, bytes _calldata) external;
174
175 event DiamondCut(FacetCut[] _diamondCut, address _init, bytes _calldata);
176 }
177 }
178}
179
180pub use diamond_cut_inner::IDiamondCut;
181
182#[allow(clippy::too_many_arguments, unused_attributes)]
185mod diamond_loupe_inner {
186 use alloy::sol;
187
188 sol! {
189 #[sol(rpc)]
190 interface IDiamondLoupe {
191 struct Facet {
192 address facetAddress;
193 bytes4[] functionSelectors;
194 }
195 function facets() external view returns (Facet[] memory facets_);
196 function facetFunctionSelectors(address _facet) external view returns (bytes4[] memory);
197 function facetAddresses() external view returns (address[] memory);
198 function facetAddress(bytes4 _functionSelector) external view returns (address);
199 function supportsInterface(bytes4 _interfaceId) external view returns (bool);
200 }
201 }
202
203 sol! {
204 #[sol(rpc)]
205 interface IERC173 {
206 function owner() external view returns (address owner_);
207 function transferOwnership(address _newOwner) external;
208 }
209 }
210}
211
212pub use diamond_loupe_inner::{
213 IDiamondLoupe,
214 IERC173,
215};
216
217#[allow(clippy::too_many_arguments, unused_attributes)]
221mod bank_init_inner {
222 use alloy::sol;
223
224 sol! {
225 interface BankInit {
226 function init(address notary, address backend, address registry) external;
227 }
228 }
229}
230
231pub use bank_init_inner::BankInit;