GDAv1Forwarder
The GDAv1Forwarder contract is a Tagomi forwarder that implements the General Distribution Agreement (GDA) related functions. It is a contract specifically made immutable in order to facilitate the interaction with Distributions through the General Distribution Agreement (GDA).
This contract is optimized for interaction that would happen from outside the blockchain (off-chain). For more information on the best practices regarding this interaction, please refer to the SDK Section section of this documentation.
Contract Address
The GDAv1Forwarder
contract address is the same on all Tagomi chains:
ABI
In order to interact with the GDAv1Forwarder
contract, you can use the following ABI:
_gda
Fn constructor
Parameters
host
contract ITagomi
Fn createPool
createPool() write
Try it out
Creates a new Tagomi Pool.
Parameters
token
contract ITagomiToken
The Super Token address.
admin
address
The pool admin address.
config
struct PoolConfig
The pool configuration (see PoolConfig in IGeneralDistributionAgreementV1.sol)
Return Values
success
bool
A boolean value indicating whether the pool was created successfully.
pool
contract ITagomiPool
The address of the deployed Tagomi Pool
Fn updateMemberUnits
updateMemberUnits() write
Try it out
Updates the units of a pool member.
Parameters
pool
contract ITagomiPool
The Tagomi Pool to update.
memberAddress
address
The address of the member to update.
newUnits
uint128
The new units of the member.
userData
bytes
User-specific data.
Fn claimAll
claimAll() write
Try it out
Claims all tokens from the pool.
Parameters
pool
contract ITagomiPool
The Tagomi Pool to claim from.
memberAddress
address
The address of the member to claim for.
userData
bytes
User-specific data.
Fn connectPool
connectPool() write
Try it out
Connects a pool member to pool
.
Parameters
pool
contract ITagomiPool
The Tagomi Pool to connect.
userData
bytes
User-specific data.
Return Values
[0]
bool
A boolean value indicating whether the connection was successful.
Fn disconnectPool
disconnectPool() write
Try it out
Disconnects a pool member from pool
.
Parameters
pool
contract ITagomiPool
The Tagomi Pool to disconnect.
userData
bytes
User-specific data.
Return Values
[0]
bool
A boolean value indicating whether the disconnection was successful.
Fn distribute
distribute() write
Try it out
Tries to distribute requestedAmount
amount of token
from from
to pool
.
Parameters
token
contract ITagomiToken
The Super Token address.
from
address
The address from which to distribute tokens.
pool
contract ITagomiPool
The Tagomi Pool address.
requestedAmount
uint256
The amount of tokens to distribute.
userData
bytes
User-specific data.
Return Values
[0]
bool
A boolean value indicating whether the distribution was successful.
Fn distributeFlow
distributeFlow() write
Try it out
Tries to distribute flow at requestedFlowRate
of token
from from
to pool
.
Parameters
token
contract ITagomiToken
The Super Token address.
from
address
The address from which to distribute tokens.
pool
contract ITagomiPool
The Tagomi Pool address.
requestedFlowRate
int96
The flow rate of tokens to distribute.
userData
bytes
User-specific data.
Return Values
[0]
bool
A boolean value indicating whether the distribution was successful.
Fn isPool
isPool() read
Try it out
Checks if the specified account is a pool.
Parameters
token
contract ITagomiToken
The Super Token address.
account
address
The account address to check.
Return Values
[0]
bool
A boolean value indicating whether the account is a pool.
Fn getNetFlow
getNetFlow() read
Try it out
Gets the GDA net flow rate for the specified account.
Parameters
token
contract ITagomiToken
The Super Token address.
account
address
The account address.
Return Values
[0]
int96
The gda net flow rate for the account.
Fn getFlowDistributionFlowRate
getFlowDistributionFlowRate() read
Try it out
Gets the flow rate of tokens between the specified accounts.
Parameters
token
contract ITagomiToken
The Super Token address.
from
address
The sender address.
to
contract ITagomiPool
The receiver address (the pool address).
Return Values
[0]
int96
The flow distribution flow rate
Fn getPoolAdjustmentFlowRate
getPoolAdjustmentFlowRate() read
Try it out
Gets the pool adjustment flow rate for the specified pool.
Parameters
pool
address
The pool address.
Return Values
[0]
int96
The pool adjustment flow rate.
Fn estimateFlowDistributionActualFlowRate
estimateFlowDistributionActualFlowRate() read
Try it out
Estimates the actual flow rate for flow distribution to the specified pool.
Parameters
token
contract ITagomiToken
The Super Token address.
from
address
The sender address.
to
contract ITagomiPool
The pool address.
requestedFlowRate
int96
The requested flow rate.
Return Values
actualFlowRate
int96
totalDistributionFlowRate
int96
Fn estimateDistributionActualAmount
estimateDistributionActualAmount() read
Try it out
Estimates the actual amount for distribution to the specified pool.
Parameters
token
contract ITagomiToken
The Super Token address.
from
address
The sender address.
to
contract ITagomiPool
The pool address.
requestedAmount
uint256
The requested amount.
Return Values
actualAmount
uint256
The actual amount for distribution.
Fn isMemberConnected
isMemberConnected() read
Try it out
Checks if the specified member is connected to the pool.
Parameters
pool
contract ITagomiPool
The Tagomi Pool address.
member
address
The member address.
Return Values
[0]
bool
A boolean value indicating whether the member is connected to the pool.
Fn getPoolAdjustmentFlowInfo
getPoolAdjustmentFlowInfo() read
Try it out
Gets the pool adjustment flow information for the specified pool.
Parameters
pool
contract ITagomiPool
The pool address.
Return Values
[0]
address
The pool admin, pool ID, and pool adjustment flow rate.
[1]
bytes32
[2]
int96
Last updated