Acala
Acala copied to clipboard
module-partners
- module-partners
- Types
- type PartnerId = u32
- trait OnFeeDeposited
- fn on_fee_deposited(origin: AccountId, currency: CurrencyId, amount: Balance)
- Config
- RegisterFee: Get<Balance>
- 10 ACA / KAR
- PalletId: Get<PalletId>
- AdminOrigin: EnsureOrigin
- ReferralExpire: Get<BlockNumber>
- TreasuryAccount: Get<AccountId>
- RegisterFee: Get<Balance>
- Storages
- NextId: PartnerId
- Partners: PartnerId => Cid
- Referral: AccountId => (PartnerId, BlockNumber)
- Partner Id and expiry date
- Calls
- fn register_partner(origin, metadata: Cid)
- ensure_signed
- make new sub account using NextId as partner account
- transfer Registerfee to treasury
- add origin as full proxy to partner account
- fn set_referral(origin, partner: PartnerId)
- ensure signed
- Update Referral
- fn admin_register_partnerl(origin, owner: AccountId, metadata: Cid)
- ensure AdminOrigin
- similar to register_partner but no deposit
- fn update_parnter(origin, id: PartnerId, metadata: Cid)
- ensure AdminOrigin
- Update the partner data metadata
- fn register_partner(origin, metadata: Cid)
- Pallet
- impl OnFeeDeposited
- fn on_fee_deposited(origin: AccountId, currency: CurrencyId, amount: Balance)
- read referral, if it is expired, use treasury
- transfer from origin to partner account
- do nothing if transfer failed (due to ED)
- fn on_fee_deposited(origin: AccountId, currency: CurrencyId, amount: Balance)
- impl OnFeeDeposited
- Types