upsideos_evm_rwa_artifacts 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.md +95 -0
- data/data/recallable-payment/abi/AccessControl.json +1 -0
- data/data/recallable-payment/abi/RecallablePayment.json +1 -0
- data/data/recallable-payment/manifest.json +1 -0
- data/data/recallable-payment/verification-source-codes.json +1 -0
- data/data/v5/abi/AccessControl.json +1 -0
- data/data/v5/abi/ERC2771CustomForwarder.json +1 -0
- data/data/v5/abi/IdentityRegistry.json +1 -0
- data/data/v5/abi/InterestPayment.json +1 -0
- data/data/v5/abi/PurchaseContract.json +1 -0
- data/data/v5/abi/RestrictedLockupToken.json +1 -0
- data/data/v5/abi/RestrictedLockupTokenExtension.json +1 -0
- data/data/v5/abi/RestrictedLockupTokenManagementExtension.json +1 -0
- data/data/v5/abi/RestrictedSwap.json +1 -0
- data/data/v5/abi/SnapshotPeriods.json +1 -0
- data/data/v5/abi/TransferRules.json +1 -0
- data/data/v5/abi/merged/RestrictedLockupToken.json +1 -0
- data/data/v5/manifest.json +1 -0
- data/data/v5/verification-source-codes.json +1 -0
- data/data/v5.1/abi/AccessControl.json +1 -0
- data/data/v5.1/abi/ERC2771CustomForwarder.json +1 -0
- data/data/v5.1/abi/IdentityRegistry.json +1 -0
- data/data/v5.1/abi/InterestPayment.json +1 -0
- data/data/v5.1/abi/PurchaseContract.json +1 -0
- data/data/v5.1/abi/RestrictedLockupToken.json +1 -0
- data/data/v5.1/abi/RestrictedLockupTokenExtension.json +1 -0
- data/data/v5.1/abi/RestrictedLockupTokenManagementExtension.json +1 -0
- data/data/v5.1/abi/RestrictedLockupTokenStandardsExtension.json +1 -0
- data/data/v5.1/abi/RestrictedSwap.json +1 -0
- data/data/v5.1/abi/SnapshotPeriods.json +1 -0
- data/data/v5.1/abi/TransferRules.json +1 -0
- data/data/v5.1/abi/merged/RestrictedLockupToken.json +1 -0
- data/data/v5.1/manifest.json +1 -0
- data/data/v5.1/verification-source-codes.json +1 -0
- data/lib/upsideos_evm_rwa_artifacts/version.rb +5 -0
- data/lib/upsideos_evm_rwa_artifacts.rb +118 -0
- metadata +81 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: b9fcc814cd0cf323b9d3838ed80a2f1f419385d2a1c84f312c340e6ab5232de2
|
|
4
|
+
data.tar.gz: a5732c99e9e4960a63f6c866a27e53f926415abda950995e217f4d507dd098a5
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 7dca9cded14e1d81e1cf8f881b9c5447f5225f5ab89650d4397d3daccb1401d5bda3f5b7e89624f663ffd6849817e0843374e57897976131c4ad37c4d149b8b9
|
|
7
|
+
data.tar.gz: 890b1086e3444b87588fcdc5c1a3f9692d34603caeb59b61154f65271d073ce21e4e98df5f0879a71c0d1f5f5606f8b51920c6a8360e7c6d358fc6fad7b67b19
|
data/README.md
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# upsideos_evm_rwa_artifacts
|
|
2
|
+
|
|
3
|
+
ABIs and verification sources for the audited EVM Security Token releases.
|
|
4
|
+
|
|
5
|
+
The gem carries data only. It has no dependencies, and it ships the same
|
|
6
|
+
files as the `@upsideos/evm-rwa-artifacts` npm package, built from the
|
|
7
|
+
same audited commit.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
```ruby
|
|
12
|
+
gem 'upsideos_evm_rwa_artifacts'
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Releases
|
|
16
|
+
|
|
17
|
+
| Release | Contents |
|
|
18
|
+
| -------------------- | ------------------------------------------ |
|
|
19
|
+
| `v5` | Security Token v5 |
|
|
20
|
+
| `v5.1` | Security Token v5.1 |
|
|
21
|
+
| `recallable-payment` | Recallable Payment |
|
|
22
|
+
|
|
23
|
+
## Read an ABI
|
|
24
|
+
|
|
25
|
+
```ruby
|
|
26
|
+
require 'upsideos_evm_rwa_artifacts'
|
|
27
|
+
|
|
28
|
+
UpsideosEvmRwaArtifacts.abi('v5', 'TransferRules')
|
|
29
|
+
UpsideosEvmRwaArtifacts.abi('v5.1', 'IdentityRegistry')
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
The token forwards unknown selectors into its extensions. Use the merged
|
|
33
|
+
call surface when you talk to the token address:
|
|
34
|
+
|
|
35
|
+
```ruby
|
|
36
|
+
UpsideosEvmRwaArtifacts.merged_abi('v5', 'RestrictedLockupToken')
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## Verify a deployment
|
|
40
|
+
|
|
41
|
+
`verification_source_codes` returns the solc standard-json bundle that an
|
|
42
|
+
explorer accepts. Most explorer clients want a file, so there is a path
|
|
43
|
+
reader too:
|
|
44
|
+
|
|
45
|
+
```ruby
|
|
46
|
+
UpsideosEvmRwaArtifacts.verification_source_codes('v5')
|
|
47
|
+
UpsideosEvmRwaArtifacts.verification_source_codes_path('v5')
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Provenance
|
|
51
|
+
|
|
52
|
+
The manifest records the audited source commit, the compiler, and a
|
|
53
|
+
SHA-256 digest for every file in the release:
|
|
54
|
+
|
|
55
|
+
```ruby
|
|
56
|
+
UpsideosEvmRwaArtifacts.commit('v5') # => "45b32ea..."
|
|
57
|
+
UpsideosEvmRwaArtifacts.compiler_version('v5') # => "0.8.28+commit.7893614a"
|
|
58
|
+
UpsideosEvmRwaArtifacts.manifest('v5')
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
To confirm that a file is the one the manifest describes:
|
|
62
|
+
|
|
63
|
+
```ruby
|
|
64
|
+
require 'digest'
|
|
65
|
+
|
|
66
|
+
path = UpsideosEvmRwaArtifacts.abi_path('v5', 'TransferRules')
|
|
67
|
+
Digest::SHA256.hexdigest(path.binread)
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## What the gem leaves out
|
|
71
|
+
|
|
72
|
+
The gem ships no bytecode and no tooling, because a Ruby consumer reads
|
|
73
|
+
contracts and verifies them but does not compile or deploy them. Use the
|
|
74
|
+
npm package for deployment bytecode, and `@upsideos/evm-explorer-verify`
|
|
75
|
+
to submit a verification to an explorer.
|
|
76
|
+
|
|
77
|
+
## Notes
|
|
78
|
+
|
|
79
|
+
Parsed files are cached and frozen, because a published release never
|
|
80
|
+
changes.
|
|
81
|
+
|
|
82
|
+
The gem is published from tag `ruby@<version>` with RubyGems trusted
|
|
83
|
+
publishing, so every version is traceable to the workflow run that built
|
|
84
|
+
it.
|
|
85
|
+
|
|
86
|
+
## Development
|
|
87
|
+
|
|
88
|
+
`data/` is generated, not committed. Copy it out of the release
|
|
89
|
+
directories before you build or test:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
rake prepare
|
|
93
|
+
rake test
|
|
94
|
+
rake build
|
|
95
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"inputs":[{"internalType":"address","name":"contractAdmin_","type":"address"},{"internalType":"address","name":"reserveAdmin_","type":"address"},{"internalType":"address","name":"transferAdmin_","type":"address"},{"internalType":"address","name":"trustedForwarder_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"EasyAccessControl_AlreadyHasRole","type":"error"},{"inputs":[],"name":"EasyAccessControl_ArraysMustBeSameLength","type":"error"},{"inputs":[],"name":"EasyAccessControl_AtLeastOneContractAdminRequired","type":"error"},{"inputs":[],"name":"EasyAccessControl_CannotRevokeRole","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"EasyAccessControl_DoesNotHaveContractAdminRole","type":"error"},{"inputs":[],"name":"EasyAccessControl_InvalidRole","type":"error"},{"inputs":[],"name":"EasyAccessControl_InvalidZeroAddress","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"grantor","type":"address"},{"indexed":true,"internalType":"address","name":"grantee","type":"address"},{"indexed":false,"internalType":"uint8","name":"role","type":"uint8"},{"indexed":true,"internalType":"bool","name":"status","type":"bool"}],"name":"RoleChange","type":"event"},{"inputs":[],"name":"CONTRACT_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINT_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"RESERVE_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SOFT_BURN_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TRANSFER_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WALLETS_ADMIN_ROLE","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint8[]","name":"roles_","type":"uint8[]"}],"name":"batchGrantRoles","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint8[]","name":"roles_","type":"uint8[]"}],"name":"batchRevokeRoles","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractAdminCount","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint8","name":"role","type":"uint8"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint8","name":"role","type":"uint8"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"forwarder","type":"address"}],"name":"isTrustedForwarder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint8","name":"role","type":"uint8"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"roles","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trustedForwarder","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"inputs":[{"internalType":"address","name":"accessControl_","type":"address"},{"internalType":"address","name":"trustedForwarder_","type":"address"},{"internalType":"address","name":"restrictedLockupToken_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"EasyAccessControl_DoesNotHaveContractAdminRole","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"EasyAccessControl_DoesNotHaveContractOrTransferAdminRole","type":"error"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"EasyAccessControl_DoesNotHaveTransferAdminRole","type":"error"},{"inputs":[],"name":"EasyAccessControl_InvalidZeroAddress","type":"error"},{"inputs":[],"name":"EnforcedPause","type":"error"},{"inputs":[],"name":"ExpectedPause","type":"error"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"RecallablePayment_AllocationUnchanged","type":"error"},{"inputs":[],"name":"RecallablePayment_DistributionClaimingOpen","type":"error"},{"inputs":[],"name":"RecallablePayment_DistributionNotStarted","type":"error"},{"inputs":[],"name":"RecallablePayment_DistributionNotUnlocked","type":"error"},{"inputs":[],"name":"RecallablePayment_DividendsAlreadyClaimed","type":"error"},{"inputs":[],"name":"RecallablePayment_EmptyRecipients","type":"error"},{"inputs":[{"internalType":"uint256","name":"requested","type":"uint256"},{"internalType":"uint256","name":"available","type":"uint256"}],"name":"RecallablePayment_InsufficientDistributionFunds","type":"error"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"RecallablePayment_InvalidAmount","type":"error"},{"inputs":[],"name":"RecallablePayment_InvalidArrayLengths","type":"error"},{"inputs":[],"name":"RecallablePayment_InvalidFeeApplied","type":"error"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"RecallablePayment_InvalidRecipientAddress","type":"error"},{"inputs":[],"name":"RecallablePayment_InvalidReclaimerAddress","type":"error"},{"inputs":[],"name":"RecallablePayment_InvalidTimestamp","type":"error"},{"inputs":[],"name":"RecallablePayment_InvalidTokenAddress","type":"error"},{"inputs":[],"name":"RecallablePayment_InvalidTrustedForwarder","type":"error"},{"inputs":[],"name":"RecallablePayment_InvalidWalletAddress","type":"error"},{"inputs":[],"name":"RecallablePayment_NoAllocationsToFund","type":"error"},{"inputs":[],"name":"RecallablePayment_NoFundsToClaim","type":"error"},{"inputs":[],"name":"RecallablePayment_NoPositionToTransfer","type":"error"},{"inputs":[],"name":"RecallablePayment_NoRemainingUnclaimedBalance","type":"error"},{"inputs":[],"name":"RecallablePayment_NotEnoughFundsToClaim","type":"error"},{"inputs":[{"internalType":"uint256","name":"totalAllocated","type":"uint256"},{"internalType":"uint256","name":"totalFunds","type":"uint256"}],"name":"RecallablePayment_NotFullyFunded","type":"error"},{"inputs":[],"name":"RecallablePayment_ReclaimerAddressUnchanged","type":"error"},{"inputs":[],"name":"RecallablePayment_SameWallet","type":"error"},{"inputs":[{"internalType":"uint256","name":"provided","type":"uint256"},{"internalType":"uint256","name":"scheduled","type":"uint256"}],"name":"RecallablePayment_UnlockTimeConflict","type":"error"},{"inputs":[{"internalType":"uint256","name":"requested","type":"uint256"},{"internalType":"uint256","name":"current","type":"uint256"}],"name":"RecallablePayment_UnlockTimeNotApplicableAfterStart","type":"error"},{"inputs":[],"name":"ReentrancyGuardReentrantCall","type":"error"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"SafeERC20FailedOperation","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":true,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"address","name":"admin","type":"address"}],"name":"AllocationUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalAllocated","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"totalFunds","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unlockedAtTs","type":"uint256"}],"name":"DistributionStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"unlockedAtTs","type":"uint256"}],"name":"DistributionUnlockTimeUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"DividendClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"},{"indexed":true,"internalType":"address","name":"wallet","type":"address"},{"indexed":false,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"DividendForceClaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"uint256","name":"timestamp","type":"uint256"},{"indexed":true,"internalType":"address","name":"oldWallet","type":"address"},{"indexed":false,"internalType":"address","name":"newWallet","type":"address"},{"indexed":false,"internalType":"uint256","name":"allocatedAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"claimedAmount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"reclaimedAmount","type":"uint256"},{"indexed":false,"internalType":"address","name":"admin","type":"address"}],"name":"DividendForceTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payer","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"DividendFunded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"payee","type":"address"},{"indexed":true,"internalType":"address","name":"target","type":"address"},{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"timestamp","type":"uint256"}],"name":"DividendReclaimed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"admin","type":"address"},{"indexed":true,"internalType":"address","name":"previousReclaimer","type":"address"},{"indexed":true,"internalType":"address","name":"newReclaimer","type":"address"}],"name":"ReclaimerAddressChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"account","type":"address"}],"name":"Unpaused","type":"event"},{"inputs":[],"name":"accessControl","outputs":[{"internalType":"contract IAccessControl","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"recipient_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"allocatedBalanceAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256[]","name":"timestamps_","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts_","type":"uint256[]"}],"name":"batchClaimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"wallet_","type":"address"},{"internalType":"uint256[]","name":"timestamps_","type":"uint256[]"},{"internalType":"uint256[]","name":"amounts_","type":"uint256[]"}],"name":"batchForceClaimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"claimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"recipient_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"claimedBalanceAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"},{"internalType":"address[]","name":"recipients_","type":"address[]"},{"internalType":"uint256[]","name":"amounts_","type":"uint256[]"}],"name":"createDistribution","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"wallet_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"forceClaimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"},{"internalType":"address","name":"oldWallet_","type":"address"},{"internalType":"address","name":"newWallet_","type":"address"}],"name":"forceTransferDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"},{"internalType":"uint256","name":"timestamp_","type":"uint256"},{"internalType":"uint256","name":"unlockedAtTs_","type":"uint256"}],"name":"fundDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"fundDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"fundsAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"isClaimable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"isStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"forwarder","type":"address"}],"name":"isTrustedForwarder","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"shouldPause_","type":"bool"}],"name":"pause","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"targetAddress_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"reclaimDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"reclaimSurplus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"reclaimTotalDividend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"recipient_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"reclaimedBalanceAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reclaimerAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"restrictedLockupToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newReclaimerAddress","type":"address"}],"name":"setReclaimerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"},{"internalType":"uint256","name":"unlockedAtTs_","type":"uint256"}],"name":"setUnlockTime","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"tokensAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"totalAllocatedAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"recipient_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"totalAwardedBalanceAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"trustedForwarder","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"address","name":"recipient_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"unclaimedBalanceAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token_","type":"address"},{"internalType":"uint256","name":"timestamp_","type":"uint256"}],"name":"unlockTimeAt","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"artifacts":[{"abi":{"entryCount":24,"path":"abi/AccessControl.json","sha256":"ed41f01d223e1ffdc835190845027b4f74f0e213aebd4f70be3a8598eaf5facb"},"creationCode":{"length":3449,"sha256":"3c8cca55c42df290f924c0ea9fff5c223d0ffc5374ee7b5eb4332ea03c29a2fc"},"fullyQualifiedName":"contracts/AccessControl.sol:AccessControl","name":"AccessControl","reproduced":false,"runtimeCode":{"immutableReferences":{},"length":3449,"sha256":"3c8cca55c42df290f924c0ea9fff5c223d0ffc5374ee7b5eb4332ea03c29a2fc"}},{"abi":{"entryCount":77,"path":"abi/RecallablePayment.json","sha256":"e997c584b83b7f9780844ca25a7dd87ed57bdec93eae0e3b38dc760c5e9157a0"},"creationCode":{"length":8753,"sha256":"c4f46354c5efd584436069867362879a5f05da0404964ad2aa81d6b953f8a681"},"fullyQualifiedName":"contracts/RecallablePayment.sol:RecallablePayment","metadataHash":"0x12200cef6d866d37186ac90861f374b0df031b0b4dee55b92dd4b44ab3289af4cb6d","name":"RecallablePayment","reproduced":false,"runtimeCode":{"immutableReferences":{},"length":8753,"sha256":"c4f46354c5efd584436069867362879a5f05da0404964ad2aa81d6b953f8a681"}}],"audit":{"auditor":"Quantstamp","commit":"7cec846cdfd680f8416e22c00a267313a7c4970a","completedAt":"2026-07-10","reportSha256":"d29fc18607cfb426219159d8db42dd547b2ad4cf72514f0d9025a2a098243b16","status":"audited"},"build":{"compilerLongVersion":"0.8.28+commit.7893614a","kind":"solc-standard-json","standardJson":{"path":"verification-source-codes.json","sha256":"d2606c45b10f1fd629144e3d3080832d5b446eb369a7cf9b396ae7b6a8e8c24e"}},"callSurfaces":[],"chainFamily":"evm","releaseId":"evm/recallable_payment/v1.0.0","releasedAt":"2026-07-29","schemaVersion":"1.0","source":{"commit":"fcecf79c6941c211a83dfa996e0746c4d4f8f870"}}
|